工具/软件:
1.将 4 个数据流配置为 PAD 0、并将每个摄像机设置为相同的分辨率:
media-ctl -d /dev/media1 -R '“30122000.ticsi2rx"[0/0->1/0“[0/0->1/0 [1]、0/1 ->2/0 [1]、0/2 ->3/0 [1]、0/3 ->4/0 [1]]'
media-ctl -d /dev/media1 -R '“cdns_csi2rx.30121000.csi-bridge"[0/0“[0/0 -> 1/0 [1]、0/1 -> 1/1 [1]、0/2->1/2 [1]、0/3 -> 1/3 [1]'
media-ctl -d /dev/media1 -V '“30122000.ticsi2rx":“:0/0 [fmt:UYVY8_1x16/720x480 字段:seq-RGB tb 颜色空间:sRGB xfer:sRGB YCbCr:601 量化:lim-range]“
media-ctl -d /dev/media1 -V '“30122000.ticsi2rx":“:0/1 [fmt:UYVY8_1x16/720x480 字段:seq-RGB tb 颜色空间:sRGB xfer:sRGB YCbCr:601 量化:lim-range]“
media-ctl -d /dev/media1 -V '“30122000.ticsi2rx":“:0/2 [fmt:UYVY8_1x16/720x480 字段:seq-RGB tb 颜色空间:sRGB xfer:sRGB YCbCr:601 量化:lim-range]“
media-ctl -d /dev/media1 -V '“30122000.ticsi2rx":“:0/3 [fmt:UYVY8_1x16/720x480 字段:seq-RGB tb 颜色空间:sRGB xfer:sRGB YCbCr:601 量化:lim-range]“
media-ctl -d /dev/media1 -V '“cdns_csi2rx.30121000.csi-bridge":“:0/0 [fmt:UYVY8_1x16/720x480 字段:seq-RGB tb 颜色空间:sRGB xfer:sRGB YCbCr:601 量化:lim-range]“
media-ctl -d /dev/media1 -V '“cdns_csi2rx.30121000.csi-bridge":“:0/1 [fmt:UYVY8_1x16/720x480 字段:seq-RGB tb 颜色空间:sRGB xfer:sRGB YCbCr:601 量化:lim-range]“
media-ctl -d /dev/media1 -V '“cdns_csi2rx.30121000.csi-bridge":“:0/2 [fmt:UYVY8_1x16/720x480 字段:seq-RGB tb 颜色空间:sRGB xfer:sRGB YCbCr:601 量化:lim-range]“
media-ctl -d /dev/media1 -V '“cdns_csi2rx.30121000.csi-bridge":“:0/3 [fmt:UYVY8_1x16/720x480 字段:seq-RGB tb 颜色空间:sRGB xfer:sRGB YCbCr:601 量化:lim-range]“
v4l2-ctl -d /dev/video2 --set-fmt-video width=720
v4l2-ctl -d /dev/video3 --set-fmt-video width=720
v4l2-ctl -d /dev/video4 --set-fmt-video width=720
v4l2-ctl -d /dev/video5 --set-fmt-video width=720
8.仅在第一个视频设备上开始流式传输:
gst-launch-1.0 --no-position v4l2src device=/dev/video2! video/x-raw、width=720、height=480、format=UYVY、帧速率=60/1! 自动视频接收器
帧速率会很差。
9.关闭流并打开任何一个其他流:
gst-launch-1.0 --no-position v4l2src device=/dev/video3! video/x-raw、width=720、height=480、format=UYVY、帧速率=60/1! 自动视频接收器
帧速率和数据良好。
请注意、仅当 CSI 数据中存在其他虚拟通道视频流时才会发生这种情况。 如果没有其他 CSI 流 VC 数据、则没关系。
在图中、我显示了低帧速率导致的失真:
通过打开每个发送流消耗所有 VC 流数据、可校正流 0 上的数据。
另请注意、这是动态的。 例如、如果仅连接 vc0 和 VC1、并且流正在传输、我可以看到错误的帧速率、然后断开连接到 VC1 的摄像头(从 CSI 流中删除其数据)、vc0 流将进入正确的帧速率。
我还尝试了 SDK 11 中的补丁、这些补丁删除了 TI_CSI2RX_DMA_IDLE、它们无法解决此问题。
这也是不一致的,首先,图像可能看起来正常,但最终会发生什么导致它有问题. (可能是 3 个 v4l2 缓冲区中的一个完全不有序?)