我有一个连接到树莓派的鱼眼 USB 网络摄像头,我正在尝试将其传输到计算机。我玩过 ffmpeg,超过 320x240 似乎有点滞后。据我所知,人们对 gstreamer 很满意。
所以我测试了 USB 网络摄像头,它可以在本地工作
gst-launch-1.0 -v v4l2src 设备=/dev/video0 ! '视频/x-raw,宽度=640,高度=480'! glimagesink
这些是我一直尝试用来将视频传输到我的计算机的命令。然而,我看到的只是一个绿色的窗口。
TCP 服务器:gst-launch-1.0 -v v4l2src device=/dev/video0 ! '视频/x-raw,宽度=640,高度=480,帧速率=30/1'! x264enc 字节流=true ! rtph264支付!国内生产总值支付! tcpserversink 主机=192.168.200.38 端口=5000 同步=false
TCP 客户端:gst-launch-1.0 -v tcpclientsrc 主机=192.168.200.38 端口=5000 ! gdp支付! rtph264depay ! avdec_h264!视频转换! autovideosinksync=false
或
UDP 服务器:
gst-launch-1.0 -v v4l2src 设备=/dev/video0 ! '视频/x-raw,宽度=640,高度=480,帧速率=30/1'! x264enc 字节流=true ! rtph264支付!国内生产总值支付! udpsink主机=192.168.200.37端口=5000同步=false
UDP 客户端:
gst-launch-1.0 -v udpsrc 端口=5000! gdp支付! rtph264depay ! avdec_h264!视频转换! autovideosinksync=false
我想我一定是在某种程度上错误地安装了插件。任何建议表示赞赏。
最佳答案
所以我折腾了一天,终于成功了。我将发布到目前为止我所拥有的内容。队列让 rpi 多线程 h264 编码部分,我已经将 omxh264enc 分割为 x264enc,因为它是 openmax/加速的。这两项变化都有助于延迟。
我想我不需要gdppay? (看到有人在没有它的情况下进行直播Stream webcam video with gstreamer 1.0 over UDP to PC)
rpi端
gst-launch-1.0 -vv -e v4l2src 设备=/dev/video0 ! “视频/x-raw,宽度=640,高度=480”!队列 ! omxh264enc ! h264解析! rtph264支付! udpsink主机=192.168.200.37端口=5000
电脑端
gst-launch-1.0 -vv -e udpsrc 端口=5000 !应用程序/x-rtp,有效负载=96! rtph264depay !队列 ! avdec_h264!视频转换! autovideosinksync=false
关于ffmpeg - 使用 Gstreamer 将 Raspberry Pi USB 网络摄像头流传输到计算机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36023598/