0

libavcodecを使用してフレームをデコードしようとしています。私のアプリケーションは、live555を使用してrtspストリームからrtpパケットを取得します。avcodec_decode_videoがgot_picture_ptrを0に設定している理由でかなり検索しましたが、見つかりませんでした。
誰かがavcodec_decode_video2が内部でどのように機能するか教えてもらえますか?got_picture_ptrポインターがゼロに設定される原因は何ですか?PS:関数はバイトを読み取ります。つまり、戻り値は常に-1ではなく正の数です。私はここで困惑しています、どんな助けもいただければ幸いです。avcodec_decode_video2を使用してデコードするコードはかなり一般的であり、コードに特別なものは何もないため、コードを引用していません(live555と一緒ではなく、libavcodecを使用して以前にrtspストリームをデコードしました)

4

1 に答える 1

0

さて、やっと解決できました。問題は、live555 から MediaSink オブジェクトを処理する方法でした。MediaSink から派生した Sink クラスの afterGettingFrame 関数を呼び出すことになっていましたが、これは実行していませんでした。そのため、データを取得していましたが、データを「読み取り」、それを avcodec_decode_video2 メソッドにフィードしていませんでした。

于 2013-01-14T11:05:42.807 に答える