Почему я бы выбрал Libav вместо FFmpeg, или есть даже разница?

Из того, что я видел, это выглядит как Либав avconv Считается, что стать преемником ffmpeg - это верно?

Если это правда, то почему это так? Что именно делает libav лучше и почему я хотел бы выбрать его вместо ffmpeg?

Я столкнулся с этой "проблемой" при установке Ubuntu 12.04.1 LTS в виртуальной машине, и когда я установил ffmpeg, он получил сообщение о том, что mit ffmpeg устарел, и я сначала подумал "wtf?".

Если я использую avconvСмогу ли я перенести свои скрипты в зависимости от ffmpeg, более или менее легко libav? В основном я использую его для записи метаданных и преобразования звука (wav, flac, vorbis, mp3, aac).

3 ответа

Решение

Прежде всего, посмотрите, кто может сказать мне разницу и отношения между ffmpeg, libav и avconv. Большая часть путаницы является результатом:

  1. Пользователи, не различающие проекты, FFmpeg и libav, и их соответствующие инструменты командной строки, ffmpeg а также avconv,
  2. Пользователи с плохо сформулированными сообщениями получают, когда пытаются использовать libav ffmpeg,

FFmpeg против ffmpeg и libav против avconv

  • FFmpeg - это имя проекта. ffmpeg это имя их инструмента командной строки.
  • libav - это имя проекта. avconv это имя их инструмента командной строки. В течение короткого времени у libav также был ffmpeg,

Пользователи часто думают "проект", когда "инструмент" обсуждается, что приводит к...

Плохо сформулированное сообщение

Итак, как мы узнали из ссылки " Кто может сказать мне...", когда libav разветвился от FFmpeg, они также временно предоставили свою версию ffmpeg, Как участник libav, сопровождающий ffmpeg в Debian и Ubuntu решил переключить дистрибутив на использование libav. С точки зрения libav это был их лучший шаг: заставить большое сообщество пользователей использовать форк.

Ubuntu переключился в переходный период, когда libav предоставил обе свои версии ffmpeg и их переименованный инструмент avconv, Когда пользователи пытались использовать libav's ffmpeg они получили следующее сообщение:

This program is not developed anymore and is only provided for compatibility.  
Use avconv instead (see Changelog for the list of incompatible changes).

В этом случае "ffmpeg", упомянутый в сообщении, был временной версией libav, которая позже была удалена (как и сообщение). Помните разницу между FFmpeg и ffmpeg? Конечно, это сообщение полностью сбило с толку многих пользователей, которые по понятным причинам не делали различий между проектом и инструментом; особенно пользователи Ubuntu, которые не знали, что их дистрибутив сделал switcharoo, или пользователи, которые никогда не слышали о libav. Я не знаю, хотел ли пользователь libav думать об этом, но им, вероятно, понравился этот побочный эффект.

Некоторые пользователи Ubuntu считали, что сообщение слишком обманчиво, и позже оно было изменено на:

***THIS PROGRAM IS DEPRECATED***
This program is not developed anymore and is only provided for compatibility.  
Use avconv instead (see Changelog for the list of incompatible changes).

Небольшое улучшение по моему мнению, но я чувствую, что это не достаточно ясно.

Какой я использую?

Никто не может сказать вам, какой использовать. Основное различие для пользователей заключается в том, что FFmpeg объединяет множество коммитов из libav, но это не так взаимно, поскольку libav, кажется, притворяется, что FFmpeg не существует и лишь изредка выбирает вишню из FFmpeg.

Для обычного пользователя не должно быть огромных различий. Для пользователей Ubuntu, которые хотят использовать FFmpeg, вы можете скомпилировать его, следуя инструкциям Как скомпилировать FFmpeg и x264, использовать FFmpeg PPA Джона Северинссона или получить простой статический двоичный файл, связанный со страницей загрузки FFmpeg.

Для получения дополнительной информации см . Ситуация FFmpeg/Libav.

