Pull to refresh

Релиз FFmpeg 7.0 Dijkstra

Reading time4 min
Views8.6K

5 апреля 2024 года состоялся релиз открытого мультимедиа-пакета релиз FFmpeg 7.0 под кодовым названием Dijkstra для Linux, Windows и macOS. Предыдущая мажорная версия проекта вышла в ноябре 2023 года.

В FFmpeg 7.0 входит набор приложений и коллекция библиотек для операций над различными мультимедиа-форматами (запись, преобразование и декодирование звуковых и видеоформатов). Исходный код проекта распространяется под лицензиями LGPL и GPL. Разработка FFmpeg ведётся сообществом смежно с проектом MPlayer.

В FFmpeg 7.0 разработчиками проведён крупнейший рефакторинг кода за многие годы, который стал огромным достижением для проекта, включая поддержку multi-threading CLI, демультиплексора DVD-Video, начальную поддержку AOMedia IAMF для модели и форматов иммерсивного звука, средство рендеринга Vulkan для ffplay и многие другие изменения.

По информации OpenNET, основные изменения, дополнения и обновления в коде 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;

  • добавлен бэкенд dnn для создания фильтров, использующих модели машинного обучения, загружаемые при помощи libtorch;

  • добавлен bitstream-фильтр showinfo для отладочного вывода информации о пакетах;

  • добавлен обработчик qrencodesrc для вставки QR-кодов.

20 декабря 2020 года проекту FFmpeg исполнилось 20 лет. Первый коммит для набора свободных библиотек с открытым исходным кодом, которые позволяют записывать, конвертировать и передавать цифровые аудио- и видеозаписи в различных форматах, был написан автором проекта Фабрисом Белларом (Fabrice Bellard) 20 декабря 2000 года. Многие IT-компании, включая Google и YouTube, используют FFmpeg в бэкенде своих проектов и сервисов.

Tags:
Hubs:
If this publication inspired you and you want to support the author, do not hesitate to click on the button
Total votes 32: ↑32 and ↓0+32
Comments27

Other news