2012-03-20 9 views
0

私はffmpegについて質問があります。ffmpeg C++とAVFormatContext

私のプログラムでAVFormatContextを初期化する方法。 av_open_input_fileを作成し、AVFormatContextをパラメータの1つとして使用することは可能ですが、ファイルにはデコードに使用したいデータを使用することは可能です。私はプログラムの他のコンポーネントからchar *配列として取得します。 AVFormatContext構造体をこのデータ配列を使用してのみ初期化することは可能ですか?

答えて

0

これらの機能を見ると便利かもしれません。

AVInputFormat *av_find_input_format(const char *short_name); 

AVInputFormat *av_probe_input_format(AVProbeData *pd, int is_opened); 

AVInputFormat *av_probe_input_format2(AVProbeData *pd, int is_opened, int *score_max); 

AVInputFormat *av_probe_input_format3(AVProbeData *pd, int is_opened, int *score_ret); 

int av_probe_input_buffer(AVIOContext *pb, AVInputFormat **fmt, 
          const char *filename, void *logctx, 
          unsigned int offset, unsigned int max_probe_size); 

私は出力データでこれを行いましたが、入力データではありませんでした(私の入力データは、ビデオデバイスから取得した生のフレームでした)。入力データは何ですか?

+0

ソケット接続からのデータを、h.264でエンコードされたchar *として取得します。そして、私はそれからデコードされたビデオフレームを持っている必要があります。 – mmmaaak