Ich versuche, die AR eines Videos mit ffmpeg wie folgt zu ändern:
ffmpeg -i in.mp4 -aspect 16:9 -c copy out.mp4
...und obwohl dies grundsätzlich funktioniert, geht ein zweiter Audiostream, der in der Quelle vorhanden ist, sowie Untertitel verloren. Wie kann ich dies tun, ohne etwas zu verlieren?
Antwort1
Alle Streams zuordnen
ffmpeg -i in.mp4 -aspect 16:9 -map 0 -c copy out.mp4
FFmpeg wählt standardmäßigeinzigerVideo- und Audiostream von der Quelle, ohne Karte.
Antwort2
Verwenden Sie map
Parameter, um Audiostreams auszuwählen und Streams für jeden Stream separat zu kopieren. Beispiel (bitte kopieren Sie das Beispiel nicht so, wie es ist, in Ihre Befehlszeile mit Kommentaren, Sie müssen zuerst die Kommentare entfernen und es als einzelne Zeile formatieren oder Zeilenumbrüche mit \
Symbolen verbinden!):
ffmpeg -i input.mp4
-map 0:0 -map 0:1 # Include both (2) audio streams
-aspect 16:9 # Change video aspect ratio
-c:v copy # Copy audio codec settings
-c:a copy # Copy audio codec settings
-c:s copy # Copy subtitles
output.mp4
oder
ffmpeg -i input.mp4
-map 0:? # Include all audio streams
-aspect 16:9 # Change video aspect ratio
-c:v copy # Copy audio codec settings
-c:a copy # Copy audio codec settings
-c:s copy # Copy subtitles
output.mp4