FFMPEG - почему после установки получается старая версия?

475
Utkanos

Мне удалось установить FFMPEG на Centos через WHM, следуя этому руководству .

Но когда я бегу, ffmpeg -versionя получаю:

2.8.15

... тогда как на официальном сайте говорится, что последняя версия 4.0.2.

Как я могу обновить мою установку или установить заново с последней версией?

(Контекст: я пытаюсь выяснить, почему преобразование WEBM в MP4 через FFMPEG приводит к 0-байтовому файлу, и я подумал, что обновление FFMPEG может помочь.)

0
В репозитории Nux Desktop, используемом в руководстве, не должно быть последней версии FFMPEG. Вы можете запросить обновление на [их форумах] (https://forums.nux.ro/). [Через] (https://li.nux.ro/repos.html) Worthwelle 5 лет назад 1
Поделитесь полным журналом команды ffmpeg Gyan 5 лет назад 1
Также обратите внимание, что сопровождающий репозитория Nux Desktop [предлагает] (https://forums.nux.ro/index.php?t=msg&th=521&goto=3824&S=b5e9c06b7b182d3f443f3bc21e2f9f4b#msg_3824) установить из исходных кодов [binaries] https://johnvansickle.com/ffmpeg/). Worthwelle 5 лет назад 1
Спасибо за ответы. Однако установка чего-либо на сервере - это не то, о чем я знаю. Можно ли "установить из двоичных файлов" из CPanel WHM? У меня нет доступа к физическому серверу, только WHM. Utkanos 5 лет назад 0

1 ответ на вопрос

1
LordNeckbeard

Забудьте репо Nux Dextop. В настоящее время он предоставляет только ветку FFmpeg 2.8 и более ранние версии (я просто просматривал каталог пакета ).

  1. Удалить старую ffmpeg:

    sudo yum remove ffmpeg 
  2. Удалите этот репозиторий (необязательно, но рекомендуется). Я оставлю это на ваше усмотрение.

  3. Загрузите новый ffmpeg. Нет необходимости в репо, так как предварительно скомпилированного бинарника достаточно.

    curl -OL https://johnvansickle.com/ffmpeg/builds/ffmpeg-git-64bit-static.tar.xz 
  4. Извлеките это:

    tar xvf ffmpeg-git-64bit-static.tar.xz 
  5. Скопируйте или переместите ffmpegфайл в нужное место, PATHчтобы он был исполняемым для всех пользователей (дата в этом примере является просто заполнителем, так как он изменяется в зависимости от того, когда он был скомпилирован):

    sudo cp ffmpeg-git-20181103-64bit-static/ffmpeg /usr/local/bin 
  6. Убедитесь, что вы используете последнюю версию, выполнив ffmpegкоманду. Первая строка должна выглядеть примерно так:

    ffmpeg version N-92330-gd6d407d2d7 Copyright (c) 2000-2018 the FFmpeg developers 

    ... где d6d407d2d7(за исключением часто сбивающего с толку и раздражающего gпрефикса) - это частичный хэш конкретного коммита, из которого он ffmpegбыл получен в основной ветке.

См. Что такое статическая сборка и как ее установить? Больше подробностей.

Спасибо. Я добрался до шага 5, какие ошибки. msgstr "невозможно указать 'ffmpeg-git-20181103-64bit-static / ffmpeg': такого файла или каталога нет". К этому моменту все прошло отлично. Utkanos 5 лет назад 0
Ах, это похоже на то, что результирующее распаковывание tar произвело `20181101`, а не` 20181103`, как в вашей команде Utkanos 5 лет назад 0
Отлично - все установлено. Хотя, кажется, сложнее определить номер версии, чем со старой; если я запускаю `ffmpeg -version`, я получаю` ffmpeg version N-47330-g4a976200d7-static` - как вы интерпретируете версию из этого? :) Utkanos 5 лет назад 0
@Utkanos Дата в моей команде была просто примером того, как дата меняется для каждой сборки. Что касается версии, поскольку вы используете сборку из ветки git master, вам нужно будет перейти с номером хеша коммита и просмотреть его через `git log` или git-web ([пример для 4a976200d7] (https: // git.videolan.org/?p=ffmpeg.git;a=commit;h=4a976200d7)). Релизы всегда сильно отстают от текущей разработки: они предназначены для дистрибьюторов или тех, кому необходимо оставаться в рамках конкретной основной версии для совместимости API. LordNeckbeard 5 лет назад 0

Похожие вопросы