h.264 でエンコードされたビデオ ストリームがあり、mp4 ファイルを作成したい。
/* mp4 の出力形式を見つける */
m_pOutputFormat= av_guess_format("mp4", NULL, NULL);
if (!m_pOutputFormat) は FALSE を返します。// 適切な出力形式 (mp4) が見つかりませんでした。
このコードでは、h264ではなくビデオコーデックのmpegを取得します。これは、libx264なしでffmpegをビルドしたためだと思います。(そして、ライセンスのためにlibx264でffmpegを構築したくありません)
m_pOutputFormat->video_codec= CODEC_ID_H264;
video_codec を CODEC_ID_H264 に変更すると、一部のプレーヤー (kmplayer) で正常に動作します。ただし、iPod、QuickTime では動作しません。
codec_tag の値を変更できなかったため、このコードは間違っている可能性があります (この変数には const プロパティがあります)。
1. libav+libx264 を再コンパイルせずに av_guess_format("mp4",NULL,NULL) の他の結果を取得するにはどうすればよいですか?
2. mp4 ファイルを適切に作成するにはどうすればよいですか?