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


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

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

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

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


59
2017-11-18 18:01


Источник




Ответы:


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

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

FFmpeg vs ffmpeg и libav vs avconv

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

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

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

Итак, как мы узнали из Кто может мне сказать ... ссылка, когда libav forked из 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,


90
2017-11-19 00:05



Это выходит за плохо сформулированное сообщение, это неправильно. FFmpeg не прекратил разработку вообще, на самом деле у FFmpeg гораздо больше сообщества, чем LibAV ... поддерживающие Ubuntu сообщения сделали это, чтобы обмануть пользователей в использовании LibAV из ошибочной уверенности в том, что FFmpeg был мертв. это 100% -ная злоба. - MarcusJ
avconv даже не поддерживает LADSPA - Vassilis
@MarcusJ ... технически это были поддерживающие debian. Но да, я согласен; это обманчиво. - Wyatt8740


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

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

Нынешняя ситуация (середина 2015 года)

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

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

28
2017-07-17 02:37



Я оказался с Google Майклом Нидермайером и закончил с эта почта, в котором он уходит в отставку. - bzeaman
@bzeaman да, я помню, как это произошло. но он по-прежнему кажется средним в 2 слияния / фиксации в день: git.videolan.org/... - kritzikratzi
hmm no install кандидат в deb. Что заменило его сейчас? - Stígandr
nvm mind получил его libav-tools - Stígandr
Нидермайер был причина для вилки. Тем не менее, он сильно изменился. - Ismael Luceno


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

Это выглядит как это говорит, что это просто специфично для Ubuntu и Debian в это время.

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

Debian следит за расширением libav в его дистрибутиве и в   предстоящая загрузка двоичного / usr / bin / ffmpeg будет заменена на   / USR / бен / avconv.

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

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

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

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

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

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

Задания:

Установите AVConv на машины, которые работают в СНГ. Обычно avconv должен   появляются обновления ffmpeg (которые работали на Ubuntu, не тестировались на   Debian). Заменить «ffmpeg» на «avconv» в cis / api / ffmpeg.py, class   FFmpegTranscoder, поле prog_bin, которое представляет инструмент преобразования   исполняемый файл. Имена файлов рефакторинга, имена классов, имена методов, переменные   имена и т. д., содержащие «FFmpeg» или «ffmpeg», такие как   AVConv. Такая IDE, как Eclipse, может сделать это автоматически. Контрольная работа! Если   проблемы замечены, отладка!


9
2017-11-18 18:07



Я категорически не согласен с сообщением, в котором говорится: «ffmpeg устарел и avconv следует использовать». - slhck
@slhck Это похоже на стандартную практику, когда вы открываете проект. Чем больше пользователей вы сможете обмануть мышление, то главная ветка устарела, тем лучше для вашей вилки. - user20574