我正在尝试将我的英特尔实感 D435 RGB 摄像头输入传输到我的网络上的多播地址。
请注意,视频流、编码对我来说很新 - 我不太了解,在解释解决方案时,请给我一些额外的细节,谢谢:)
我的硬件设置:
Intel RealSense D435(带 USB Type-C 连接器)
Raspberry Pi 4(4GB Ram)(服务器)
5G 有线 Wifi 路由器(提及详细信息)
首先,问题是什么:
当尝试/dev/video4
使用 ( 将我的 (RBG 输入) 传输到网络时全力输出):
ffmpeg -f v4l2 -input_format yuyv422 -video_size 1280x720 -i /dev/video4 -c:v h264_omx -pix_fmt yuv420p -s 1280x720 -r 30 -g 60 -f mpegts udp://238.0.0.1:5000
然后客户端我尝试使用 VLC 和 ffplay 查看流。
- 甚高频液晶
在单独的网络客户端上使用 VLC,网络流udp://238.0.0.1:5000
无限加载,没有图片(我尝试在 pi 上向本地主机进行流式传输,但在使用udp://127.0.0.1: 5000
ffmpeg 流的本地主机上也没有显示)。
- 飞飞游戏
在单独的网络客户端上检测到了 FFPlay 流,但给出了这使用时的错误输出ffplay udp://238.0.0.1:5000
。
我为什么要使用h264_omx
?
Raspberry Pi 具有硬件编码能力,为了利用这一点,我配置了 ffmpeg
--enable-omx \
--enable-mmal \
--enable-omx-rpi \
我能通过网络获取照片吗
是的,但存在问题。视频非常非常不连贯,质量极差。为了实现这一点,我ffplay
在单独的网络客户端上使用了与上述相同的命令,使用的服务器命令是 SW 编码器libx264
(服务器完整输出) 和 (客户端完整输出):
ffmpeg -f v4l2 -input_format yuyv422 -video_size 1280x720 -i /dev/video4 -c:v libx264 -pix_fmt yuv420p -s 1280x720 -r 30 -g 60 -f mpegts udp://238.0.0.1:5000
真正让我困扰的是,在启动客户端和服务器后,我等了 25 秒才用上述命令获取图片。
此外,这是我迄今为止遇到的一个主要问题,我的流媒体延迟了 5-7 秒——我知道高清编码可能会有帮助,而且网络传播需要时间,但在小型 5G 网络上,我不应该等待 7 秒才能看到质量较差(几乎 144p @ 5-10fps)的视频流
在 IRC 上诊断此问题时,我被要求提供以下信息:
ffmpeg -f v4l2 -list_formats all -i /dev/video4
结果v4l2-ctl --list-devices
pi@raspberrypi:~ $ v4l2-ctl --list-devices bcm2835-codec-decode (platform:bcm2835-codec): /dev/video10 /dev/video11 /dev/video12 Intel(R) RealSense(TM) Depth Ca (usb-0000:01:00.0-2): /dev/video0 /dev/video1 /dev/video2 /dev/video3 /dev/video4 /dev/video5
v4l2-ctl --list-formats
pi@raspberrypi:~ $ v4l2-ctl --list-formats ioctl: VIDIOC_ENUM_FMT Type: Video Capture [0]: 'Z16 ' (16-bit Depth) [1]: '' (00000050-0000-0010-8000-00aa003)
ffmpeg -encoders | grep h264
全力输出V..... libx264 libx264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (codec h264) V..... libx264rgb libx264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 RGB (codec h264) V..... h264_omx OpenMAX IL H.264 video encoder (codec h264) V..... h264_v4l2m2m V4L2 mem2mem H.264 encoder wrapper (codec h264)
V.....h264_vaapi H.264/AVC (VAAPI) (编解码器 h264)
ffmpeg -encoders | grep h264
全力输出VFS..D h264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 V..... h264_v4l2m2m V4L2 mem2mem H.264 decoder wrapper (codec h264) V..... h264_mmal h264 (mmal) (codec h264)
是什么阻止我通过网络获取高质量的 720p 图像,以及是什么导致了这 5-7 秒的延迟(即使添加了 -g 60 之后也是如此)这里)