2017-05-24 51 views
0

Gstreamerはかなり新しくなっています。RTSPストリームを表示するGStreamerパイプライン

GStreamerを使用してRTSPソースからデータをストリームできるビデオクライアントを作成する必要があります。私はRTSPを使用して私のラップトップに持っているビデオをストリーミングするためにVLCを設定し、そのストリームを取得して表示するパイプラインを作成したいと思います。私はplaybinを使ってみましたが、すべて正常に動作します。要点は、ビデオをストリーミングするために使用されるレイテンシを微調整する必要があることですが、私は再生ビンでそれを行うことはできないようです。

私はrtspsrcを試しましたが、これはレイテンシで作業することができるためですが、どのウィンドウでもビデオを表示する方法がわかりません。

gst-launch-1.0 rtspsrc location=rtsp://localhost:8554/test latency=300 ! decodebin ! autovideosink 

私はエラーを取得「タスクをストリーミングが一時停止し、交渉ではない理由(-4)」:それは、私が作成したパイプラインです。

インターネットで深く見た後、別のパイプラインを試しましたが、間違いなく間違いました。 RTSPのビデオを表示するためにgstreamerパイプラインを作成するにはどうすればよいですか?

最終目標は、少なくとも待ち時間の点で調整可能パイプラインを持っているので、私は2つの選択肢があります可能であれば

  • は、playbin要素の待ち時間を設定します。 (この要素はビデオを正しく表示します)
  • rtspsrcでレイテンシを設定できるので、ビデオを正しいパイプラインで表示してください。

私はXubuntu 16.04、gstreamer-tools-1.0(0.10も使用)を使用しています.VLCを使用したビデオIストリームはmp4拡張です。

答えて

1

あなたは右のプロパティを設定し、playbinコンポーネントを使用することにより、待ち時間を調整することができます

gst-launch-1.0 -v playbin uri=rtsp://localhost:8554/test uridecodebin0::source::latency=300 

あなたは、これが役に立つことを願っ:)

0

playbinは、私がチェックしたlatencyオプションの最後の時間を持っています。スケールはrtspsrcのものとは異なります。 rtspsrcはミリ秒単位であり、playbinはナノ秒単位です。入力ビデオの要件(vbvバッファの制限)によっては、まだ一定のしきい値を下回っていない可能性があります。あなたはおそらく正しいautovideosinkvideoconvertまたはautovideosonvert要素を欠場あなたのrtspsrcパイプラインについては

+0

ありがとうございます!私は上記の答えで解決策を得たと思う。しかし、私はまだ 'rtsp'の2番目の解決策に興味があります。私は 'videoconvert'と' autovideoconvert'の両方で試しましたが、私は何も見ません。パイプラインは厳しいと思われる。エラーメッセージは表示されません。パイプラインに他の要素が必要ですか?ありがとう! –

+0

GST_DEBUG = 3をエクスポートし、ログの内容を確認してください。 –

関連する問題