Выпуск мультимедиа-пакета FFmpeg 3.2

После четырёх месяцев разработки представлен мультимедиа-пакет FFmpeg 3.2, включающий набор приложений и коллекцию библиотек для операций над различными мультимедиа-форматами (запись, преобразование и декодирование звуковых и видеоформатов). Кроме изменений, созданных внутри проекта, в новую версию также включены все последние наработки, развиваемые в ветках ffmpeg-mt (многопоточное декодирование) и libav (форк FFmpeg). Пакет распространяется под лицензиями LGPL и GPL, разработка FFmpeg ведётся смежно с проектом MPlayer.

Из изменений, добавленных в FFmpeg 3.2, можно выделить:

  • Новые фильтры:
    • weave — объединяет полукадры входного видео в один кадр, позволяя удвоить высоту клипа за счёт сокращения кадровой частоты;
    • gblur — применение фильтра Гауссова размытия;
    • avgblur — размытие через усреднение;
    • sobel и prewitt — применение операторов Собеля и Прюитта ко входному видеопотоку;
    • vaguedenoiser — подавитель шумов на основе вейвлетов;
    • nlmeans — подавитель шумов на основе алгоритма Non-Local Means;
    • sidedata и asidedata — удаление/выявлния кадров с уточняющими данными для видео и звука;
    • crystalizer audio — простой алгоритм для расширения динамического диапазона звука;
    • acrusher — сокращение звукового разрешения через сокращения числа битов дискретизации;
    • bitplanenoise — показ и измерение уровня шумов в форме Bit plane;
    • maskedclamp — нормализует значение первого битового потока на основании параметров второго и третьего битовых потоков;
    • hysteresis — определяет маску общих компонентов в первом и втором потоках;
    • lut2 — создаёт и применяет таблицу поиска на основании двух входных видео;
    • yuvtestsrc — генерирует тестовый шаблон в формате YUV;
  • Обеспечена возможность использования механизмов аппаратного ускорения чипов MediaCodec для кодирования и декодирования H.264, HEVC, MPEG-4, VP8 и VP9;
  • Реализована поддержка ускорения декодирования H.263, VP8, VP9 и 10-разрядного HEVC (Dithered) через использующий CUDA декодировщик CUVID;
  • Добавлены распаковщики медиа-контейнеров (demuxer) для трекерных форматов, поддерживаемых в библиотеке libopenmpt;
  • Добавлена поддержка протокола tee для разделения вывода на несколько потоков (например, «tee: file://path/to/local/this.avi|file://path/to/local/that.avi»);
  • Реализован псевдоупаковщик fifo, который можно использовать для отделения кодирования и упаковки медиаконтейнера через использование FIFO-очереди с асинхронным запуском упаковщика в отдельном потоке. Например, упаковщик fifo можно использовать совместно с упаковщиком tee для отправки потока в несколько обработчиков, принимающих данные с разной скоростью;
  • Добавлен универсальный упаковщик для Ogg Video (.ogv) и обеспечена возможность использования потоков VP8 в медиаконтейнерах Ogg;
  • Добавлена обвязка для декодирования через библиотеку OpenH264;
  • Добавлен упаковщик медиа-контейнеров (muxer) для формата TTA (True Audio);
  • В декодировщике als добавлена поддержка операций с плавающей точкой;
  • Добавлен кодировщик для форматов MLP (Meridian Lossless Packing) и TrueHD;
  • В утилите ffplay реализована поддержка вывода через sdl2. Поддержка вывода через sdl1 прекращена;
  • Поддержка расширенных списков редактирования для формата MOD;
  • Прекращена поддержка кодировщика libfaac;
  • В упаковщике медиа-контейнеров Matroska по умолчанию включена запись контрольных сумм CRC32 для всех элементов первого уровня.

© OpenNet