Как заменить avconv на (настоящий) ffmpeg и правильно ли он работает?

27

ОБНОВЛЕНИЕ (оригинальный текст сохранен ниже)

С реальным возвращением ffmpeg (в 15.04) PPA Джона Северинссона больше не работает (для ffmpeg), и avconv-ffmpeg (теперь называемый « libav ») и реальный ffmpeg (теперь возвращающийся просто к « ffmpeg ») упали из В промежуточных выпусках встал вопрос: как проще всего установить ffmpeg в дистрибутивы до 2015 года?

/ОБНОВИТЬ

Кто-нибудь знает, как установить реальный, текущий ffmpeg (а не более старую версию avconv, которая поставляется с Ubuntu) без проблем, упомянутых здесь ?

Причины:

  • Все работает (или так многие написали),
  • Используйте новый синтаксис и
  • После некоторых исследований - и не вдаваясь в противоречия - я просто считаю, что упаковщики допустили ошибку, выбрав avconv. Это исправление.

По-видимому, это не так просто, как следовало бы из-за конфликтов версий, и что avconv и ffmpeg не могут сосуществовать на одной и той же машине (отмечено в принятом ответе вышеупомянутого поста). Хотя, по крайней мере, в одном руководстве упоминается локальная установка ffmpeg (~) для достижения сосуществования.

Мой релиз - Precise 12.04.3 LTS, но, похоже, это будет относиться и к более новым.

u2n
источник
3
Вы видели, как скомпилировать FFmpeg на Ubuntu ? Это не вступает в конфликт с любым ненужным мусором из репозитория.
Llogan
1
Я предлагаю вам немного перефразировать часть «причины». Похоже, вы подразумеваете, что предполагаемое превосходство ffmpeg над avconv является фактом, и что пользователи Ubuntu попали в беду из-за того, что в репозитории сломалось программное обеспечение. Это может запутать и напугать некоторых начинающих пользователей. Я надеюсь, что вы поймете мою мысль, так как вы, похоже, согласны, что лучше не вступать в «спор».
Андреа Лаззаротто
1
@Brad Я продолжаю верить, что неправильно пугать новых пользователей, позволяя им думать, что они взломали программное обеспечение и что им нужно «исправить» его.
Андреа Лаззаротто
1
@AndreaLazzarotto Никто не пытается напугать кого-либо. В вопросе есть мнение, и оно специально называется как единое целое. Это мнение является важной частью вопроса.
Брэд
1
Привет, ребята, спасибо за комментарии. Поскольку фиктивная версия ffmpeg для avconv была удалена из всех последних выпусков, больше не нужно ничего удалять (и никаких споров также нет: ^). Jon Severinsson регулярно обновляет свой ppa, так что настоящий ffmpeg - легкая установка и обновление. Этот пост будет служить здесь обновлением. (Будет полная очистка позже.)
u2n

Ответы:

25

Обновленный ответ для выпусков до 2015 года

Поскольку никто не поддерживает всеобъемлющий ppa, такой как Jon Severinsson, метод Rmano, использующий статическую сборку, теперь самый простой. Примечание обновления должны быть проверены и сделаны вручную.

  1. Перейдя на официальную страницу загрузки ffmpeg , нажмите ссылку под Linux Static Builds . (Цель может измениться, поэтому она не связана напрямую здесь.)
  2. Выберите соответствующий (32- или 64-разрядный) и нужный (снимок или нумерованный) выпуск для загрузки. (Снимок рекомендуется.)
  3. Если была установлена ​​libav-версия ffmpeg, удалите ее. Эти двое не могут находиться на одной машине. Если libav ранее не был установлен, перейдите к 4.

    sudo apt-get remove ffmpeg  
    sudo apt-get purge libav-tools  
    # *Ignore any autoremove message that may appear.*
    
  4. Извлеките файлы (и две директории) следующим образом:

    • Для однопользовательских систем: в $ HOME / bin
    • Для многопользовательских установок: в / usr / local / bin

Установка статической сборки завершена, и ffmpeg готов к использованию.

