2016-04-07 16 views
0

私は(読みやすくするためにフォーマットされた)、私は設定していた以前のUbuntuシステムに取り組んで、このパイプラインを持っていたと確信している:私は私のプログラムの中でそれを使用しようとすると、私が得る、このGStreamerパイプラインで何が問題になっていますか?

しかし
playbin 
    uri=rtspt://user:[email protected]/ch1/main 
    video-sink='videoconvert 
       ! videoflip method=counterclockwise 
       ! fpsdisplaysink' 

Missing element: H.264 (Main Profile) decoder 
WARNING: from element /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: 
    No decoder available for type 'video/x-h264, 
    stream-format=(string)avc, alignment=(string)au, 
    codec_data=(buffer)014d001fffe10017674d001f9a6602802dff35010101400000fa000030d40101000468ee3c80, 
    level=(string)3.1, profile=(string)main, width=(int)1280, 
    height=(int)720, framerate=(fraction)0/1, parsed=(boolean)true'. 

Additional debug info: 
    gsturidecodebin.c(938): unknown_type_cb(): 
     /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0 

は今、私は H264デコーダがインストールされている かなり確信しているし、実際のGStreamerプラグインはautogen.sh/configureは、正しく事実を認識しました。インストールパッケージはh264enc,libx264-142,libx264-devおよびx264です。

私はfpsdisplaysinkの代わりにautovideosinkより「許容」を使用している場合には、正確に同じことを行い、または私はgst-play-1.0でRTSPストリームを再生しようとした場合。ただし、テストパターンソースvideotestsrcを使用すると動作します。

私は間違っていますか?

答えて

0

gstreamerがH264をデコードするのに適したプラグインを見つけられないようです。 H264デコーダ要素がインストールされていないか、gstreamerが要素の間違ったパスを探しています。

まず、gst-inspect-1.0を実行してみます。これは、gstreamerが検出したすべての要素の長いリストを出力するはずです。

  • これは、任意の要素を返さない場合は、おそらくあなたのプラグインがインストールされているディレクトリを指すようにGST_PLUGIN_PATH環境変数を設定する必要があります。 Running Gstreamer - このリンクが役立ちます。
  • 多くの要素を返す場合は、gst-inspect-1.0 avdec_h264を実行して、H264デコーダ要素があることを確認します。
+0

検査では、すべてのプラグインが使用可能であることが示されているため、プラグインのパスは必要ありません。私は 'avdec_h264'を持っていませんが、' x264'はデコードを行い、検査結果と '/ usr/lib/gstreamer-1.0/libgstx264.so'にリストされています。 – paxdiablo

+2

私が知る限り、x264デコーダはなく、エンコーダのみです[こちら](http://gstreamer-devel.966125.n4.nabble.com/Where-can-I-get-x264enc-x264dec-rtph264pay -and-depay-td2553663.html)。 H264をデコードするavdec_h264要素を取得するには、gst-libavをインストール/コンパイルする必要があります。 – jfoytik

関連する問題