bitte helfen Sie mir in meinem Fall, ich habe hier Probleme mit ffmpeg, ich verwende den Befehl:
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
aber bekomme Fehler
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
Wenn Sie einen Befehl zum Kodieren von Wasserzeichen + Untertiteln ohne Qualitätsverlust haben, sagen Sie es mir bitte.
Antwort1
Keine libx264-Unterstützung
Sie versuchen, den Encoder libx264 zu verwenden, aber Ihr ffmpeg
System ist nicht für die Unterstützung dieses Encoders konfiguriert. Ihre configure
Zeile ist leer, aber für die Verwendung von libx264 ist --enable-libx264
& erforderlich --enable-gpl
.
Der einfachste Weg, dies zu beheben, besteht darin,Laden Sie eine statische Version vonffmpeg
: es wird libx264 unterstützen.
Kein „Qualitätsverlust“
Zum Filtern ist eine erneute Kodierung erforderlich, Sie versuchen jedoch, Optionen zu verwenden, die zu einer verlustbehafteten Ausgabe führen.
Wenn Sie wirklich keinen Qualitätsverlust wollen, müssen Sie eine verlustfreie Ausgabe erstellen, aber die meisten Benutzer wollen das nicht, weil die Datei riesig wird und nicht alle Player/Geräte dies unterstützen. Für eine verlustfreie Ausgabe mit libx264 verwenden Sie -crf 0
.
Was Sie wahrscheinlich tatsächlich wollen, ist verlustbehaftete, aber in einer ausreichend guten Qualität, sodass Sie nicht erkennen können, dass es technisch nicht verlustfrei ist. Verwenden Sie hierfür -crf 18
.
Ihr Befehl hat zusätzliche, nutzlose Optionen. Ein bereinigtes Beispiel ist:
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
Wenn das Eingangsaudio mit dem MP4-Container kompatibel ist, fügen Sie -c:a copy
hinzu:Streamkopiedas Audiomaterial, anstatt es neu zu kodieren.