Eingabe-Codecs beibehalten

Eingabe-Codecs beibehalten

Ich habe eine MKV-Datei mit H.264-Video und AAC-Audio. Bei FFmpeg ist der Standard-Audiocodec für MKV AC3. Wenn Sie also einen Befehl wie diesen ausführen:

ffmpeg -i infile.mkv -ac 2 outfile.mkv

es wird das Audio in AC3 transkodieren. Ich kann diesen Befehl ausführen und alles ist gut

ffmpeg -i infile.mkv -ac 2 -c:a libfdk_aac outfile.mkv

Gibt es jedoch eine Möglichkeit, „den Eingabecodec verwenden“ zu sagen? Beachten Sie, dass dies copynicht funktioniert, da ich eine Änderung am Audiostream vornehme.

Antwort1

Eine solche Option gibt es meines Wissens nicht. Sie müssen explizit angeben, die Standardeinstellungen verwenden oder zusätzliche Skripte ausführen.

Wenn Sie der Meinung sind, dass dies als Funktion implementiert werden sollte, können Sie eine Funktionsanforderung auf derFFmpeg-Fehlerverfolgung(Suchen Sie zuerst, ob bereits eines vorhanden ist).

Beachten Sie, dass sich der Standardencoder für Ihr Ausgabecontainerformat je nach den von Ihnen unterstützten externen Codierungsbibliotheken ändern kann. Wenn Ihr ffmpegBuild beispielsweise libvorbis unterstützt, wird es für MKV-Ausgaben dieses anstelle von ac3 verwenden.

ffprobekann helfen:

$ ffprobe -v 0 -of flat=s=_ -select_streams a:0 -show_entries stream=codec_name input.mkv
streams_stream_0_codec_name="aac"

Dies ist natürlich möglicherweise nur von begrenztem Nutzen, da es codec_namesich möglicherweise nicht um den Namen des gewünschten Encoders handelt.

verwandte Informationen