Библиотека кодеков
libavcodec — бесплатная библиотека кодеков с открытым исходным кодом [4] для кодирования и декодирования видео и аудио данных. [5]
libavcodec является неотъемлемой частью многих мультимедийных приложений и платформ с открытым исходным кодом. Популярные медиаплееры MPV , xine и VLC используют его в качестве основного встроенного механизма декодирования, который позволяет воспроизводить множество аудио- и видеоформатов на всех поддерживаемых платформах. Он также используется декодером пробных версий ffdshow в качестве основной библиотеки декодирования. libavcodec также используется в приложениях для редактирования и перекодирования видео, таких как Avidemux , MEncoder или Kdenlive, как для декодирования, так и для кодирования.
libavcodec содержит реализации декодера, а иногда и кодировщика нескольких проприетарных форматов, в том числе тех, для которых не было опубликовано общедоступных спецификаций. Таким образом, значительная часть усилий по обратному проектированию является частью разработки libavcodec. Наличие таких кодеков в стандартной структуре libavcodec дает ряд преимуществ по сравнению с использованием исходных кодеков, в первую очередь повышенную переносимость , а в некоторых случаях также лучшую производительность, поскольку libavcodec содержит стандартную библиотеку высокооптимизированных реализаций общих строительных блоков, таких как DCT и преобразование цветового пространства . Однако, хотя libavcodec действительно стремится добиться декодирования, которое является побитно точным в соответствии с их официальными реализациями формата, случайные ошибки и отсутствующие функции в таких повторных реализациях могут иногда создавать проблемы совместимости воспроизведения для определенных файлов.
Реализованные видеокодеки
libavcodec включает видеодекодеры и/или кодеры для следующих форматов, этот список не является исчерпывающим: [6]
- Анимированный GIF
- Формат видео Asus v1 и v2
- AVS (только декодирование, кодирование через libxavs)
- АВ1
- Формат CamStudio (только декодирование)
- CineForm (только декодирование)
- Синепак
- Creative YUV (CYUV, только декодирование)
- Дирак
- DNxHD
- Кодеки Duck Corporation Truemotion 1, 2 и RT (только декодирование)
- ФФВ1
- Flash Screen Video v1 и v2
- H.261
- H.262/MPEG-2, часть 2
- H.263
- H.264/MPEG-4 AVC (собственный декодер, кодирование через x264 и аппаратное кодирование)
- H.265 HEVC (собственный декодер, кодирование через x265 и аппаратное кодирование)
- Хаффьюв
- id Software RoQ Видео
- Indeo (только декодирование)
- Лагарит (только декодирование)
- MJPEG
- MPEG-1
- MPEG-4 Part 2 (формат, используемый, например, популярными кодеками DivX и Xvid )
- Apple ProRes
- QuickDraw (только декодирование)
- QuickTime : графика (только декодирование), видео (только декодирование) и анимация (RLE).
- RealVideo RV10 и RV20
- RealVideo RV30 и RV40 (только декодирование)
- SheerVideo (только декодирование)
- Видео Smacker (только декодирование)
- Снег
- Соренсон Спарк под названием FLV1
- SVQ1
- SVQ3 (только декодирование)
- Theora (родной декодер, кодирование через libtheora )
- TrueMotion v1 и v2 (только декодирование)
- VC-1 (только декодирование)
- Sierra VMD Video (только декодирование)
- VMware VMnc (только декодирование)
- VP3 (только декодирование)
- VP5 (только декодирование)
- VP6 (только декодирование)
- VP7 (только декодирование)
- VP8 (родной декодер, кодирование через libvpx )
- VP9 (родной декодер, кодирование через libvpx)
- VQA (только декодирование)
- VVC (родной декодер) [7]
- WMV версии 7 и 8
- WMV версии 9 (только декодирование)
- Видеоизображение Windows Media (только декодирование)
- Windows Media Video Screen 1 и 2 (только декодирование)
- Wing Commander /Xan Video (только декодирование)
Реализованные аудиокодеки
libavcodec включает декодеры и кодировщики для следующих форматов: [6]
Правовые аспекты
Libavcodec содержит более 100 кодеков, [8] большинство из которых не просто хранят несжатые данные. Большинство кодеков, сжимающих информацию, могут быть востребованы правообладателями патентов. [9] Такие претензии могут подлежать исполнению в таких странах, как США, которые внедрили патенты на программы , но считаются не имеющими исковой силы или недействительными в странах, которые не внедрили патенты на программы.
Более того, многие из этих кодеков выпускаются только на условиях, запрещающих обратное проектирование, даже в целях совместимости. Данные условия использования запрещены в некоторых странах. Например, некоторые страны Европейского Союза не реализовали патенты на программное обеспечение и имеют законы, прямо разрешающие обратное проектирование в целях обеспечения совместимости. [10]
Библиотеки, зависящие от libavcodec
- libavformat (часть FFmpeg )
- libgegl (необязательная часть GEGL )
- libmpcodecs (часть MPlayer )
- libmpdemux (часть MPlayer)
Приложения, использующие libavcodec
Видеоплееры
Аудиоплееры
- Audacious (Используется в ffaudio плагинов audacious)
- Rockbox (включает только код FLAC)
- ХММС2
Мультимедийные проигрыватели
Видеоредакторы
Аудио редакторы
- Смелость (начиная с версии 1.3.6)
- СоХ (опционально)
Видео конвертеры
Видео библиотеки
Авторинг оптических дисков
Графические библиотеки
редакторы 3D-графики
VoIP
Сервер потоковой передачи мультимедиа
Мультимедийные платформы
Библиотеки компьютерного зрения
Браузер
Медиа центр
Скриншот
Утилиты устройства
- BitPim — утилиты для CDMA-телефонов
Кабельное телевидение
- ZoneMinder – пакет безопасности для видеокамер
- Motion – программа безопасности/мониторинга видеокамер.
Игры
Другие
Рекомендации
- ^ [1]
- ^ «Скачать». ffmpeg.org . FFmpeg. Архивировано из оригинала 27 сентября 2013 г. Проверено 4 января 2012 г.
- ^ libavcodec можно настроить так, чтобы сделать его проприетарной и нераспространяемой библиотекой, поскольку некоторые дополнительные внешние библиотеки являются проприетарным программным обеспечением и не могут распространяться на условиях GPL (например, Decklink ).
- ^ «Лицензия Libav и юридические соображения» . libav.org. Архивировано из оригинала 15 мая 2021 г. Проверено 7 мая 2013 г.
- ^ libavcodec - AfterDawn: Глоссарий технологических терминов и сокращений, AfterDawn, 02 июля 2010 г., заархивировано из оригинала 14 февраля 2010 г. , получено 17 января 2012 г.
- ^ ab Общая документация, Ffmpeg.org, заархивировано из оригинала 17 июля 2019 г. , получено 5 мая 2021 г.
- ^ "git.ffmpeg.org Git - ffmpeg.git/commit" . git.ffmpeg.org . Проверено 03 января 2024 г.
- ^ «Список кодеков». ffmpeg.org. Архивировано из оригинала 29 июня 2014 г. Проверено 1 января 2012 г.
- ^ «Юридическая информация на сайте FFmpeg». ffmpeg.org. Архивировано из оригинала 18 сентября 2010 г. Проверено 4 января 2012 г.
- ^ Директива Совета 91/250/EEC от 14 мая 1991 г. о правовой защите компьютерных программ.
- ^ Вецковски, Адам; Леманн, Кристиан; Бросс, Бенджамин; Марпе, Детлев; Биатек, Тибо; Раулет, Микаэль; Жан Ле Февр (2021). «Полный комплексный набор инструментов с открытым исходным кодом для стандарта универсального кодирования видео (VVC)». Материалы 29-й Международной конференции ACM по мультимедиа . стр. 3795–3798. arXiv : 2107.13385 . дои : 10.1145/3474085.3478320. ISBN 9781450386517. S2CID 236469263.
- ^ Гамстер, Джейсон ван (13 апреля 2009 г.), Blender для чайников, Wiley, стр. 320, ИСБН 9780470471586, заархивировано из оригинала 14 марта 2022 г. , получено 17 января 2012 г.
- ^ Брадски, Гэри; Келер, Адриан (24 сентября 2008 г.), Изучение OpenCV: компьютерное зрение с помощью библиотеки OpenCV, «O'Reilly Media, Inc.», стр. 9, ISBN 9780596554040, заархивировано из оригинала 27 августа 2021 г. , получено 17 января 2012 г.
- ^ предложение подмножества Whatwg MPEG-1 для видеокодека HTML5, Lists.whatwg.org, заархивировано из оригинала 19 февраля 2012 г. , получено 17 января 2012 г.
- ^ «Исходный код Firefox Libavcodec» . Репозиторий исходного кода Firefox . Проверено 08 января 2024 г.
- ^ Руссо, Барбара; Дамиани, Эрнесто; Хиссам, Скотт; Лунделл, Бьёрн; Суччи, Джанкарло (17 июля 2008 г.), Разработка открытого исходного кода, сообщества и качество: 20-я Всемирная компьютерная конференция ИФИП, Springer, стр. 167, ISBN 9780387096834, заархивировано из оригинала 29 августа 2021 г. , получено 17 января 2012 г.
- ^ пульсаудио.git/tree - src/pulsecore/ffmpeg/, Git.0pointer.de, заархивировано из оригинала 13 июля 2012 г. , получено 17 января 2012 г.