Wie kann ich meinem Video in ffmpeg eine Textüberlagerung hinzufügen?
Wie kann ich bei einem Video "video1.flv" "StackOverflow" -Text während des gesamten Videos in der Mitte des Bildschirms mit weißem Text und einem Rand hinzufügen?
@bitWorking - Ich sehe, dass Ihr Kommentar bereits 3 Jahre alt ist, aber ich bitte Sie trotzdem, die Mitglieder der Stackoverflow-Community nicht mit Ihren verschleierten Links "Lass mich das für dich googeln" zu beleidigen und Zeit zu verschwenden. Vor allem, wenn Sie die Rekursion einführen (ich bin über die Google-Suche hierher gekommen). Auch die Verwendung von URL-Kürzungen kann potenzielle Malware- oder Spam-Links verbergen, da Sie nicht wissen, wohin Sie verweisen.
Das @0.5steuert die Deckkraft des Textfelds. In diesem Beispiel ist es auf 50% eingestellt. Sie können entfernen @0.5und es wird keine Transparenz geben.
-codec:a copywird Kopie streamen die Audio- und vermeiden Re-Encoding (Re-Mux).
Eine Alternative zum Drawtext-Filter ist die Verwendung von ASS- oder SRT-Untertiteln, insbesondere wenn Sie zeitgesteuerten Text oder Softsubs wünschen.
Wenn Sie den Text aktualisieren oder ändern möchten, lesen Sie die Optionen textfileund reloadfür diesen Filter.
Für diesen Filter müssen Sie ffmpegkompiliert werden --enable-libfreetype. Wenn Sie es bekommen No such filter: 'drawtext', fehlt es wahrscheinlich --enable-libfreetype. Die meisten ffmpegverfügbaren statischen Builds unterstützen dies . Links finden Sie auf der FFmpeg-Download- Seite.
@NoahTernullo gibt es auch Strftime-Optionen und "pts" -Variable, die Sie verwenden können. Um den Tick am unteren Rand zu aktivieren, können Sie wahrscheinlich eine Funktion für x-Variablenwertänderungen verwenden, die auf Punkten oder der Frame-Nummer basieren.
Rogerdpack
1
@chovy Deine ffmpegBedürfnisse müssen mit gebaut werden --enable-libfreetype.
Llogan
2
Zu Ihrer Information, für diejenigen, die mit Brew installieren, können Sie dieses Flag --with-libefreetypean den Installationsbefehl übergeben.
Chovy
7
@chovy Ich denke, die Homebrew-Option, die Sie erwähnt haben, sollte sein--with-freetype
Rico Picone
1
@VivekThummar Es muss in Form von -vf "scale=1920:1080,drawtext=..."Beachten Sie das Komma ( ,), das die Filter verbindet. Das Komma fehlt in Ihrem ausgeführten Befehl. Dies ist ein Problem mit Ihrer Implementierung des Befehls ffmpeg in Android.
Antworten:
Verwenden Sie den
drawtext
Videofilter in ffmpeg:Das
@0.5
steuert die Deckkraft des Textfelds. In diesem Beispiel ist es auf 50% eingestellt. Sie können entfernen@0.5
und es wird keine Transparenz geben.-codec:a copy
wird Kopie streamen die Audio- und vermeiden Re-Encoding (Re-Mux).Eine Alternative zum Drawtext-Filter ist die Verwendung von ASS- oder SRT-Untertiteln, insbesondere wenn Sie zeitgesteuerten Text oder Softsubs wünschen.
Wenn Sie den Text aktualisieren oder ändern möchten, lesen Sie die Optionen
textfile
undreload
für diesen Filter.Für diesen Filter müssen Sie
ffmpeg
kompiliert werden--enable-libfreetype
. Wenn Sie es bekommenNo such filter: 'drawtext'
, fehlt es wahrscheinlich--enable-libfreetype
. Die meistenffmpeg
verfügbaren statischen Builds unterstützen dies . Links finden Sie auf der FFmpeg-Download- Seite.Weitere Optionen und Beispiele finden Sie in der Dokumentation zum Drawtext-Filter .
quelle
ffmpeg
Bedürfnisse müssen mit gebaut werden--enable-libfreetype
.--with-libefreetype
an den Installationsbefehl übergeben.--with-freetype
-vf "scale=1920:1080,drawtext=..."
Beachten Sie das Komma (,
), das die Filter verbindet. Das Komma fehlt in Ihrem ausgeführten Befehl. Dies ist ein Problem mit Ihrer Implementierung des Befehls ffmpeg in Android.