ffmpeg - 使用 Gstreamer 将 Raspberry Pi USB 网络摄像头流传输到计算机

标签 ffmpeg raspberry-pi gstreamer webcam

我有一个连接到树莓派的鱼眼 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/

相关文章:

postgresql - Raspberry PI 不监听 5432 端口

c++ - Qt TCP 服务器不从客户端读取数据

python - 获取 openCV 错误 : Assertion Failed

c++ - GStreamer 失真取决于图像大小

Python + QT + Gstreamer

ffmpeg - 我的过滤器似乎以错误的顺序应用

html - 如何使用 ffmpeg 通过 http 流式传输

ffmpeg - 通过 ffmpeg 转换视频时出现混合开销错误

java - 使用 GStreamer 创建 AVI 文件

java - 使用 Xuggler 时提高 Theora 的视觉质量