Wie kann man Videos mit einem einzigen Befehl in FFMPEG teilen, umkehren und verketten?

Ich möchte ein umgekehrtes Video mit Audio erstellen und aus einem großen Clip entfernen. Für dieses erste geteilte Video in einem Segment wird dann das umgekehrte Video geteilt und dann alle umgekehrten Videos als einzelne Videodatei verkettet, aber es dauert zu lange, alle Befehle auszuführen.

Ich möchte einen einzelnen Befehl zum Teilen, Umkehren und Verketten von Videos ausführen.

erstes Split-Video:

String[] cmd = {"-ss", spos, "-t", epos, "-i", videoPath, "-preset", "ultrafast", "-c:v", "libx264", "-crf ", "22", "-map", "0", "-segment_time", "6", "-g", "9", "-sc_threshold", "0", "-force_key_frames", "expr: gte(t,n_forced*6)", "-f", "segment","file%3d.mp4"};

dann umgekehrtes geteiltes Video:

String[] cmd = {"-i", splitlistFiles[i].getAbsolutePath(), "-preset", "ultrafast", "-vf", "reverse", "-af", "areverse", file2.getAbsolutePath ()}

Verketten Sie schließlich alle umgekehrten Videos als einzelnes Video:

String[] cmd={"-i", reverselistFiles[i].getAbsolutePath(),"-filter_complex","[0:v0][0:a0","concat=n=N::v=1:a =1 [v] [a]","-preset", "ultrafast", "-map", "[v]", "-map", "[a]", file.getAbsolutePath()}

Bitte helfen Sie mir, wie ich Video mit Audio umkehren und Audio in kürzerer Zeit entfernen kann. Vielen Dank im Voraus :) und sorry für schlechtes Englisch.

Antworten (1)

Wenn Sie die Videos in derselben Reihenfolge zusammenfassen möchten, in der sie sich befanden, aber mit umgekehrten einzelnen Videos, haben Sie meiner Meinung nach bereits den besten Weg gefunden, und es gäbe keinen Einzeiler.

Wenn Sie die Videos verketten und dann umkehren, würde es so aussehen:

ffmpeg -f concat -safe 0 -i mylist.txt -c copy pipe: | ffmpeg -i pipe: -vf reverse reversed.mp4

Quellen:

  1. https://trac.ffmpeg.org/wiki/Concatenate

  2. https://stackoverflow.com/questions/45899585/pipe-input-in-to-ffmpeg#comment99663597_45902691

  3. Wie verwende ich den FFmpeg-Befehl für Reverse-Video?