FFmpeg
FFmpeg — це комплекс вільних комп'ютерних програм та програмних бібліотек для маніпуляцій з цифровими відео- та аудіо-матеріалами — запис, конвертація та пакування у різні формати контейнерів.
| |
| |
Тип | Мультимедійна бібліотека |
---|---|
Автор(и) | Фабріс Беллар[1] |
Розробник | Фабріс Беллар |
Стабільний випуск | 4.0 "Wu"[2] (20 квітня 2018 ) |
Репозиторій | git.ffmpeg.org/ffmpeg.git |
Платформа | x86, ARM, PowerPC, MIPS, DEC Alpha, Blackfind, AVR32 і SPARC |
Операційна система | Багатоплатформове ПЗ |
Мова програмування | С та мова асемблера |
Стан розробки | активний |
Ліцензія | GNU LGPL та GPL |
Онлайн-документація | ffmpeg.org/documentation.html |
Вебсайт | ffmpeg.org |
FFmpeg у Вікісховищі |
Проєкт славиться наявністю різних аудіо та відео кодеків.
Проєкт запустив Фабріс Беллард (Fabrice Bellard), а зараз його підтримує Майкл Нідермаєр (Michael Niedermayer). Багато FFmpeg розробників працюють також над проєктом MPlayer, а FFmpeg розміщений на сервері проєкту MPlayer.
Інтерфейс командного рядка має інтуїтивний вигляд.
FFmpeg було розроблено під Linux, але він успішно працює й у Apple Mac OS X та Microsoft Windows.
Історія
Версії 3.х
Версія 3.0 була випущена в лютому 2016 року. Серед помітних змін в порівнянні з попередніми версіями було поліпшено підтримку апаратного стиснення AAC, поліпшене апаратне пришвидшення стиснення інших алгоритмів. Проте було порушено сумісність програмного та двійкового інтерфейсу з попередніми версіями[3].
Компоненти
Цей проєкт складається із декількох компонент:
Інструменти командного рядку
- ffmpeg — програма командного рядка для конвертування одного формату відео у інший. Вона також дозволяє захоплювати і кодувати відео в режимі реального часу від декількох апаратних і програмних джерел, таких як карта захоплення ТБ.
- ffserver — мультимедійний сервер трансляції HTTP і RTSP, що дозволяє здійснювати живі чи записані трансляції. Він також може використовуватись для зсуву у часі прямої трансляції.
- ffplay — простий медіа програвач, який використовує в собі SDL і бібліотеки FFmpeg.
- ffprobe — інструмент командного рядка для зображення медіа інформації (тексту, CSV, XML, JSON), див. також Mediainfo.
Бібліотеки
- libswresample — бібліотека, що містить функції редискретизації аудіо.
- libavresample — бібліотека, що містить функції редискретизації аудіо з проєкту Libav project, подібна до libswresample із бібліотеки ffmpeg.
- libavcodec — бібліотека, що містить усі власні аудіо/відео кодери і декодери FFmpeg. Більшість кодеків розроблені з нуля аби впевнено мати найкращу швидкодію і повторне використання коду.
- libavformat — бібліотека, що містить мультиплексори і демультиплексори для форматів контейнерів аудіо/відео.
- libavutil — допоміжна бібліотека, що містить функції спільні для різних частин FFmpeg. Ця бібліотека містить хеш-функції (Adler-32, CRC, MD5, RIPEMD, SHA-1. SHA-2, MurmurHash3, HMAC MD-5, HMAC SHA-1 and HMAC SHA-2), шифри (DES, RC4, AES, AES-CTR, TEA, XTEA, Blowfish, CAST-128, Twofish and Camellia), LZO декомпресор і Base64 кодер/декодер.
- libpostproc — це бібліотека, що містить старіші функції пост-обробки відео на базі h263.
- libswscale — ця бібліотека містить функції для масштабування зображення відео і конвертації колірного простору/формату пікселів.
- libavfilter — є заміною для vhook, що дозволяє перевіряти чи модифікувати відео/аудіо між процесами декодування і кодування. Фільтри були портовані із багатьох проєктів, включаючи MPlayer і avisynth.
Деякі ключі програми ffmpeg
-i — вхідний файл
-ar — частота дескритизації звуку в Гц
-ab — бітрейт звуку кБіт/c
-f — формат вихідного файла
-s — розмір вихідного файлу в пікселях
Деякі приклади застосування
>ffmpeg -i вхідний_відео_файл.mp4 вихідний_відео_файл.avi
>ffmpeg -i вхідний_аудіо_файл.mp3 вихідний__аудіо_файл.wav
Примітки
- FFmpeg License and Legal Considerations
- Інформація про релізи програми
- Nestor, Marius (15 лютого 2016). FFmpeg 3.0 Is a Massive Release with DXVA2-Accelerated VP9 Decoding, New Filters. softpedia. Процитовано 11 березня 2016.