После полутора лет разработки увидел свет релиз медиапроигрывателя VLC 2.0.0. Новая версия примечательна переходом ядра плеера на лиценизю LGPL и реализацией большой порции значительных новшеств. В процессе подготовки новой версии внесено более 7 тысяч коммитов от 160 разработчиков, исправлено несколько сотен ошибок. В анонсе также отмечена статистика по загрузкам прошлой ветки VLC 1.1.x, выпуски которой были скачены в сумме 485 миллионов раз.
Ключевые изменения:
- Смена лицензии с GPLv2+ на LGPLv2.1 для библиотек libVLC и libVLCcore, составляющих основу медиаплеера VLC, а также для вспомогательных библиотек libdvbpsi, libaacs и libbluray. Смена лицензии позволит расширить область распространения технологий проекта VLC, так как теперь лицензия допускает связывание базовых библиотек с проприетарными продуктами и открытыми проектами, распространяемыми под лицензиями не совместимыми с GPL, без необходимость открытия подобных продуктов под лицензией GPL. Код остальных компонентов медиаплеера как и раньше распространяется под лицензией GPLv2+;
- Увеличена скорость декодирования за счёт распараллеливания операций на многоядерных CPU и задействования GPU;
- Расширен спектр поддерживаемых форматов, в том числе обеспечена поддержка профессиональных HD и 10-битных кодеков; Поддержка новых потоковых форматов: HLS (HTTP live streaming) и MPEG DASH (Dynamic Adaptive Streaming over HTTP). Поддержка новых файловых форматов: caf, mtv, awb, f4v, sid, amr, vro (DVD-VR), VDR, субтитров EBU subtitles (stl);
- Экспериментальная поддержка проигрывания дисков в формате Blu-Ray. Кроме базовых функций поддерживаются такие возможности, как навигация, парсинг списка воспроизведения, работа с меню и поддержка базы данных в формате BD-J. Разработана, но распространяется отдельно, также реализацией стандарта AACS (Advanced Access Content System), используемого для ограничения копирования оптических дисков (для проигрывания защищённых дисков Blu-Ray требуется наличие валидных ключей AACS);
- Полностью переработан пользовательский web-интерфейс. Новый однооконный интерфейс для платформы Mac OS X, с поддержкой подключения дополнений и улучшенной интеграцией с Mac OS X Lion. Улучшение удобства работы в интерфейсах для других платформ;
- Полностью переработан код, связанный с организацией вывода видео (поддерживается вывод через Direct3D, OpenGL и x11). Переработка привела к заметному увеличению качества вывода, возможности использования шейдеров OpenGL для выполнения преобразования YUV->RGB на стороне GPU;
- Большинство видеофильтров переписано с задействованием нового API, подразумевающего возможность транскодирования и потокового вывода;
- Значительно увеличено качество вывода субтитров;
- Переписан стек для работы с DVD;
- Реализована поддержка новых устройств захвата видео и звука, в том числе поддержка PulseAudio.
Остальные улучшения:
- Видео
- Поддержка методов вывода видео, специфичных для платформ Windows 7, Android, iOS и OS/2;
- Новые фильтры для подавления шума, борьбы с мерцанием, изменения зернистости (grain). Новый фильтр деинтерлейсига, использующих алгоритм обратного кинопроектора (Inverse Telecine);
- Задействование шейдеров для преобразования цветовых схем при выводе через OpenGL;
- Поддержка выполнения операций слияния субизображений на стороне GPU;
- Звук
- Новые модули для изменения частоты дескритизации (resamplers) для звука высокого качества;
- Новый фильтр Compressor, позволяющий сжимать динамические диапазоны;
- Новый фильтр для караоке;
- Упрощение кода ядра для работы со звуком с целью повышения производительности обработки звука;
- Поддержка вывода через звуковые интерфейсы платформ iOS, Android и OS/2;
- Форматы
- Поддержка многопоточного декодирования для форматов H.264, MPEG-4/Xvid и WebM;
- Поддержка 10-битных кодеков и изображений WMV;
- Переработан код работы с изображениями, в том числе с форматами jpeg, png, xcf и bmp;
- Важные улучшения в реализации поддержки RealVideo и Real Format;
- Возможность задействования плат-акселераторов CrystalHD и интерфейса Android OpenMAX для декодировании с аппаратным ускорением;
- Устройства ввода
- Поддержка в Linux карт захвата SDI и HD-SDI, а также устройств QTKit;
- Поддержка новых адаптивных протоколов потокового вещания, таких как HLS и DASH;
- Разное
- Новый кодировщик для кодека Dirac/VC-2, работающий значительно быстрее предыдущего;
- Расширена поддержка мета-данных (APE-теги, Ogg-теги, данные о позиции в flv, mxf и amr, обложки альбомов в wmv, asf и wma, параметры стилей шрифта для субтитров);
- Значительно улучшен демуксер (распаковщик медиаконтейнера) MKV. Обеспечена корректная поддержка FLAC, RV и Hi10p в MKV;
- Переписан код позиционирования в cue-файлах;
- Улучшена поддержка ASS-субтитров;
- Для разработчиков:
- Новый набор примеров для libVLC, в том числе примеры с реализацией аналогов медаиплеера, photobooth и mediainfo;
- Поддержка JSON API для контроля за работой VLC из web-интерфейса;
- Реализация интерфейса MPRIS2 для управления медиапллерами;
- Улучшена совместимость web-плагинов VLC с различными браузерами.