我已将 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/
也不显示任何错误。
如何进一步调试此问题?