2

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

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

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

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/也不显示任何错误。

如何进一步调试此问题?

4

1 回答 1

0

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

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

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

于 2020-06-13T09:20:39.837 回答