пожалуйста, помогите мне с моим случаем. У меня возникли проблемы с 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
добавьтепотоковое копированиеаудио, а не перекодировать его.