Обновление. После проверки и поиска более новой версии папку установки можно отсортировать по дате, а файлы существующих версий быстро идентифицировать и удалить. (Все временные метки будут такими же, как у двоичного файла ffmpeg.) Затем обновление можно загрузить и извлечь так же, как и в предыдущем выпуске.

В случае повторного появления полного репозитория ffmpeg он будет установлен, как и раньше:

# Replace avconv with the real ffmpeg
#   www.askubuntu.com/a/373509/165265
#
sudo add-apt-repository ppa:<name of ppa here>
sudo apt-get update
sudo apt-get install ffmpeg

С реальным возвращением ffmpeg в версии 2015 года и в последующий период необходимость в этом обходном пути со временем исчезнет.

Огромная благодарность сообществу за помощь.

u2n
источник
4
Уф. Спасибо. avconv кажется слишком близким к ffmpeg, но, похоже, имеет несколько других флагов. Нет, спасибо. FFMPEG прекрасно работает. Единственная причина, по которой я могу подумать, что Ubuntu сменится, - это какая-то политическая причина. Забудь этот шум. ffmpeg ftw!
Джеймс Т Снелл
1
sudo apt-get dist-upgradeЛиния кажется ненужной мне для целей этого поста. Большинство людей, которые пытаются установить ffmpeg, вероятно, не захотят запускать обновление дистрибутива как побочный эффект.
cxrodgers
@cxrodgers, абсолютно верно. Исправление сейчас, спасибо.
u2n
1
Возможно, вы захотите обновить этот ответ сейчас, когда jon-severinsson PPA пропал: stackoverflow.com/questions/29585700/…
cxrodgers,
1
Симлинкинг должен указывать на /usr/local/binпредотвращение потенциальных конфликтов от любых пакетов репо, которые предоставляют именованные файлы; в частности, из пакета libav-tools qt-faststartи "faux ffmpeg" для 12.04 и старше. Кроме того, другие пользователи могут не иметь надлежащих разрешений для выполнения чего-либо в другом пользователе ~/bin(но я не исследовал это). Наконец, я думаю, что весь раздел "/ UPDATE" из этого ответа может быть удален: он устарел (что PPA ушел) и больше не вносит вклада.
Llogan
7

У меня не было проблем с использованием статической сборки, предоставленной проектом FFmpeg. Есть ссылки в http://ffmpeg.org/download.html

Загрузите нужную версию / сборку (32- или 64-разрядную), а затем поместите исполняемый файл в свой $PATH(например, ~/bin). Если он находится внутри, ~/binвы можете выйти из системы, а затем снова войти или просто запустить . ~/.profile, чтобы ваша оболочка распознала, что она находится в $PATH. Теперь вы можете просто войти ffmpegи новая статическая сборка будет использоваться.

Например:

% wget http://johnvansickle.com/ffmpeg/builds/ffmpeg-git-64bit-static.tar.xz
% tar xJvf ffmpeg-git-64bit-static.tar.xz
% cd ffmpeg-git-20150427-32bit-static
% ./ffmpeg
ffmpeg version N-45164-g46778ab- http://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2015 the FFmpeg developers
  built with gcc 4.9.2 (Debian 4.9.2-10)
[...]

Быть полностью статичным не должно иметь проблем с различными версиями Linux (до предела ядро ​​должно быть не слишком старым).

Rmano
источник
1
Спасибо, Романо. Подниму ваш ответ в качестве альтернативы, как только я достигну магического числа. «Альтернатива», потому что из того, что я прочитал, именно то, что делает статические сборки надежными - со всеми встроенными зависимостями - также делает их «тяжелыми» (большими и требовательными к памяти). По этой причине я не хотел идти по этому пути в пользу автоматически обновляемой версии программы с нормальным весом. ... Думаю, у меня есть это,
опубликуйте
Ну, хотя это обычно верно для статического исполняемого файла, в этом случае ffmpeg не использует графические или тяжелые общие библиотеки. Очевидно, вы правы, если в итоге вы запускаете разные копии ffmpeg параллельно.
Rmano
2
Принятый ответ Маршрут PPA содержит версию 0.1, которая устарела. Вы захотите использовать метод этого ответа, чтобы заставить работать много команд.
Deadghost