Aus dem Quellcode des drawtext
Filters (aus libavfilter/vf_drawtext.c
dem Quellbaum) scheint ein textfile
Parameter zu bestehen, der einen Pfad zu einer Datei angeben kann, die die zu zeichnende Zeichenfolge enthält (im Gegensatz zur Einstellung des text
Parameters wie in Ihrem Beispiel). Sie können experimentieren, indem Sie einen Dateipfad als übergeben textfile
und die Datei aktualisieren, während Sie die Videoausgabe anzeigen .
Sie benötigen auch ein anderes Programm / einen Daemon, der parallel läuft, um die Datei zu aktualisieren (die nur den aktuellen Text enthält, der angezeigt werden soll). Dieses Programm wäre jedoch ziemlich trivial, vorausgesetzt, Sie könnten es mit der Systemuhr synchronisieren.
Alternativ können Sie den drawtext
Filter selbst so ändern, dass eine bestimmte Zeichenfolge basierend auf dem aktuellen Timecode angezeigt wird (der für FFmpeg-Filter verfügbar ist ). Dies erfordert zwar eine Änderung des Quellcodes des Filters und eine erneute Kompilierung von Grund auf, es würde jedoch auch die Verwendung eines separaten Programms / Daemons vermieden, das parallel ausgeführt wird (da Ihr eigener Code immer dann aufgerufen wird, wenn FFmpeg versucht, einen String zu zeichnen).
Vorausgesetzt, der textfile
Parameter funktioniert (gelesen: wird jeden Frame aktualisiert), wäre dies wahrscheinlich eine bessere Methode, da ein einfacher Daemon zum Aktualisieren der Textdatei in einer Skriptsprache wie Python geschrieben werden könnte.