Обновление (начало 2016 года)

  • Коэффициенты остаются в пользу ffmpeg. Большинство дистрибутивов переключились обратно / переключаются обратно на ffmpeg ( Gentoo, Debian)
  • Одним из практических преимуществ ffmpeg является широкая доступность двоичных файлов для многих платформ. Поиск в Google для статических библиотек libs/dynamic libs/binaries дает хорошие результаты для linux,mac,windows,ios и android для ffmpeg, в то время как я мог только найти сборки linux и windows для libav. Это может быть важным моментом, если у вас мало опыта работы с C/make-файлами.

Текущая ситуация (середина 2015 года)

Кажется, лучше придерживаться FFmpeg. Вся ситуация довольно грязная и безобразная. Я только начал читать на развилке несколько дней назад. Игнорируя всю драму, вот что представляется фактами:

  • FFmpeg включает в себя наборы изменений из libav, в то время как libav не хочет этого делать (см. Дебаты по Debian)
  • Chrome использует ffmpeg, и Google приложил серьезные усилия для обеспечения его безопасности. libav также включает эти изменения, но более медленными темпами ( запись в блоге Google)
  • FFmpeg пытается сохранить как можно больше кодеков, в то время как libav отбросил некоторые ( список рассылки libav, сообщение от разработчика libav)
  • Сообщество FFmpeg больше, чем libav, и самый преданный разработчик (Майкл Нидермайер) придерживается FFmpeg ( коммит статистики)
  • Сопровождающие ubuntu/debian для FFmpeg входили в состав libav. они добавили сообщения об устаревании в некоторые инструменты командной строки, намекая на то, что ffmpeg устарела. это вызвало много путаницы. и Debian, и Ubuntu переключаются обратно на ffmpeg.

Когда вы перейдете сюда, вы увидите, что самое последнее обновление - сентябрь 2012 года (несколько месяцев назад).

Похоже, это говорит о том, что в данный момент это относится только к Ubuntu и Debian.

Некоторое время назад ffmpeg разделился на две вилки под именами ffmpeg и libav.

Debian следит за форком libav в своем дистрибутиве, и в следующей загрузке двоичный файл / usr / bin / ffmpeg будет заменен на / usr / bin / avconv.

Насколько я знаю, нет необходимости переключаться немедленно, но Winff должен быть обновлен, чтобы можно было использовать любой двоичный файл (с точки зрения Debian, с предпочтением avconv). Я знаю, что вы можете установить местоположение двоичного файла в настройках, но я думаю, что при установленном расположении Winff сможет найти правильный двоичный файл.

Я думаю, что в будущем эта проблема может также затронуть Windows и другие дистрибутивы.

Чтобы ответить на ваш вопрос о том, является ли он точно таким же:

Я реализовал проверки для правильного двоичного файла в моей локальной проверке, но, читая 1, я вижу, что есть некоторые несоответствия между avconv и ffmpeg. Эта проблема больше, потому что предустановленный файл будет нуждаться в корректировке и, в особенности, способ, которым мы создаем командную строку, должен будет измениться. Опции, которые работают с входным файлом, должны идти перед входным файлом "-i".

Обратите внимание, это может быть связано с версией Windows. Это было опубликовано относительно версии для Linux:

FFmpeg инструмент для конвертации аудио / видео теперь известен как AVConv (на мой взгляд, более подходящее название). Поэтому инструмент командной строки "ffmpeg" устарел, и следует использовать "avconv". Насколько я заметил, все параметры остались прежними, но дальнейшие исследования должны быть проведены. Некоторые модификации должны быть сделаны в СНГ.

Задачи:

Установите AVConv на машины, на которых работает CIS. Обычно avconv должен обновлять ffmpeg (который работал в Ubuntu; не тестировался для Debian). Замените "ffmpeg" на "avconv" в cis/api/ffmpeg.py, класс FFmpegTranscoder, поле prog_bin, которое представляет исполняемый файл инструмента преобразования. Преобразуйте имена файлов, имена классов, имена методов, имена переменных и т. Д., Которые содержат "FFmpeg" или "ffmpeg", так что они содержат AVConv. Такая среда, как Eclipse, может делать это автоматически. Тестовое задание! Если проблемы замечены, отлаживайте!

Другие вопросы по тегам