Ich habe noch nie mit ffmpeg gearbeitet und frage mich, welche Optimierung ich für meine Situation nehmen kann.
In einer Schleife habe ich mehrere input.mp4-Dateien, die ich zuerst einzeln konvertiere, um mit diesem Befehl eine gemeinsame Skalierung und Audiorate zu haben:
ffmpeg -i input_01.mp4 -vf 'scale=1280:720,setdar=16/9' -ar 44100 -ac 1 input_01_tmp.mp4
Später füge ich wieder nacheinander Bilder zu jeder input.mp4-Datei hinzu:
ffmpeg -i input_01_tmp.mp4 -i input_01_logo.png -filter_complex "[0:v][1:v]overlay=10:10:enable='between(t,2,11)',fade=t=in:start_time=1.5:d=0.5:alpha=1,fade=t=out:start_time=10.5:d=0.5:alpha=1[fg];[0][fg]overlay=format=auto,format=yuv420p" -c:a copy input_01_unified.mp4
Schließlich kombiniere ich sie nach der Schleife mit mkvmerge:
mkvmerge -o output.mkv \+ input_01_unified.mp4 +\ input_02_unified.mp4 ...
Ich bin mir sicher, dass dies nicht die optimale Lösung ist und frage mich, wie ich es ändern soll.
Ist es möglich, all dies in einem Befehl zu tun? Entweder für jede Datei oder für den gesamten Vorgang.
Der einzelne Befehl wird lang sein, aber hier ist ein Beispiel für 3 Eingaben.
ffmpeg -i input_01.mp4 -loop 1 -t 11 -i input_01_logo.png
-i input_02.mp4 -loop 1 -t 11 -i input_02_logo.png
-i input_03.mp4 -loop 1 -t 11 -i input_03_logo.png
-filter_complex
"[0]scale=1280:720,setsar=1[0v];
[1]fade=t=in:st=1.5:d=0.5:alpha=1,fade=t=out:st=10.5:d=0.5:alpha=1[0l];
[2]scale=1280:720,setsar=1[1v];
[3]fade=t=in:st=1.5:d=0.5:alpha=1,fade=t=out:st=10.5:d=0.5:alpha=1[1l];
[4]scale=1280:720,setsar=1[2v];
[5]fade=t=in:st=1.5:d=0.5:alpha=1,fade=t=out:st=10.5:d=0.5:alpha=1[2l];
[0v][0l]overlay=10:10:format=auto:enable='between(t,2,11)'[0vl];
[1v][1l]overlay=10:10:format=auto:enable='between(t,2,11)'[1vl];
[2v][2l]overlay=10:10:format=auto:enable='between(t,2,11)'[2vl];
[0]pan=1c,aresample=r=44100[0a];
[2]pan=1c,aresample=r=44100[1a];
[4]pan=1c,aresample=r=44100[2a];
[0vl][0a][1vl][1a][2vl][2a]concat=n=2:v=1:a=1[v][a]"
-map "[v]" -map "[a]" -pix_fmt yuv420p output.mkv
map
Abhängig von Ihrer Shell benötigen Sie möglicherweise einfache Anführungszeichen .
Verwenden Sie eine aktuelle Version von ffmpeg, mindestens 4.0
Gyan
Eroberungen