2

コマンドラインで、次のコマンドを実行すると、次のようになります。

ffmpeg -i inputVideo.mp4 -vn -f mp4 -acodec copy outputAudio.aac

すべてが完全に正常に動作します。ただし、出力ファイルの代わりに標準出力( "outputAudio.aac"の代わりに"pipe:1")を除いて同じことを行うと、次のエラーが発生します: "出力ファイル#0のヘッダーを書き込めませんでした(コーデックパラメーターが正しくありません) ?)」

ffmpegの経験がある人からの助けは大歓迎です

ありがとう

4

1 に答える 1

1

問題は、ファイル名がoutputAudio.aacのmp4ファイルを要求していることです。したがって、outputAudio.aacを確認すると、実際にはmp4ファイルです。mp4ファイルを書き込むには、ffmpegにはstdoutではないシーク可能なファイル記述子が必要です。[これは、mp4moovアトムがファイルの先頭の最後に書き込まれているためです。
aacをstdoutにダンプしたい場合は、adtsファイルを要求する必要があります

ffmpeg -i input.mp4 -acodec copy -vn -f adts -strict -2 -

mp4で必要な場合は、その後ファイルに多重化してください

mp4はストリーミング形式ではありません。これを説明する別の質問への回答については、AndroidMediaRecorderからストリーミングした後の3GPファイルを修正してください。

于 2012-08-29T06:04:36.077 に答える