通过UDP使用gstreamer进行网络摄像头流媒体

Dav*_*nko 15 gstreamer

这是我正在尝试的:

gst-launch -v udpsrc port=1234 ! fakesink dump=1

我测试:

gst-launch -v audiotestsrc ! udpsink host=127.0.0.1 port=1234

一切正常,我可以看到从这里来的包裹 audiotestsrc

现在让我们测试网络摄像头来源:

gst-launch -v v4l2src device=/dev/video0 ! queue ! videoscale method=1 ! "video/x-raw-yuv,width=320,height=240" ! queue ! videorate ! "video/x-raw-yuv,framerate=(fraction)15/1" ! queue ! udpsink host=127.0.0.1 port=1234

没有任何反应,转储中没有包.

这里是一个logdump的什么服务器长篇大论节目.

有没有人对此有所了解?

ent*_*eek 18

试试这些(你可能要为这个安装gstreamer-ugly插件)

来自网络摄像头的UDP流(通过网络流)

gst-launch v4l2src device=/dev/video0 ! 'video/x-raw-yuv,width=640,height=480' !  x264enc pass=qual quantizer=20 tune=zerolatency ! rtph264pay ! udpsink host=127.0.0.1 port=1234
Run Code Online (Sandbox Code Playgroud)

从网络摄像头收到的UDP流(通过网络接收)

gst-launch udpsrc port=1234 ! "application/x-rtp, payload=127" ! rtph264depay ! ffdec_h264 ! xvimagesink sync=false
Run Code Online (Sandbox Code Playgroud)

更新

要确定流端的有效负载,只需使用详细选项 gst-launch -v ...

  • 队列元素通过在另一个线程中发送数据来解耦流.见http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-plugins/html/gstreamer-plugins-queue.html和http://gstreamer.freedesktop.org/wiki/FAQ#head-9f14f8ce765b3d24c91660db5f02e3345da98a35 (3认同)
  • 在编码和流式传输之间包含队列是个好主意.允许更好的时间和更少的抖动播放. (2认同)