0

AAC( "libfaac")オーディオエンコーダーの場合、FFmpegのコマンドを使用して「MPEGバージョン」を「MPEG-4」または「MPEG-2」に指定するにはどうすればよいですか?

4

1 に答える 1

1

libfaac を使用する場合、FFmpeg は MPEG バージョンを MPEG-4 にハードコードします。これはlibfaac.c、118 行目で確認できます。

faac_cfg->mpegVersion = MPEG4;

変更したい場合は、FFmpeg ソースをダウンロードし、MPEG2代わりに使用するようにこの行を変更し、適切な構成 (を含む--enable-libfaac) で FFmpeg を再コンパイルする必要があります。これは機能し、再生可能なファイルを生成しますが、MPEG-4 コンテナー用の有効なビットストリームを作成するには、明らかにビットストリーム フィルターを使用する必要があります。

ffmpeg -i in.wav -c:a libfaac -absf aac_adtstoasc out.m4a

代わりに FAAC API を直接使用する場合は、もちろん、必要に応じてこのパラメーターを変更できます。


理想的には、これを手動で設定できるようにする新しいオプションを含むように FFmpeg のパッチを送信しますが、ハードコードされたデフォルトとして MPEG-4 が選択されたことを考えると、これを実装する説得力のある理由はわかりません。

于 2013-02-28T12:35:34.497 に答える