1

v4l2loopback を使用して、ビーグルボーンからの rtsp ストリームを仮想 Web カメラとして使用しようとしています。

ビーグルボーン(サーバー)で、次のようにストリームを開始します。

cvlc --sout=#rtp{sdp=rtsp://:8554/test} 'v4l2:///dev/video0:chroma=H264:width=640:height=480'

私のクライアントでは、問題なく vlc を使用してストリームを表示できます。今、私はストリームを仮想ウェブカメラとして使用しようとしています:

gst-launch-1.0 -v rtspsrc location=rtsp://192.168.7.2:8554/test ! v4l2sink device=/dev/video0

コマンドの結果は次のとおりです。

/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:manager.GstGhostPad:recv_rtp_sink_0: caps = "application/x-rtp\,\ media\=\(string\)video\,\ payload\=\(int\)96\,\ clock-rate\=\(int\)90000\,\ encoding-name\=\(string\)H264\,\ packetization-mode\=\(string\)1\,\ a-tool\=\(string\)\"vlc\\\ 2.0.3\"\,\ a-recvonly\=\(string\)\"\"\,\ a-type\=\(string\)broadcast\,\ a-charset\=\(string\)UTF-8\,\ ssrc\=\(uint\)2741328849\,\ clock-base\=\(uint\)712921660\,\ seqnum-base\=\(uint\)2089\,\ npt-start\=\(guint64\)9615207000\,\ play-speed\=\(double\)1\,\ play-scale\=\(double\)1"
FEHLER: Von Element /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstUDPSrc:udpsrc0: Interner Fehler im Datenfluss.
Zusätzliche Fehlerdiagnoseinformation:
gstbasesrc.c(2933): gst_base_src_loop (): /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstUDPSrc:udpsrc0:
streaming task paused, reason not-linked (-1)
Execution ended after 0:00:00.049701641
Leitung wird auf PAUSIERT gesetzt ...
Leitung wird auf BEREIT gesetzt ...
Leitung wird auf NULL gesetzt ...
Leitung wird geleert ...

ここで何が悪いのか誰か知っていますか?何か不足していますか、それともこれを達成する別の方法はありますか? ありがとう!

4

3 に答える 3

0

パイプラインでビデオ ストリームをデコードする必要があります。パイプラインにdecodebinを挿入するだけです:

gst-launch-1.0 -v rtspsrc location=rtsp://192.168.7.2:8554/test ! decodebin ! v4l2sink device=/dev/video0
于 2016-04-10T23:59:57.040 に答える
0

rtspsrc と v4l2sink を直接リンクできるとは思いません。中間ステップを追加する必要があります。

自分で見つける方法:

gst-inspect-1.0 rtspsrc

「Capabilities:」を検索します - v4l2sink に直接リンクできない application/x-rtp または x-rdt を出力することがわかります。

次にv4l2sink、同じ方法で機能を確認します(シンクの場合)

解決:

rtspsrc と v4l2sink の間には少なくとも rtph264depay が必要です。または、decodebin または uridecodebinを使用できます

于 2015-09-29T09:15:08.830 に答える
0

これが作業中のパイプラインです。私の場合、「ティー」を追加する必要がありました。そうしないと、ビデオ デバイスで最初の数フレームしか取得できませんでした。

gst-launch-1.0 rtspsrc location=rtsp://admin:password@192.168.1.250:554/Streaming/Channels/101 ! decodebin ! videoconvert ! video/x-raw,format=YUY2 ! tee ! v4l2sink device=/dev/video0
于 2020-06-29T19:46:13.923 に答える