Нет поддержки libx264

Нет поддержки libx264

пожалуйста, помогите мне с моим случаем. У меня возникли проблемы с ffmpeg. Я использую команду:

ffmpeg -i whiskey.mkv -threads 0 -c:v libx264 -crf 28 -preset veryslow -vf "movie=logo.png[wm];[in][wm]overlay=0:0,subtitles=whiskey.srt[out]" whiskey2.mp4

но получаю ошибку

root@:~/ffmpeg# ffmpeg -i whiskey.mkv -threads 0 -c:v libx264 -crf 2
8 -preset veryslow -vf "movie=logo.png[wm];[in][wm]overlay=0:0,subtitles=whiskey
.srt[out]" whiskey2.mp4
ffmpeg version N-80522-ge0faad8 Copyright (c) 2000-2016 the FFmpeg developers
  built with gcc 4.9.2 (Debian 4.9.2-10)
  configuration:
  libavutil      55. 24.100 / 55. 24.100
  libavcodec     57. 46.100 / 57. 46.100
  libavformat    57. 38.102 / 57. 38.102
  libavdevice    57.  0.101 / 57.  0.101
  libavfilter     6. 46.102 /  6. 46.102
  libswscale      4.  1.100 /  4.  1.100
  libswresample   2.  1.100 /  2.  1.100
Unrecognized option 'crf'.
Error splitting the argument list: Option not found

Если у вас есть какая-либо команда для кодирования водяного знака + субтитров без потери качества, пожалуйста, сообщите мне.

решение1

Нет поддержки libx264

Вы пытаетесь использовать кодировщик libx264, но ваш ffmpegне был настроен на поддержку этого кодировщика. Ваша configureстрока пустая, но для использования libx264 требуется --enable-libx264& .--enable-gpl

Самый простой способ исправить это —загрузить статическую сборкуffmpeg: он будет поддерживать libx264.

Никакой «потери качества»

Фильтрация требует повторного кодирования, но вы пытаетесь использовать параметры, которые приведут к потерям на выходе.

Если вы действительно не хотите потери качества, вам нужно сделать вывод без потерь, но большинство пользователей не хотят этого, потому что файл будет огромным, и не все проигрыватели/устройства могут его поддерживать. Для вывода без потерь с использованием libx264 используйте -crf 0.

То, что вы, вероятно, на самом деле хотите, это с потерями, но с достаточно хорошим качеством, чтобы вы не могли сказать, что это технически не без потерь. Для этого используйте -crf 18.

Ваша команда имеет лишние, бесполезные опции. Очищенный пример:

ffmpeg -i whiskey.mkv -i logo.png -filter_complex \
"[0:v][1:v]overlay,subtitles=whiskey.srt" \
-c:v libx264 -crf 18 -preset veryslow output.mp4

Если входной звук совместим с контейнером MP4, -c:a copyдобавьтепотоковое копированиеаудио, а не перекодировать его.

Также см:

Связанный контент