После пяти месяцев разработки доступен мультимедиа-пакет FFmpeg 7.0, включающий набор приложений и коллекцию библиотек для операций над различными мультимедиа-форматами (запись, преобразование и декодирование звуковых и видеоформатов). Пакет распространяется под лицензиями LGPL и GPL, разработка FFmpeg ведётся смежно с проектом MPlayer.
Из изменений, добавленных в FFmpeg 7.0, можно выделить:
- В утилите командной строки ffmpeg обеспечено параллельное выполнение операций распаковки/упаковки медиаконтейнеров, декодирования, кодирования и применения фильтров.
- Реализована поддержка кодирования и декодирования видео в формате MPEG-5 (EVC - Essential Video Coding), используя внешнюю библиотеку libxevd.
- Добавлены распаковщики и упаковщики медиаконтейнеров (demuxer/muxer) для формата QOA (Quite OK Audio), применяемого для передачи звука без потери качества. Утверждается, что
декодирование QOA осуществляется быстрее Ogg-Vorbis в три раза при достижении в QOA более высокого качества и уровня сжатия по сравнению с ADPCM.
- Добавлены распаковщики и упаковщики медиаконтейнеров (demuxer/muxer) для формата IAMF (Immersive Audio Model and Format), определяющего контейнер для распространения объёмного звука. Формат предусматривает передачу дополнительной информации, необходимой для работы алгоритмов воссоздания звуковой сцены и микширования звука, а также учитывает распространение звуковых сигналов в трехмерном пространстве для воссоздания звучания, максимально близкого к естественному. Обеспечена поддержка метаданных IAMF для форматов MP4 и ISOBMFF.
- Добавлен экспериментальный декодировщик для формата VVC (Versatile Video Coding), известного также как стандарт сжатия видео H.266, разработанный совместно рабочими группами MPEG (ISO/IEC JTC 1) и VCEG (ITU-T), при участии таких компаний, как Apple, Ericsson, Intel, Huawei, Microsoft, Qualcomm и Sony. H.266 идёт на смену H.265 (HEVC) и обеспечивает высокую эффективность передачи и хранения всех экранных разрешений (от SD и HD до 4K и 8K), поддерживает видео с расширенным динамическим диапазоном (HDR, High Dynamic Range) и панорамное видео в режиме 360 градусов.
- Реализована возможность использования API D3D12VA (Direct 3D 12 Video Encoding) для аппаратного ускорения декодирования форматов H264, HEVC, VP9, AV1, MPEG-2 и VC1.
- В утилиту ffplay добавлена поддержка аппаратного ускорения декодирования, используя API Vulkan и libplacebo.
- Добавлена поддержка протокола Content URI, используемого в платформе Android.
- Повышены требования к окружению для сборки - для компиляции FFmpeg
теперь необходим компилятор с поддержкой стандарта C11. В одном из следующих выпусков в качестве минимально поддерживаемой версии планируют использовать C17.
- Для кодировщиков на базе QSV (Intel Quick Sync Video) метод управления битретом по умолчанию изменён с VBR (переменный битрейт) на CQP (постоянный битрейт).
- Добавлен новый распаковщик медиаконтейнеров DVD-Video, основанный на использовании библиотек libdvdnav и libdvdread от проекта VideoLAN.
- В реализацию формата flv добавлена возможность передачи метаданных в пакетах (PacketTypeMetadata).
- Добавлен кодировщик DXV DXT1.
- Добавлен декодировщик LEAD MCMP.
- Добавлены упаковщики медиаконтейнеров (muxer) RCWT (Raw Captions with Time) и AEA.
- Для форматов MP4 и ISOBMFF реализована возможность включения метаданных AVE (Ambient Viewing Environment).
- Реализована поддержка технологии AFGS1 (AOMedia Film Grain Synthesis 1), используемой в спецификации AV1 Film Grain и предназначенной для повышения эффективности зернистых изображений.
- Добавлена поддержка статичных (still) изображений в форматах HEIF и AVIF, а также мозаичных статичных изображений.
- Для формата AV1 реализован профиль Dolby Vision.
- Обеспечена поддержка проброса метаданных HDR10 при кодировании через библиотеки libx264, libx265 и libsvtav1.
- Добавлены оптимизации для ускорения работы с форматом HEVC на архитектурах AArch64 и Loongarch. Внесены оптимизации производительности для ускорения кодирования и декодирования форматов AAC, FLAC, JPEG-2000, LPC, RV4.0, SVQ, VC1 и VP8 на системах с архитектурой RISC-V.
- Новые фильтры:
- tiltandshift - преобразование видео в стиле Tilt-Shift, при котором внимание фокусируется на определённой части изображения, а остальное содержимое размывается для создания впечатления игрушечности.
- quirc - определение и декодирование QR-кодов при помощи библиотеки libquirc.
- fsync - синхронизация кадров видео на основе информации из внешнего файла.
- aap - использует алгоритм Affine Projection для определения схожести звуковых фрагментов.
- Добавлен бэкенд dnn для создания фильтров, использующих модели машинного обучения, загружаемые при помощи libtorch.
- Добавлен bitstream-фильтр showinfo для отладочного вывода информации о пакетах.
- Добавлен обработчик qrencodesrc для вставки QR-кодов.
- В утилите ffmpeg реализована поддержка loopback-декодировщиков, разрешено использование опции "-bsf" для входных и выходных потоков, удалены устаревшие опции "-psnr" и "-map_channel".
- В утилите ffprobe реализована опция "-show_stream_groups option" и обеспечен вывод метаданных при использовании опции "-export_side_data film_grain".
|