Выпуск мультимедиа-пакета FFmpeg 4.1
После шести месяцев разработки доступен мультимедиа-пакет FFmpeg 4.1, включающий набор приложений и коллекцию библиотек для операций над различными мультимедиа-форматами (запись, преобразование и декодирование звуковых и видеоформатов). Пакет распространяется под лицензиями LGPL и GPL, разработка FFmpeg ведётся смежно с проектом MPlayer.
Из изменений, добавленных в FFmpeg 4.1, можно выделить:
- Добавлена возможность использования формата кодирования видео AV1 в контейнерах MP4 и реализован парсер для AV1. AV1 разработан альянсом Open Media (AOMedia) и позиционируется как общедоступный и не требующий оплаты отчислений свободный формат кодирования видео, который заметно опережает H.264 и VP9 по уровню сжатия;
- Добавлена поддержка реализации TLS на базе библиотеки mbedTLS;
- Новые кодировщики и декодировщики:
- Декодировщик формата кодирования звука Sony ATRAC9 (Adaptive Transform Acoustic Coding);
- Кодировщик и декодировщик формата сжатия звука и видео AVS2, стандартизированного в Китае. Реализация основана на библиотеке libdavs2;
- Декодировщик для звукового кодека iLBC (Internet Low Bitrate Codec), оптимизированного для передачи голоса по низкоскоростным каналам связи;
- Кодировщик и декодировщик для звукового кодека pcm vidc;
- Декодировщик для видеокодека IMM4;
- Декодировщик для формата кодирования видео Brooktree ProSumer;
- Декодировщик для формата WinCam Motion Video;
- Декодировщик для форматов MatchWare Screen Capture и RemotelyAnywhere Screen Capture, используемых при записи содержимого экрана;
- Для формата h264 реализовна поддержка декодирования таймкода S12M;
- Представлен распаковщик (demuxer) медиаконтейнеров SER;
- В декодировщике vc1 задействован алгоритм bit-exact;
- Новые фильтры:
- deblock — удаление блочных артефактов из видео;
- tmix — смешивание следующих друг за другом видеокадров;
- amplify — усиление разницы между текущим пикселем и пикселями в том же месте из соседних кадров;
- fftdnoiz — подавление шума в кадрах при помощи фильтра 3D FFT (frequency domain filtering);
- aderivative и aintegral — вычисление производной и интеграла для звукового потока. Применение одного фильтра после другого позволяет восстановить оригинальный звуковой поток;
- pal75bars и pal100bars — генерирует цветовые шаблоны на основе рекомендаций EBU PAL с 75% и 100% уровнем цвета;
- adeclick — удаление импульсных помех из звукового потока, которые заменяются на интерполированные сэмплы, используя авторегрессионное моделирование;
- adeclip — заменяет повреждённые сэмплы при помощи авторегрессионного моделирования;
- lensfun — корректирует вносимые объективом искажения, используя библиотеку lensfun;
- colorconstancy — корректирует цвет объектов в зависимости от цвета освещения;
- lut1d — применение цветового преобразования 1D LUT к видео;
- cue и acue — задержка применения фильтров к видео или звуку до наступления указанной временной метки (позиции в потоке);
- transpose_npp — перестановка местами строк и столбцов в видео;
- amultiply — объединение двух звуковых потоков;
- bm3d — подавление шумов в кадрах при помощи алгоритма Block-Matching 3D;
- acrossover — разделение звукового потока с разбивкой по частотным диапазонам;
- afftdn — подавление шума в звуковом потоке при помощи быстрого преобразования Фурье (FFT);
- graphmonitor и agraphmonitor — отображения различной статистики работы видео и звуковых фильтров;
- yadif_cuda — устранение чересстрочности в видео, используя реализацию алгоритма yadif, ускоренную при помощи CUDA;
- xstack — совмещение нескольких видео (каждое видео показывается в своей области экрана);
- sinc — генерация коэффициентов FIR для звукового потока;
- chromahold — удаление информации о всех цветах за исключением указанного;
- setparams — установка параметров для кадра, влияющих на работу других фильтров и кодировщиков;
- vibrance — увеличение или уменьшение цветовой насыщенности;
- Для фильтров на основе методов глубинного машинного обучения (DNN), таких как srcnn (Super-Resolution Convolutional Neural Network), подготовлен новый бэкенд на основе libtensorflow;
© OpenNet