からH264ストリームを抽出し、私はのgstreamerで遊ぶために始めていると私は、このようなだからUSBウェブカメラ(ロジクールC920)
今gst-launch-1.0 -v v4l2src device=/dev/video1 ! video/x-raw,format=YUY2,width=640,height=480,framerate=10/1 ! videoconvert ! autovideosink
として非常に単純なパイプを行うことができるよ、(私のUSBウェブカメラなどこれはvideo1、video0はコンピュータの内蔵カメラです)はh264(私はlsusb
を使用してチェックしました)をサポートしています。私はh264フィードを直接取得しようとします。私はこのフィードがmjpegのものに多重化されていることを理解していますが、ウェブ上を見渡すと、gstreamerはそれにもかかわらずそれを得ることができます。
私の最終目標はBeagleboneからそれをストリーミングすることですので、私は(別の端末からリスナーを追加)this postに与えられた溶液を用いた試みをした:
#sender
gst-launch-1.0 v4l2src device=/dev/video1 ! video/x-264,width=320,height=90,framerate=10/1 ! tcpserversink host=192.168.148.112 port=9999
しかし、これは次のエラーを得られます。
WARNING: erroneous pipeline: could not link v4l2src0 to tcpserversink0
私も
012( that postに基づいて、そこに与えられた完全なコマンドをしようとすると、同じエラーメッセージが表示されます)生からH264へのソースを変更し、私の最初のコマンドのようなものを試してみましたgst-launch-1.0 -v v4l2src device=/dev/video1 ! video/x-h264,width=640,height=480,framerate=10/1 ! h264parse ! avdec_h264 ! autovideosink
しかし、再び、これはどちらか動作しませんでした:
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data flow error.
Additional debug info:
gstbasesrc.c(2948): gst_base_src_loop(): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
streaming task paused, reason not-negotiated (-4)
Execution ended after 0:00:00.036309961
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...
私はこれはかなり狂気私を運転している認める:ウェブ上のSOまたは他の場所で見て、作られた多くの人々があるように思われますそれは私が持っているものとまったく同じウェブカメラ(Logitech C920)で動作しますが、問題を次々と実行し続けます。
そのウェブカメラからh264を抽出する正しいパイプの例は何ですか?