Für das Projekt, an dem ich arbeite, muss ich einige Teile desselben Videos mit einigen Untertiteln schneiden. Also habe ich eine Bash-Datei erstellt, die mehrere ffmpeg-Befehle wie diesen ausführt.
ffmpeg -i input.mp4 -vf scale="w=640:h=-2",drawtext="fontfile=/usr/share/fonts/truetype/msttcorefonts/verdana.ttf: textfile='1.txt': fontcolor=white: fontsize=20: box=1: boxcolor=black@0.5: boxborderw=5: x=(w-text_w)/2: y=((h-text_h)/2)+90:" -ss 00:00:45.674 -to 00:00:50.093 -async 1 ./out/1.mp4
ffmpeg -i input.mp4 -vf scale="w=640:h=-2",drawtext="fontfile=/usr/share/fonts/truetype/msttcorefonts/verdana.ttf: textfile='2.txt': fontcolor=white: fontsize=20: box=1: boxcolor=black@0.5: boxborderw=5: x=(w-text_w)/2: y=((h-text_h)/2)+90:" -ss 00:00:49.344 -to 00:00:52.971 -async 1 ./out/2.mp4
aber es ist schnell zum ersten Mal (Start) der Eingabedatei, es wird langsamer, wenn ich mit der Suche von der Mitte oder nahe dem Ende der Eingabe beginnen möchte. Es werden also fast 7-8 Minuten für die 22. Minute der Eingabedatei ...
ffmpeg -i input.mp4 -vf scale="w=640:h=-2",drawtext="fontfile=/usr/share/fonts/truetype/msttcorefonts/verdana.ttf: textfile='226.txt': fontcolor=white: fontsize=20: box=1: boxcolor=black@0.5: boxborderw=5: x=(w-text_w)/2: y=((h-text_h)/2)+90:" -ss 00:22:23.345 -to 00:22:25.846 -async 1 ./out/226.mp4
Weiß jemand, wie man das besser macht? Kann ich das tun, ohne jedes Mal nach einer Datei zu suchen? (Weil es scheint, dass dies ein Suchproblem für mich ist ....)
Verwenden Sie ss/to als Eingabeoptionen. Dies sucht in der Demuxer-Stufe, die viel schneller ist.
ffmpeg -ss 00:22:23.345 -to 00:22:25.846 -i input.mp4 ...
Sie benötigen einen sehr aktuellen Build von ffmpeg (> 19. November 2017)
Tanaydin
sebix
Tanaydin
Gyan
-ss
als Demuxer-Option ist alt,-to
wurde aber bis zum angegebenen Datum nicht implementiert.Tanaydin
Gyan