Ich habe ein Video, für das ich den Audio-Codec in AAC 320 kbps / 44.100 kHz konvertieren möchte. Was würde ich für ffmpeg-Schalter verwenden, damit alle Videoeinstellungen und der Codec unverändert bleiben, aber nur der Audio-Codec und die Einstellungen geändert werden?
Hier ist mein Video:
$ ffmpeg -i Winnipeg.rb\ Scala-Talk.mov
FFmpeg version SVN-r25375, Copyright (c) 2000-2010 the FFmpeg developers
built on Oct 6 2010 13:02:41 with gcc 4.2.1 (Apple Inc. build 5664)
configuration: --enable-libmp3lame --enable-shared --disable-mmx --arch=x86_64
libavutil 50.32. 2 / 50.32. 2
libavcore 0. 9. 1 / 0. 9. 1
libavcodec 52.92. 0 / 52.92. 0
libavformat 52.80. 0 / 52.80. 0
libavdevice 52. 2. 2 / 52. 2. 2
libavfilter 1.48. 0 / 1.48. 0
libswscale 0.12. 0 / 0.12. 0
Seems stream 0 codec frame rate differs from container frame rate: 2000.00 (2000/1) -> 10.00 (10/1)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Winnipeg.rb Scala-Talk.mov':
Metadata:
major_brand : qt
minor_version : 537199360
compatible_brands: qt
Duration: 01:10:53.00, start: 0.000000, bitrate: 283 kb/s
Stream #0.0(eng): Video: h264, yuv420p, 800x598, 94 kb/s, 10 fps, 10 tbr, 1k tbn, 2k tbc
Stream #0.1(eng): Audio: adpcm_ima_qt, 22050 Hz, 1 channels, s16
Stream #0.2(eng): Audio: adpcm_ima_qt, 22050 Hz, 1 channels, s16
At least one output file must be specified
Vielen Dank im Voraus! Eine Sache mit ffmpeg, die ich noch nie erlebt habe, ist, wie man einfach Dateien "zwickt", ohne jede kleine Einstellung für Dinge, die man nicht ändern möchte, wieder auffliegen zu müssen.
Antworten:
Eine Zusammenfassung von Ehsans Antwort mit Fletoms Kommentar, die dank beidem für mich funktioniert.
quelle
-vcodec copy
-i input.avi
Gibt die zu konvertierende Datei an.out.avi
ist die konvertierte Datei.-acodec mp3
sagt, dass der Audio-Stream in MP3 konvertiert werden soll, während er in die Ausgabedatei geschrieben wird.vcodec copy
sagt nur, den Videostream in die Ausgabedatei zu kopieren, ohne ihn zu ändern.Schwer zu beurteilen, was Sie tun, da der Befehl ffmpeg in Ihrem Beitrag etwas verstümmelt war.
So ersetzen Sie eine Audiospur:
Weitere Informationen zu den oben genannten Parametern finden Sie in: FFmpeg-Dokumentation .
quelle
ffmpeg -i old.mkv -i onlySound.m4a out.mkv
dauert die Operation viel länger. Warum ist das so?Wenn Sie nur die Audio- und / oder Videocodecs ändern möchten, können Sie diese einfach als Parameter hinzufügen:
Ändern Sie einfach den Audio-Codec in mp3 (was auch immer der ursprüngliche Codec war)
Ändern Sie einfach den Video-Codec auf h264
Es ist gut zu wissen, dass ffmpeg die Codierung des neuen Codecs unterstützen muss. Siehe /programming/3377300/what-are-all-codecs-supported-by-ffmpeg
quelle
-vcodec copy
um zu verhindern, dass es versucht, mein Video in h.264 umzucodieren. Keine Ahnung, warum es das standardmäßig getan hat.Warum benutzt du nicht Handbrake, mit der du das Video behalten und das Audio ändern kannst und es ist eine GUI für FFmpeg und es funktioniert wie ein Zauber.
quelle