В этой статье слишком много ссылок на первоисточники . ( Сентябрь 2019 г. ) ( Узнайте, как и когда удалить этот шаблон сообщения ) |
FFmpeg работает в Arch Linux | |
Автор (ы) оригинала | Фабрис Беллар |
---|---|
Разработчики) | Команда FFmpeg |
изначальный выпуск | 20 декабря 2000 г . [1] |
Стабильный выпуск | 4.3.2 (2 февраля 2021 г . [2] ) [±] |
Предварительный выпуск | Git [±] |
Репозиторий | git |
Написано в | C и сборка [3] |
Операционная система | Различные, включая Windows , macOS и Linux ( исполняемые программы доступны только у третьих лиц, поскольку проект распространяет только исходный код ) [4] [5] |
Платформа | x86 , ARM , PowerPC , MIPS , DEC Alpha , Blackfin , AVR32 , SH-4 и SPARC ; может быть скомпилирован для других настольных компьютеров |
Тип | Мультимедийный фреймворк |
Лицензия | LGPL 2.1+, GPL 2 + Не подлежит распространению, если скомпилирован с любым программным обеспечением с лицензией, несовместимой с GPL [6] |
Интернет сайт | ffmpeg .org |
FFmpeg - это бесплатный программный проект с открытым исходным кодом, состоящий из большого набора библиотек и программ для обработки видео, аудио и других мультимедийных файлов и потоков. В ее основе лежит сама программа FFmpeg, предназначенная для обработки видео и аудио файлов из командной строки . Он широко используется для перекодирования форматов , базового редактирования (обрезки и объединения ), масштабирования видео, эффектов постпроизводства видео и соответствия стандартам ( SMPTE , ITU ).
FFmpeg включает libavcodec , библиотеку аудио / видео кодеков, используемую многими коммерческими и бесплатными программными продуктами, libavformat (Lavf), [7] мультиплексор аудио / видео контейнера и библиотеку демультиплексора , а также основную программу командной строки ffmpeg для перекодирования мультимедийных файлов.
FFmpeg является частью рабочего процесса сотен других программных проектов, а его библиотеки являются основной частью программных медиаплееров, таких как VLC , и были включены в базовую обработку для YouTube и iTunes . Включены кодеки для кодирования и / или декодирования большинства форматов аудио и видео файлов, что делает его очень полезным для перекодирования обычных и необычных файлов мультимедиа в единый общий формат.
Название проекта навеяно группой стандартов видео MPEG вместе с «FF» для «быстрой перемотки вперед». [8] В логотипе используется зигзагообразный узор, который показывает, как видеокодеки MPEG обрабатывают энтропийное кодирование . [9]
FFmpeg публикуется под лицензией GNU Lesser General Public License 2.1+ или GNU General Public License 2+ (в зависимости от того, какие параметры включены). [10]
История [ править ]
Проект был начат Фабрисом Белларом [10] (под псевдонимом «Жерар Лантау») в 2000 году, а с 2004 по 2015 год его возглавлял Майкл Нидермайер. [11] Некоторые разработчики FFmpeg также были частью проекта MPlayer .
10 января 2014 года два сотрудника Google объявили, что с помощью нечеткого тестирования было исправлено более 1000 ошибок в FFmpeg за предыдущие два года . [12]
В январе 2018 года программа командной строки ffserver - давний компонент FFmpeg - была удалена. [13] Разработчики ранее не рекомендовали программу, ссылаясь на большие усилия по обслуживанию из-за использования в ней внутренних интерфейсов прикладного программирования . [14]
Проект выпускает новый релиз в среднем каждые три месяца. Хотя версии выпуска доступны для загрузки на веб-сайте, разработчики FFmpeg рекомендуют пользователям компилировать программное обеспечение из исходного кода, используя последнюю сборку из их системы контроля версий Git исходного кода . [15]
История кодеков [ править ]
На данный момент в рамках проекта FFmpeg созданы два формата кодирования видео с соответствующими кодеками и один формат контейнера . Два видеокодека - это FFV1 без потерь и кодек Snow без потерь и с потерями. Разработка Snow застопорилась, а его формат битового потока еще не завершен, что делает его экспериментальным с 2011 года. Формат мультимедийных контейнеров под названием NUT больше не разрабатывается, но все еще поддерживается. [16]
Летом 2010 года Фиона Глейзер, Рональд Бултье и Дэвид Конрад из команды FFmpeg анонсировали декодер ffvp8. В ходе тестирования они определили, что ffvp8 был быстрее, чем собственный декодер libvpx от Google . [17] [18] Начиная с версии 0.6, FFmpeg также поддерживает WebM и VP8 . [19]
В октябре 2013 года в FFmpeg были добавлены собственный VP9 [20] и декодер OpenHEVC, декодер с открытым исходным кодом High Efficiency Video Coding (HEVC). [21] В 2016 году встроенный кодировщик AAC был признан стабильным, что лишило VisualOn и FAAC поддержки двух внешних кодировщиков AAC . FFmpeg 3.0 (по прозвищу «Эйнштейн» ) сохранил поддержку сборки для кодировщика Fraunhofer FDK AAC . [22] Начиная с версии 3.4 "Cantor" FFmpeg поддерживает формат изображения FITS . [23] С ноября 2018 г. в версии 4.1 "аль-Хорезми" AV1может быть мультиплексирован в MP4 и Matroska, вкл. WebM . [24] [25]
Вилки [ править ]
13 марта 2011 года группа разработчиков FFmpeg решила форкнуть проект под названием « Libav ». [26] [27] [28] Мероприятие было связано с проблемой управления проектами, в которой разработчики не согласились с руководством FFmpeg. [29] [30] [31]
Компоненты [ править ]
Инструменты командной строки [ править ]
- ffmpeg - это инструмент командной строки, который конвертирует аудио- или видеоформаты. Он также может захватывать и кодировать в реальном времени из различных аппаратных и программных источников [32], таких как карта видеозахвата.
- ffplay - это простой медиаплеер, использующий библиотеки SDL и FFmpeg.
- ffprobe - это инструмент командной строки для отображения мультимедийной информации (текст, CSV , XML , JSON ), см. также Mediainfo .
Библиотеки [ править ]
- libswresample - это библиотека, содержащая процедуры передискретизации звука .
- libavresample - это библиотека, содержащая процедуры передискретизации звука из проекта Libav , аналогичные libswresample из ffmpeg .
- libavcodec - это библиотека, содержащая все встроенные кодировщики и декодеры аудио / видео FFmpeg. Большинство кодеков были разработаны с нуля, чтобы обеспечить лучшую производительность и высокую возможность повторного использования кода.
- libavformat (Lavf) [7] - это библиотека, содержащая демультиплексоры и мультиплексоры для форматов контейнеров аудио / видео.
- libavutil - это вспомогательная библиотека, содержащая процедуры, общие для различных частей FFmpeg. Эта библиотека включает хэш-функции ( Adler-32 , CRC , MD5 , RIPEMD , SHA-1 . SHA-2 , MurmurHash 3, HMAC MD-5, HMAC SHA-1 и HMAC SHA-2), шифры ( DES , RC4 , AES , AES-CTR, TEA , XTEA , Blowfish , CAST-128 , Twofish и Camellia ), декомпрессор LZO и Base64 кодировщик / декодер.
- libpostproc - это библиотека, содержащая старые подпрограммы постобработки видео на основе h263 .
- libswscale это библиотека , содержащие видео масштабирования изображения и цветовое пространство / PixelFormat процедуру преобразования.
- libavfilter - это заменитель vhook, который позволяет изменять или проверять видео / аудио между декодером и кодировщиком. Фильтры были перенесены из многих проектов, включая MPlayer и avisynth .
Поддерживаемое оборудование [ править ]
CPU [ править ]
FFmpeg включает в себя программные реализации алгоритмов сжатия и распаковки видео и аудио. Их можно скомпилировать и запустить с использованием различных наборов инструкций.
FFmpeg поддерживает многие распространенные наборы инструкций , включая x86 ( IA-32 и x86-64 ), PPC ( PowerPC ), ARM , DEC Alpha , SPARC и MIPS . [33]
Оборудование специального назначения [ править ]
Существуют различные специализированные интегральные схемы (ASIC), относящиеся к сжатию и декомпрессии видео и аудио. Такие ASIC могут частично или полностью выполнять вычисления для декомпрессии или сжатия аудио / видео, чтобы разгрузить их от центрального процессора. Чтобы использовать такую ASIC, вместо полной реализации какого-либо алгоритма требуется только API . Доступно множество ASIC и API, некоторые из которых поддерживаются FFmpeg. [34]
Твердый | ASIC | цель | поддерживается FFmpeg | Подробности |
---|---|---|---|---|
AMD | УВД | расшифровка | ✓ | через VDPAU API и VAAPI |
VCE | кодирование | ✓ | через VAAPI , считается экспериментальным [35] | |
Amlogic | Amlogic Video Engine | расшифровка | ? | |
Черная магия | DeckLink | кодирование / декодирование | ✓ | захват и воспроизведение в реальном времени |
Broadcom | Кристалл HD | расшифровка | ✓ | |
Qualcomm | Шестиугольник | кодирование / декодирование | ✓ | hwaccel [36] |
Intel | Intel Clear Video | расшифровка | ✓ | |
Intel Quick Sync видео | кодирование / декодирование | ✓ | ||
Nvidia | PureVideo / NVDEC | расшифровка | ✓ | через API VDPAU начиная с FFmpeg v1.2 (устарело) через CUVID API начиная с FFmpeg v3.1 [37] |
NVENC | кодирование | ✓ | начиная с FFmpeg v2.6 |
Используйте с утилитой FFmpeg [ править ]
Декодирование с внутренним аппаратным ускорением включается через -hwaccel
опцию. Он начинает декодирование нормально, но если декодируемый поток обнаруживается аппаратными средствами, тогда декодер назначает всю значительную обработку этому оборудованию, тем самым ускоряя процесс декодирования. В то время как, если декодируемые потоки не обнаружены (как это происходит с неподдерживаемым кодеком или профилем), аппаратное ускорение будет пропущено, и оно все равно будет декодироваться программно. -hwaccel_device
Опция применяется, когда аппаратному обеспечению для работы требуется определенное устройство, особенно если доступно несколько графических карт. [ необходима цитата ]
Поддерживаемые кодеки и форматы [ править ]
Форматы изображений [ править ]
FFmpeg поддерживает множество распространенных и некоторые необычные форматы изображений.
В Формат изображения PGMYUV является доморощенным вариантом двоичного (P5) формата PGM Netpbm . FFmpeg также поддерживает 16-битную глубину форматов PGM и PPM и двоичный (P7) формат PAM с альфа-каналом или без него, глубина 8 или 16 бит для pix_fmts
моноблоков, серый, gray16be, rgb24, rgb48be, ya8, rgba, rgb64be. .
Поддерживаемые форматы [ править ]
Помимо форматов FFV1 и Snow, которые были созданы и разработаны из FFmpeg, проект также поддерживает следующие форматы:
Группа | Тип формата | Название формата |
---|---|---|
ИСО / МЭК / МСЭ-Т | видео | MPEG-1, часть 2 , H.261 (Px64), [38] H.262 / MPEG-2, часть 2 , H.263 , [38] MPEG-4, часть 2 , H.264 / MPEG-4 AVC , HEVC / H.265 [21] (MPEG-H, часть 2), MPEG-4 VCB (также известный как VP8), Motion JPEG , видео IEC DV и CD + G |
Аудио | MP1 , MP2 , MP3 , AAC , HE-AAC , MPEG-4 ALS , G.711 μ-law, G.711 A-law, G.721 (также известный как G.726 32k), G.722 , G.722.2 ( он же AMR-WB), G.723 (он же G.726 24k и 40k), G.723.1 , G.726 , G.729 , G.729D , аудио IEC DV и прямая потоковая передача | |
Подзаголовок | Синхронизированный текст MPEG-4 (также известный как синхронизированный текст 3GPP) | |
Изображение | JPEG , JPEG без потерь , JPEG-LS , JPEG 2000 , PNG , CCITT G3 и CCITT G4 | |
Альянс открытых СМИ | видео | AV1 [39] |
ОВОС | Подзаголовок | EIA-608 |
CEA | Подзаголовок | CEA-708 |
SMPTE | видео | SMPTE 314M (он же DVCAM и DVCPRO ), SMPTE 370M (он же DVCPRO HD ), VC-1 (он же WMV3), VC-2 (он же Dirac Pro), VC-3 (он же AVID DNxHD ) |
Аудио | SMPTE 302M | |
Изображение | DPX | |
ATSC / ETSI / DVB | Аудио | Полная скорость (GSM 06.10), AC-3 ( Dolby Digital ), Enhanced AC-3 ( Dolby Digital Plus ) и когерентная акустика DTS (также известная как DTS или DCA) |
Подзаголовок | Субтитры DVB (ETSI 300 743) | |
DVD Форум / Dolby | Аудио | MLP / Dolby TrueHD |
Подзаголовок | Субтитры DVD-Video | |
Xperi / DTS, Inc / QDesign | Аудио | DTS Coherent Acoustics (он же DTS или DCA), DTS Extended Surround (он же DTS-ES), DTS 96/24 , DTS-HD High Resolution Audio , DTS Express (он же DTS-HD LBR), DTS-HD Master Audio , QDesign Music Кодек 1 и 2 |
Ассоциация дисков Blu-ray | Подзаголовок | PGS (презентационный графический поток) |
3GPP | Аудио | AMR-NB , AMR-WB (также известный как G.722.2) |
3GPP2 | Аудио | QCELP -8 (он же SmartRate или IS-96C), QCELP-13 (он же PureVoice или IS-733) и кодек с расширенной переменной скоростью (EVRC. Он же IS-127) |
Консорциум World Wide Web | видео | Анимированный GIF |
Подзаголовок | WebVTT | |
Изображение | GIF и SVG (через librsvg ) | |
IETF | Аудио | iLBC (через libilbc), Opus и Comfort noise |
Международная голосовая ассоциация | Аудио | DSS-SP |
SAC | видео | Видео AVS, видео AVS2 (через libdavs2) и видео AVS3 (через libuavs3d) |
Microsoft | видео | Microsoft RLE , Microsoft Video 1 , Cinepak , Microsoft MPEG-4 v1, v2 и v3, Windows Media Video (WMV1, WMV2, WMV3 / VC-1 ), экран WMV и кодек Mimic |
Аудио | Windows Media Audio (WMA1, WMA2, WMA Pro и WMA Lossless), XMA (XMA1 и XMA2), MS-GSM и MS-ADPCM | |
Подзаголовок | САМИ | |
Изображение | Windows Bitmap , WMV Изображение (WMV9 изображения и WMV9 Image v2), DirectDraw Surface , и MSP | |
Интерактивная мультимедийная ассоциация | Аудио | IMA ADPCM |
Intel / Digital Video Interactive | видео | RTV 2.1 ( Indeo 2), Indeo 3, 4 и 5, [38] и Intel H.263 |
Аудио | DVI4 (также известный как IMA DVI ADPCM), Intel Music Coder и Indeo Audio Coder | |
RealNetworks | видео | RealVideo Fractal Codec (также известный как Iterated Systems ClearVideo), 1, 2, 3 и 4 |
Аудио | RealAudio v1 - v10 | |
Подзаголовок | RealText | |
Apple / Spruce Technologies | видео | Cinepak (Apple Compact Video), ProRes , Кодек Sorenson 3 , QuickTime Animation (Apple Animation), QuickTime Graphics (Apple Graphics), Apple Video , Apple Intermediate Codec и Pixlet |
Аудио | ALAC | |
Изображение | QuickDraw PICT | |
Подзаголовок | Подзаголовок ели (STL) | |
Adobe Flash Player (SWF) | видео | Экранное видео, Экранное видео 2, Sorenson Spark и VP6 |
Аудио | Adobe SWF ADPCM и Nellymoser Asao | |
Adobe / Aldus | Изображение | TIFF , PSD и DNG |
Xiph.Org | видео | Теора |
Аудио | Speex (через libspeex ), Vorbis , Opus и FLAC | |
Подзаголовок | Ogg Writ | |
Sony | Аудио | Акустическое кодирование с адаптивным преобразованием (ATRAC1, ATRAC3, ATRAC3Plus и ATRAC9) [38] [40] и PSX ADPCM |
NTT | Аудио | TwinVQ |
Google / On2 / GIPS | видео | Duck TrueMotion 1, Duck TrueMotion 2, Duck TrueMotion 2.0 в реальном времени, VP3 , VP4 , VP5 , [38] VP6 , [38] VP7 , VP8 , VP9 [20] и анимированный WebP |
Аудио | DK ADPCM Audio 3/4 , On2 AVC и iLBC (через libilbc) | |
Изображение | WebP | |
Epic Games / Игровые инструменты RAD | видео | Видео Smacker и видео Bink |
Аудио | Bink audio | |
ПО промежуточного слоя CRI | Аудио | ADX ADPCM и HCA |
Nintendo / NERD | видео | Видео Mobiclip |
Аудио | GCADPCM (также известный как ADPCM THP), FastAudio и ADPCM IMA MOFLEX | |
DSP Group | Аудио | Правдивая речь |
Electronic Arts / Criterion Games / Black Box Games | видео | RenderWare TXD, [41] Madcow, CMV, TGV, TGQ, TQI, Midivid VQ (MVDV), MidiVid 3.0 (MV30) и Midivid Archival (MVHA) |
Аудио | Electronic Arts ADPCM варианты | |
Netpbm | Изображение | PBM, PGM, PPM, PNM, PAM и PFM |
Консорциум MIT / X / Открытая группа | Изображение | XBM , XPM и xwd |
HPE / SGI / Silicon Graphics | видео | Silicon Graphics RLE 8-битное видео, Silicon Graphics MVC1 / 2 |
Изображение | Изображение Silicon Graphics | |
Oracle / Sun Microsystems | Изображение | Растр Солнца |
IBM | видео | IBM UltiMotion |
Avid Technology / Truevision | видео | Avid 1: 1x, Avid Meridien, Avid DNxHD и DNxHR |
Изображение | Targa | |
Autodesk / Псевдоним | видео | Кодек Autodesk Animator Studio и FLIC |
Изображение | Псевдоним PIX | |
Grass Valley / Canopus | видео | HQ, HQA, HQX и Lossless |
Визрт / NewTek | видео | SpeedHQ |
Фонд программного обеспечения Академии / ILM | Изображение | OpenEXR |
Mozilla Corporation | видео | APNG |
Matrox | видео | Matrox без сжатия SD (M101) / HD (M102) |
AMD / ATI | видео | ATI VCR1 / VCR2 |
Asus | видео | Кодек ASUS V1 / V2 |
Коммодор | видео | CDXL кодек |
Kodak | Изображение | CD с фотографиями |
Blackmagic Design / Cintel | Изображение | Cintel RAW |
Houghton Mifflin Harcourt / The Learning Company / ZSoft Corporation | Изображение | PCX |
Австралийский национальный университет | Изображение | X-Face |
Специальная группа по интересам Bluetooth | Аудио | SBC и mSBC |
Qualcomm / CSR | Аудио | QCELP , aptX и aptX HD |
Муксеры [ править ]
Форматы вывода (форматы контейнеров и другие способы создания потоков вывода) в FFmpeg называются «мультиплексорами». FFmpeg поддерживает, среди прочего, следующее:
- AIFF
- АЧС
- AVI, а также ввод из AviSynth
- BFI [42]
- CAF
- FLV
- Гифка
- GXF , общий формат обмена, SMPTE 360M
- HLS , HTTP Live Streaming
- МКФ [43]
- Базовый формат медиафайлов ISO (включая QuickTime , 3GP и MP4 )
- Матроска (включая WebM )
- Maxis XA [44]
- MPEG-DASH [45]
- Программный поток MPEG
- Транспортный поток MPEG (включая AVCHD )
- MXF , формат обмена материалами, SMPTE 377M
- Поток с веб-камеры MSN [46]
- ГАЙКА [16]
- Ogg
- OMA [47]
- RL2 [48]
- Сегмент, для создания сегментированных видеопотоков
- Гладкая потоковая передача
- TXD [41]
- WTV
Форматы пикселей [ править ]
FFmpeg поддерживает множество форматов пикселей. [49] Некоторые из этих форматов поддерживаются только как входные форматы. Команда ffmpeg -pix_fmts
предоставляет список поддерживаемых форматов пикселей.
Тип | Цвет | Упакованы | Планарный | Палитра | |||
---|---|---|---|---|---|---|---|
Без альфы | С альфа | Без альфы | С альфа | С чередованием цветности | С альфа | ||
Монохромный | Двоичный (1-битный монохромный) | монобелый, монобелый | - | - | - | - | - |
Оттенки серого | 8/9/10/12/14/16 бит на пиксель | - | - | 16/32 бит на пиксель | - | - | |
RGB | RGB 1: 2: 1 (4-битный цвет) | 4bpp | - | - | - | - | - |
RGB 3: 3: 2 ( 8-битный цвет ) | 8bpp | - | - | - | - | - | |
RGB 5: 5: 5 ( высокий цвет ) | 16 бит на пиксель | - | - | - | - | - | |
RGB 5: 6: 5 (высокий цвет) | 16 бит на пиксель | - | - | - | - | - | |
RGB / BGR | 24/30 [p 1] / 48bpp | 32 [p 2] / 64 бит на пиксель | - | - | - | 8 бит-> 32 бит на пиксель | |
GBR [стр. 3] | - | - | 8/9/10/12/14/16 бит на канал | 8/10/12/16 бит на канал | - | - | |
RGB поплавок | GBR | - | - | 32bpc | 32bpc | - | - |
YUV | ЯВУ 4: 1: 0 | - | - | (9bpp (YVU9)) [стр. 4] | - | - | - |
ЮВ 4: 1: 0 | - | - | 9bpp | - | - | - | |
ЮВ 4: 1: 1 | 8bpc (UYYVYY) | - | 8bpc | - | (8 бит на канал (NV11)) | - | |
ЯВУ 4: 2: 0 | - | - | (8bpc (YV12)) [стр. 4] | - | 8 (NV21) | - | |
ЮВ 4: 2: 0 | - | - | 8 [стр. 5] / 9/10/12/14/16 бит на канал | 8/9/10/16 бит на канал | 8 (NV12) / 10 (P010) / 16 бит на канал (P016) | - | |
YVU 4: 2: 2 | - | - | (8bpc (YV16)) [стр. 4] | - | (8 бит на канал (NV61)) | - | |
YUV 4: 2: 2 | 8bpc (YUYV [стр. 6] и UYVY) [стр. 7] | - | 8 [стр. 8] / 9/10/12/14/16 бит на канал | 8/9/10/12/16 бит на канал | 8 (NV16) / 10 бит / канал (NV20, также известный как P210) [стр. 9] | - | |
ЮВ 4: 4: 0 | - | - | 8/10 / 12бит / канал | - | - | - | |
YVU 4: 4: 4 | - | - | (8bpc (YV24)) [стр. 4] | - | 8 бит на канал (NV42) | - | |
YUV 4: 4: 4 | (10 (Y410) и 16 бит / канал (Y416)) | 16 бит на канал [стр. 10] | 8 [стр. 11] / 9/10/12/14/16 бит на канал | 8/9/10/12/16 бит на канал | 8 бит на канал (NV24) | - | |
XYZ | XYZ 4: 4: 4 [стр. 12] | 12bpc | - | - | - | - | - |
Байер | BGGR / RGGB / GBRG / GRBG | 8/16 бит на пиксель | - | - | - | - | - |
- ^ 10-битные компоненты цвета с 2-битным заполнением (X2RGB10)
- ^ RGBx (rgb0) и xBGR (0bgr) также поддерживаются
- ^ используется в кодеках, ориентированных на YUV, таких как H.264
- ^ a b c d YVU9, YV12, YV16 и YV24 поддерживаются как кодек rawvideo в FFmpeg.
- ^ I420 он же YUV420P
- ^ aka YUY2 в Windows
- ^ Y210 (YUYV 10bpc) не поддерживается. UYVY 10bpc без заполнения поддерживается как битовый кодек в FFmpeg. UYVY 10bpc с 2-битным заполнением поддерживается каккодек v210 в FFmpeg. 16bpc (Y216) поддерживается каккодек targa_y216 в FFmpeg.
- ^ I422 он же YUV422P
- ^ 16bpc (P216) не поддерживается
- ^ 8bpc (AYUV) не поддерживается
- ^ I444 он же YUV444P
- ^ используется в JPEG2000
FFmpeg не поддерживает IMC1-IMC4, AI44, CYMK, RGBE , Log RGB и другие форматы. Он также еще не поддерживает ARGB 1: 5: 5: 5 , 2: 10: 10: 10 или другие форматы битовых полей BMP , которые обычно не используются.
Поддерживаемые протоколы [ править ]
Открытые стандарты [ править ]
- RFC IETF :
- FTP
- Суслик
- HLS
- HTTP
- HTTPS
- RTP
- RTSP
- SCTP
- SDP
- SRTP
- TCP
- TLS
- SRT
- UDP
- UDP-Lite
- IETF I-D : [50]
- SFTP (через libssh)
- Microsoft OSP :
- CIFS / SMB (через libsmbclient)
- MMS через TCP (MS-MMSP)
- MMS через HTTP (MS-WMSP)
- CENELEC
- SAT> IP
Стандарты де-факто [ править ]
- RTSP через TLS [51] [52]
- Протокол Icecast
- Adobe RTMP , RTMPT, RTMPE, RTMPTE и RTMPS
- RealMedia RTSP / RDT
Поддерживаемые фильтры [ править ]
FFmpeg поддерживает, среди прочего, следующие фильтры. [53]
Аудио [ править ]
- Передискретизация (aresample)
- Фильтры Pass / Stop
- Фильтр нижних частот (lowpass)
- Фильтр высоких частот (highpass)
- Всепроходный фильтр (allpass)
- Полосовой фильтр Баттерворта (полосовой)
- Полосовой фильтр Баттерворта (Bandreject)
- Фильтр произвольной конечной импульсной характеристики (AFIR)
- Фильтр произвольной бесконечной импульсной характеристики (aiir)
- Эквалайзер
- Peak Equalizer (эквалайзер)
- Многополосный эквалайзер Баттерворта / Чебышева типа I / типа II (эквалайзер)
- Фильтр Low Shelving (бас)
- Фильтр High Shelving (тройной)
- Xbox 360 rqulizer
- КИХ-эквалайзер (эквалайзер)
- Биквадратный фильтр (биквадратный)
- Удалить / добавить смещение постоянного тока (dcshift)
- Оценка выражения
- Оценка выражения во временной области (aeval)
- Оценка выражения в частотной области (afftfilt)
- Динамика
- Лимитер (алимитер)
- Компрессор (компрессор)
- Расширитель динамического диапазона (кристаллизатор)
- Компрессор боковой цепи ( сжатие боковой цепи)
- Компандер (COMPAND)
- Шумовые ворота (агат)
- Сайдчейн Noise gate (сайдчейнгейт)
- Искажение
- Bitcrusher (Крашер)
- Акцент (акцент)
- Усилить / Нормализатор
- Объем (объем)
- Динамический нормализатор звука (dynaudnorm)
- Нормализатор громкости EBU R 128 (Loudnorm)
- Модуляция
- Синусоидальная амплитудная модуляция (тремоло)
- Синусоидальная фазовая модуляция (вибрато)
- Фазер (афазер)
- Хор (припев)
- Флэнджер (флэнджер)
- Пульсатор (апульсатор)
- Эхо / реверберация
- Эхо (эхо)
- Маршрутизация / панорамирование
- Стерео расширение (стерео)
- Увеличение разницы каналов (extrastereo)
- От M / S до L / R (стереоинструменты)
- Отображение каналов (карта каналов)
- Разделение каналов (разделение каналов)
- Панорамирование канала (панорамирование)
- Объединение каналов (объединение)
- Присоединение к каналу (присоединение)
- для наушников
- Стерео в бинауральное (ушная сера, перенесена из SoX) [54]
- Bauer Stereo в бинауральный (bs2b, через libbs2b)
- Crossfeed ( перекрестная подача )
- Многоканальный на бинауральный (софализатор, требуется libnetcdf)
- Задерживать
- Задержка (аделей)
- Задержка по расстоянию (задержка компенсации)
- Тускнеть
- Фейдер (афаде)
- Кроссфейдер (acrossfade)
- Аудио временная шкала / изменение высоты тона
- Растяжение времени (atempo)
- Растягивание по времени и сдвиг высоты тона (резиновая лента, через librubberband)
- Редактирование
- Обрезка (атрим)
- Тишина-обивка (апад)
- Средство для снятия тишины (Silenceremove)
- Показать информацию о кадре / канале
- Показать информацию о кадре (ashowinfo)
- Показать информацию о канале (астатс)
- Показать диапазоны тишины (тишина)
- Показать громкость звука (определение громкости)
- Сканер ReplayGain (повтор)
- Изменить информацию о кадре / канале
- Установить выходной формат (aformat)
- Установить количество образцов (asetnsamples)
- Установить частоту дискретизации (asetrate)
- Смеситель (amix)
- Синхронизация (асинхронность)
- Декодер данных HDCD (hdcd)
- Плагины
- LADSPA (LADSPA)
- LV2 (уровень 2)
- Ничего не делать (anull)
Видео [ править ]
- Трансформации
- Обрезка ( обрезка , обнаружение урожая)
- Затухание (затухание)
- Масштабирование (масштаб)
- Прокладка (подушечка)
- Вращение (поворот)
- Транспонирование (транспонирование)
- Другие:
- Коррекция линз (линзокоррекция)
- Фильтрация OpenCV (ocv)
- Коррекция перспективы (перспектива)
- Временное редактирование
- Частота кадров (кадров в секунду, частота кадров)
- Зацикливание (петля)
- Обрезка (обрезка)
- Деинтерлейсинг (bwdif, idet, kerndeint, nnedi, yadif, w3fdif)
- Фильтрация
- Размытие (boxblur, gblur, avgblur, sab, smartblur)
- Фильтры свертки
- Свертка (свертка)
- Обнаружение края (edgedetect)
- Фильтр Собеля (Sobel)
- Prewitt фильтр (prewitt)
- Нерезкое маскирование (нерезкое)
- Снижение шума (atadenoise, bitplanenoise, dctdnoiz, owdenoise, removegrain)
- Удаление логотипа (delogo, removelogo)
- Субтитры ( ASS , субтитры)
- Редактирование альфа- канала (alphaextract, alphamerge)
- Кейинг (хромакей, колоркей, люмакей)
- Обнаружение кадра
- Обнаружение черного кадра (blackdetect, blackframe)
- Выбор эскиза (эскиз)
- Наложение кадров (смешение, смешение, наложение)
- Стабилизация видео (видстабдетект, видстабтрансформ)
- Регулировка цвета и уровня
- Баланс и уровни (цветовой баланс, цветовые уровни)
- Смешивание каналов (colorchannelmixer)
- Цветовое пространство (цветовое пространство)
- Параметрические настройки (кривые, экв.)
- Гистограммы и визуализация
- CIE Scope (ciescope)
- Вектороскоп ( вектороскоп )
- Монитор формы волны (форма волны)
- Цветовая гистограмма (гистограмма)
- Рисунок
- OCR
- Меры качества
- SSIM (ssim)
- PSNR (psnr)
- Таблицы поиска
- lut, lutrgb, lutyuv, lut2, lut3d, haldclut
Поддерживаемые форматы LUT [ править ]
- формат LUT cineSpace
- Куб Ириды
- Adobe After Effects 3dl
- DaVinci Resolve dat
- Пандора m3d
Приложения [ править ]
Правовые аспекты [ править ]
FFmpeg содержит более 100 кодеков [55], в большинстве из которых используются те или иные методы сжатия. Многие такие методы сжатия могут быть предметом судебных исков, связанных с патентами на программное обеспечение . [56] Такие иски могут иметь исковую силу в таких странах, как США, которые внедрили патенты на программное обеспечение, но считаются не имеющими исковой силы или недействительными, например, в странах-членах Европейского Союза . [ необходима цитата ] Срок действия патентов на многие старые кодеки, включая AC3 и все кодеки MPEG-1 и MPEG-2, истек. [ необходима цитата ]
FFmpeg лицензируется по лицензии LGPL, однако, если конкретная сборка FFmpeg связана с любыми библиотеками GPL (особенно x264 ), то весь двоичный файл будет лицензироваться по GPL.
Проекты, использующие FFmpeg [ править ]
FFmpeg используется программное обеспечение , такие как VLC медиа - плеер , Xine , Shotcut , Cinelerra-Г.Г. видео редактор , Plex , Коди , блендер , HandBrake , YouTube , [57] VirtualDub2, A VirtualDub вилка, [58] и МРС-НС ; [59] он обрабатывает воспроизведение видео и аудио в Google Chrome , [59] и версии Firefox для Linux. [60] Графический пользовательский интерфейс передние концы для FFmpeg были разработаны, в том числеXMedia Recode .
FFmpeg используется ffdshow , LAV Filters, подключаемым модулем GStreamer FFmpeg , Perian , OpenMAX IL и FFmpegInterop для расширения возможностей кодирования и декодирования соответствующей мультимедийной платформы.
В рамках миссии НАСА на Марс 2020 FFmpeg используется марсоходом Perseverance на Марсе для сжатия изображений и видео перед отправкой обратно на Землю. [61]
См. Также [ править ]
- MEncoder , аналогичный проект
- Список кодеков с открытым исходным кодом
Ссылки [ править ]
- ^ «Первоначальная редакция - git.videolan.org/ffmpeg.git/commit» . git.videolan.org. 2000-12-20. Архивировано из оригинала на 2013-12-25 . Проверено 11 мая 2013 .
- ^ "версия 4.3.2" . FFmpeg Git . 2021-02-02 . Проверено 16 февраля 2021 .
- ^ «Документация разработчика» . ffmpeg.org. 2011-12-08 . Проверено 4 января 2012 .
- ^ «Информация о платформе» . FFmpeg.org . Проверено 25 февраля 2020 года .
- ^ "Скачать" . ffmpeg.org . FFmpeg . Проверено 4 января 2012 .
- ^ FFmpeg может быть скомпилирован с различными внешними внешними библиотеками, некоторые из которых имеют лицензии, несовместимые с основной лицензией FFmpeg, GNU GPL .
- ^ a b "FFmpeg: Lavf: библиотека ввода-вывода и мультиплексирования / демультиплексирования" . ffmpeg.org . Проверено 21 октября +2016 .
- ^ Bellard, Фабрис (18 февраля 2006). «Нейминг и логотип FFmpeg» . Список рассылки разработчиков FFmpeg . Сайт FFmpeg . Проверено 24 декабря 2011 года .
- ^ Карлсен, Стив (1992-06-03). «Спецификация TIFF 6.0» (PS) . Корпорация Aldus . п. 98 . Проверено 14 августа 2016 .
Зигзагообразное сканирование
[ мертвая ссылка ] Альтернативный URL - ^ a b «Лицензия FFmpeg и правовые аспекты» . ffmpeg.org . Проверено 4 января 2012 .
- ^ Нидермайер, Майкл. «[FFmpeg-devel] Будущее FFmpegs и уход с поста лидера» . Проверено 22 сентября 2015 .
- ^ "FFmpeg и тысяча исправлений" . googleblog.com . 10 января 2014 . Проверено 21 октября +2016 .
- ^ "ffserver - FFmpeg" . trac.ffmpeg.org . Проверено 3 февраля 2018 .
- ^ "Программа ffserver удаляется" . ffmpeg.org . 2016-07-10 . Проверено 3 февраля 2018 .
- ^ "ffmpeg.org/download.html#releases" . ffmpeg.org . Проверено 27 апреля 2015 .
- ^ a b "ОРЕХ" . Мультимедийная вики. 2012 . Проверено 3 января 2014 .
- ↑ Glaser, Fiona (23.07.2010), Diary Of An x264 Developer: объявляет о самом быстром в мире декодере VP8 , заархивировано из оригинала 30.09.2010 , получено 04.01.2012
- ^ FFmpeg объявляет о высокопроизводительном декодере VP8 , Slashdot, 24 июля 2010 г. , получено 4 января 2012 г.
- ^ «FFmpeg Goes WebM, включение VP8 для Boxee & Co» . newteevee.com. 2010-06-17 . Проверено 4 января 2012 .
...
VLC
,
Boxee
,
MythTV
,
Handbrake
и
MPlayer
являются одними из наиболее популярных проектов, использующих FFmpeg ...
- ^ a b «Собственный декодер VP9 теперь находится в основной ветке Git» . Launchpad . 2013-10-03 . Проверено 21 октября 2013 .
- ^ a b «FFmpeg теперь имеет встроенную поддержку декодера HEVC / H.265» . Софтпедия . 2013-10-16 . Проверено 16 октября 2013 .
- ^ FFmpeg (15 февраля 2016 г.). «15 февраля 2016 года, FFmpeg 3.0« Эйнштейн » » . Проверено 2 апреля 2016 .
- ^ FFmpeg (2017-10-15). "15 октября 2017 г., FFmpeg 3.4" Cantor " " . Проверено 10 мая 2019 .
- ^ FFmpeg (2018-11-06). "6 ноября 2018 г., FFmpeg 4.1" аль-Хорезми " " . Проверено 10 мая 2019 .
- ^ Ян Озер (2019-03-04). «Хорошие новости: время кодирования AV1 упало до почти разумного уровня» . StreamingMedia.com . Проверено 10 мая 2019 .
- ^ Сайт Libav проекта , получены 2012-01-04
- ^ Рональд С. Бултье (2011-03-14), проект переименован в Libav , заархивировано из оригинала на 2016-11-07 , извлечено 2012-01-04
- ^ Группа разработчиков FFmpeg просто раздвоенный , как Libav , Phoronix, 2011-03-14 , извлекаться 2012-01-04
- ^ Что случилось с FFmpeg , 30 марта 2011 г. , получено 19 мая 2012 г.
- ^ FFMpeg Turmoil , 19 января 2011 г. , получено 4 января 2012 г.
- ^ "Ситуация с FFmpeg / Libav" . blog.pkh.me . Проверено 22 сентября 2015 .
- ^ «Это видео рабочего стола Linux (X11) было снято с помощью ffmpeg и закодировано в реальном времени» .
- ^ "Среда автоматизированного тестирования FFmpeg" . Fate.multimedia.cx . Проверено 4 января 2012 .
- ^ «Аппаратное ускорение FFmpeg» . ffmpeg.org Wiki . Проверено 12 ноября 2016 .
- ^ "Аппаратное обеспечение / VAAPI - FFmpeg" . trac.ffmpeg.org . Проверено 16 октября 2017 .
- ^ "Руководство пользователя кодировщика видео HEVC" (PDF) . Сеть разработчиков Qualcomm . Проверено 23 февраля 2021 .
- ^ "Журнал изменений FFmpeg" .
- ^ a b c d e f "Журнал изменений" . FFmpeg ствол SVN . FFmpeg. 17 апреля 2007 . Проверено 26 апреля 2007 года .[ постоянная мертвая ссылка ]
- ^ "git.ffmpeg.org Git - ffmpeg.git / commit" . git.ffmpeg.org . Проверено 23 апреля 2018 .
- ^ "Декодер ATRAC3plus - git.videolan.org Git - ffmpeg.git / commit" . git.videolan.org. 2013-12-28. Архивировано из оригинала на 2013-12-30 . Проверено 28 декабря 2013 .
- ^ a b «Список рассылки разработчиков FFmpeg» . Разработка FFmpeg . FFmpeg. 7 мая 2007 года Архивировано из оригинала 11 августа 2007 года . Проверено 24 декабря 2010 года .
- ^ vitor (13 апреля 2008 г.). "Список рассылки разработчиков FFmpeg" . Разработка FFmpeg . Сайт FFmpeg . Проверено 14 апреля 2008 года .[ постоянная мертвая ссылка ]
- ^ vitor (30 марта 2008 г.). "Список рассылки разработчиков FFmpeg" . Разработка FFmpeg . Сайт FFmpeg . Проверено 30 марта 2008 года .[ постоянная мертвая ссылка ]
- ^ Бенуа (14 апреля 2008 г.). "Список рассылки разработчиков FFmpeg" . Разработка FFmpeg . Сайт FFmpeg . Проверено 14 апреля 2008 года .[ постоянная мертвая ссылка ]
- ^ Майкл Нидермайер, Тимоти Гу (2014-12-05). "ЗАМЕЧАНИЯ О ВЫПУСКЕ для FFmpeg 2.5" Bohr " " . VideoLAN . Архивировано из оригинала на 2014-12-08 . Проверено 5 декабря 2014 .
- ^ Рамиро (18 марта 2008). "Список рассылки разработчиков FFmpeg" . Разработка FFmpeg . Сайт FFmpeg. Архивировано из оригинального 17 августа 2008 года . Проверено 18 марта 2008 года .
- ^ банан (8 июня 2008 г.). "Список рассылки разработчиков FFmpeg" . Разработка FFmpeg . Сайт FFmpeg. Архивировано из оригинального 14 января 2009 года . Проверено 8 июня 2008 года .
- ^ faust3 (21 марта 2008 г.). "Список рассылки разработчиков FFmpeg" . Разработка FFmpeg . Сайт FFmpeg. Архивировано из оригинального 25 апреля 2008 года . Проверено 21 марта 2008 года .
- ^ "FFmpeg: libavutil / pixfmt.h Ссылка на файл - enum AVPixelFormat" . Проект FFmpeg. 2015-11-17 . Проверено 18 ноября 2015 .
- ^ Ван Кестерен, Энн (2010-09-01). «Интернет-проекты - это не открытые стандарты» . annevankesteren.nl . Самостоятельно опубликовано . Проверено 22 марта 2015 .
- ^ Протокол потоковой передачи в реальном времени 2.0 (RTSP) draft-ietf-mmusic-rfc2326bis-40 P.231
- ^ "rtsp: Поддержка tls-инкапсулированного RTSP - git.videolan.org Git - ffmpeg.git / commit" . videolan.org . Проверено 21 октября +2016 .
- ^ "Фильтры FFmpeg" . ffmpeg.org . Проверено 27 марта 2017 .
- ^ Как это работает earwax.ca
- ^ "Список кодеков" . ffmpeg.org . Проверено 1 января 2012 .
- ^ "Юридическая информация на сайте FFmpeg" . ffmpeg.org . Проверено 4 января 2012 .
- ^ "YouTube Google использует FFmpeg | Разбивание яиц и приготовление омлетов" . Multimedia.cx. 2011-02-08 . Проверено 6 августа 2012 .
- ^ VirtualDub2
- ^ a b «Проекты на основе FFmpeg» . Ffmpeg.org . Проверено 4 января 2012 .
- ^ «Firefox по умолчанию включает поддержку FFmpeg» . Фороникс. 2015-11-15 . Проверено 18 ноября 2015 .
- ^ «Инженерные камеры и микрофон Mars 2020 на марсоходе Perseverance: система визуализации нового поколения для исследования Марса» . Springer Nature Switzerland AG . Проверено 22 февраля 2021 года .
Внешние ссылки [ править ]
- Официальный веб-сайт