Wie kann ich ein Video in Einzelbilder aufteilen und diese anschließend auch mit dem Audio wieder zusammensetzen?

Wie kann ich ein Video in Einzelbilder aufteilen und diese anschließend auch mit dem Audio wieder zusammensetzen?

Wie kann ich ein Video in Einzelbilder aufteilen und diese anschließend auch mit dem Audio wieder zusammensetzen?

Ich verwende dies:

So extrahieren Sie die Frames: ffmpeg -i "video_path" frame%04d.png

So extrahieren Sie den Ton: ffmpeg -i video_path -vn -ar 44100 -ac 2 -ab 192k -f mp3 audio_path_output

Zum erneuten Zusammensetzen: ffmpeg -i img%04d.png -i "audio_path" -c:v libx264 -r 25 -pix_fmt yuv420p -c:a copy -shortest "video_path_output"

Antwort1

Um ein Video in Einzelbilder aufzuteilen und diese dann mit dem Audio wieder zusammenzusetzen, können Sie das Befehlszeilentool ffmpeg verwenden.

Um die Frames aus dem Video zu extrahieren, können Sie den folgenden Befehl verwenden:

ffmpeg -i "video_path" frame%04d.png

Dieser Befehl extrahiert die Einzelbilder aus dem Video und speichert sie als separate Bilddateien. Der %04dName der Ausgabedatei gibt die Einzelbildnummer an, mit führenden Nullen, um sicherzustellen, dass die Dateien richtig sortiert sind.

Um den Ton aus dem Video zu extrahieren, können Sie den folgenden Befehl verwenden:

ffmpeg -i video_path -vn -ar 44100 -ac 2 -ab 192k -f mp3 audio_path_output

Dieser Befehl extrahiert den Ton aus dem Video und speichert ihn als separate MP3-Datei.

Um das Video aus den Einzelbildern und dem Audio wieder zusammenzusetzen, können Sie den folgenden Befehl verwenden:

ffmpeg -i img%04d.png -i "audio_path" -c:v libx264 -r 25 -pix_fmt yuv420p -c:a copy -shortest "video_path_output"

Dieser Befehl verwendet die Frames und das Audio als Eingabe und fügt sie zu einer neuen Videodatei zusammen. Die Optionen -c:vund -c:ageben die Codecs an, die für das Video bzw. Audio verwendet werden sollen. Die -rOption gibt die Framerate an und die -pix_fmtOption gibt das Pixelformat an. Die -shortestOption stellt sicher, dass das Ausgabevideo dieselbe Dauer hat wie die kürzeste Eingabe (entweder das Video oder das Audio).

Um die drei Befehle in einem einzigen Skript zusammenzuführen, können Sie das folgende Shell-Skript verwenden:

    # Extract frames from video
ffmpeg -i "video_path" frame%04d.png

# Extract audio from video
ffmpeg -i video_path -vn -ar 44100 -ac 2 -ab 192k -f mp3 audio_path_output

# Reassemble video from frames and audio
ffmpeg -i img%04d.png -i "audio_path" -c:v libx264 -r 25 -pix_fmt yuv420p -c:a copy -shortest "video_path_output"

Sie können dieses Skript in einer Datei speichern (z. B. split_and_reassemble.sh) und es mit dem folgenden Befehl ausführen:

bash split_and_reassemble.sh

Dadurch werden die drei Befehle nacheinander ausgeführt. Dabei werden die Frames aus dem Video extrahiert, der Ton extrahiert und anschließend das Video aus den Frames und dem Ton wieder zusammengesetzt.

verwandte Informationen