2011-06-23 6 views
0

gstreamer-javaを使用してUDPマルチキャストによって送信されたIPカメラからのMPEG-4ビデオストリームを表示しようとしています。 カメラによって送信された各フレームは、複数のUDPパケットに分割されます。 UDPパケットから完全なフレームをアセンブルした後、バイト配列として表されるIフレームとPフレームのシーケンスを取得します。私はこれらのフレームのそれぞれを "AppSrc"にプッシュします。 "AppSrc"は "decodebin"に接続されている "capsfilter"に接続されています。問題は:gstffmpegdec.c:2259:gst_ffmpegdec_frame:ffdec_mpeg4:デコードエラー(len:-1、have_data:0)です。 私はまた、次のチェーンを試しました:apprc => capsfilter => mpeg4videoparse => decodebin => videosink。 結果は同じでした。 この問題を回避するにはどうすればよいですか?マルチキャストによって送信されたMPEG-4ビデオストリームの正しい復号方法は何ですか?

答えて

0

私は片道を見つけたので、安定性をテストしています。私は (gitクローンgit://anongit.freedesktop.org/gstreamer/gst-plugins-good)からコンパイルしました gstreamerコア、 "ベース"、 "良い"、 "悪い"パッケージ。 そして、 "xviddec"プラグインを適用しました。このプラグインは現在、 "video/mpeg、mpegversion = 4"という文字列でバッファを処理することができます。

パイプラインの説明は、 "gstreamer-java"ラッパーのAppSrcオブジェクトとVideoComponentオブジェクトに接続されている "mpeg4videoparse name = parser!xviddec!ffmpegcolorspace!capsfilter name = outfilter"です。私は、次のJVMパラメータ渡し、私のコンパイルgstreamerのバイナリへのパスを指定する

:「。

注意をコンパイルすることを " "-Djna.library.path =" path_to_my_home/binに/ GStreamerの/ libがxviddec"パッケージ "libxvidcore-dev"をインストールする必要があります。

関連する問題