我正在使用 i.Mx6 双处理器连接 USB 摄像头(UVC 摄像头)支持 1080p 30FPS 使用 UDP 端口流式传输到 X86 平台。
任何人都可以帮助我使用如何实现这一目标。
对于流式传输 1080p,我正在使用下面的管道
发件人: gst-launch-1.0 v4l2src device=/dev/video0 !图片/jpeg,宽度=1920,高度=1080,帧率=30/1! jpeg解码器!视频比例!视频转换!队列 ! imxvpuenc_h264 比特率=6000 gop-size=60! rtph264支付! udpsink host=192.168.0.108 port=5000 sync=false
接收器: gst-launch-1.0 -vc udpsrc port=5000 !应用程序/x-rtp,有效负载=96! rtp抖动缓冲区! rtph264depay ! avdec_h264 ! fpsdisplaysink sync=false async=false
** 如何计算 UVC 相机的输出帧,使其在不使用任何额外的编码/解码的情况下将 MJPEG 从 i.MX6 流式传输到 X86。 **
如果你的相机是MJPG,你不需要解码和编码成H264。 H264 使用 P 和 B 帧的时间冗余,因此与每个帧都可以单独编码的 MJPG 相比,这会增加延迟。
发件人:
gst-launch-1.0 v4l2src device=/dev/video0 ! image/jpeg, width=1920, height=1080, framerate=30/1 ! rtpjpegpay ! queue ! udpsink host=192.168.0.108 port=5000
接收者:
gst-launch-1.0 udpsrc port=5000 ! application/x-rtp,encoding-name=JPEG,clock-rate=90000,payload=26 ! queue ! rtpjpegdepay ! decodebin ! fpsdisplaysink video-sink=fakesink text-overlay=0 -v