ffmpegでファイルからムービーアトムを取得するには? たとえば、avcCatom バイトが必要です。解決策があれば、自分でパーサーをコーディングしたくありません。
http://www.ffmpeg.org/doxygen/0.6/mov_8c-source.htmlはいくつかの API を提供しているようですが、私は ffmpeg に詳しくありません。
または、SPS および PPS NAL を取得するための直接 API はありますか?
ffmpegでファイルからムービーアトムを取得するには? たとえば、avcCatom バイトが必要です。解決策があれば、自分でパーサーをコーディングしたくありません。
http://www.ffmpeg.org/doxygen/0.6/mov_8c-source.htmlはいくつかの API を提供しているようですが、私は ffmpeg に詳しくありません。
または、SPS および PPS NAL を取得するための直接 API はありますか?
FFmpeg がこれらの詳細を取得するための直接 API を提供しているかどうかはわかりません。avcCただし、 QuickTime/MP4 ファイルからアトムを取得できるようにする、信じられないほど怠惰なソリューションを次に示します。
moovトップレベルのアトム構造でアトムを見つけます ( mdat、ftyp、およびおそらく他のいくつかのアトムの間をトラバースします)。moovをメモリにロードします (簡単に収まります)。これは最もクリーンなアプローチではありませんが、おそらくうまくいくでしょう。さらに正気を保つために (文字列 'avcC' がメタデータ アトムのようにアトム内の別の場所にある場合に備えて)、'avcC' 文字列の前の 4 バイトをチェックし、それらをビッグ エンディアンの 32 ビット数として扱います。avcCアトムの長さを確認し、それらが意味をなすことを確認してください。いくつかの H.264 .MP4 ファイルを確認したところ、経験的に、長さは約 43 ~ 45 バイトです。少なくとも、原子の長さが 8 (最小原子サイズ) よりも大きく、原子の端にぶつからないようにしてmoovください。