【问题标题】:WebRTC H.264 video streaming from Raspberry Pi only works with Pi Camera, not USB Camera来自 Raspberry Pi 的 WebRTC H.264 视频流仅适用于 Pi 摄像头,不适用于 USB 摄像头
【发布时间】:2020-01-12 16:21:44
【问题描述】:

我已将 Janus 设置为通过 WebRTC 从 Raspberry Pi 流式传输 H.264 视频。当我使用 Pi 相机时它可以工作。但是当我使用 USB 网络摄像头 (Logitech C270) 时,视频不会显示在浏览器中。

Pi Camera 流式传输和 USB 网络摄像头流式传输的配置和命令行参数几乎相同。唯一的区别在于 Pi 相机,我使用 raspivid 生成 H.264 编码视频,然后通过管道传输到 ffmpeg 以用作 RTP 流。而对于 USB 网络摄像头,我直接使用 ffmpeg 从 V4L2 设备获取输入并将其编码为 H.264。

更具体地说,使用 Pi 相机,我的命令是:

raspivid -t 0 -n -fps 20 -pf baseline -b 700000 -o - | ./ffmpeg -re -i - -c:v copy -bsf dump_extra -an -r 20 -f rtp rtp://0.0.0.0:8004?pkt_size=1300

而使用 USB 摄像头 (Legitech C270),我的命令是:

./ffmpeg -f v4l2 -i /dev/video0 -bsf dump_extra -an -r 20 -codec:v h264_omx -profile:v baseline -f rtp rtp://0.0.0.0:8004?pkt_size=1300

Janus 配置完全相同。

当视频不显示时,Javascript 控制台或 Janus 控制台上没有打印错误。 chrome://media-internals/ 也不显示任何错误。

如何进一步调试此问题?

【问题讨论】:

  • 通过此设置,您能够实现什么数量级的延迟?

标签: raspberry-pi webrtc h.264 janus janus-gateway


【解决方案1】:

您确定 /dev/video0 确实是您的罗技相机吗?只要连接了树莓派相机模块,/dev/video0 就是 pi 相机模块。尝试找出您是否拥有正确的设备。

您可能还想尝试创建一个 mp4 文件而不是 rtp 流。这样,您至少可以将问题追溯到 ffmpeg 或 janus。如果你从 ffmpeg 得到一个好的 mp4 文件,问题就会出在其他地方。

你也没有任何来自 ffmpeg 的错误吗?

【讨论】:

    猜你喜欢
    • 2022-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-16
    • 2016-12-04
    • 2012-06-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多