Загрузка данных


1)Находим свободные устройства:
v4l2-ctl --list-devices

2)Передаём эти устройства в качестве параметра video_nr(61 - AI stream 1(360p), 62 - DVR stream 1(1080p), 63 - AI stream 2(360p), 64 - DVR stream 2(1080p))
insmod /lib/modules/6.18.2-1.0.0-g0f0acbc9e776/kernel/drivers/media/v4l2-core/v4l2loopback.ko video_nr=61,62,63,64 card_label="AI_360p_Stream1","DVR_1080p_Stream1","AI_360p_Stream2","DVR_1080p_Stream2" exclusive_caps=1,1,1,1 

# Запускаем в фоне или в отдельной консоли RTSP H265 server
test-launch "( tcpclientsrc host=127.0.0.1 port=5000 ! video/x-h265, stream-format=(string)byte-stream ! h265parse config-interval=1 ! rtph265pay name=pay0 pt=96 )" &

# Запускаем CSI камеру
gst-launch-1.0 libcamerasrc camera-name="/base/soc/bus@42000000/i2c@42540000/os08a20_mipi@36" ! video/x-raw,width=1920,height=1080,format=YUY2 ! tee name=main_tee main_tee. ! queue max-size-buffers=2 leaky=downstream ! imxvideoconvert_g2d ! video/x-raw,width=1920,height=1080 ! v4l2sink device=/dev/video62 main_tee. ! queue max-size-buffers=2 leaky=downstream ! imxvideoconvert_g2d ! video/x-raw,width=640,height=360 ! v4l2sink device=/dev/video61 main_tee. ! queue max-size-buffers=2 leaky=downstream ! imxvideoconvert_g2d ! video/x-raw,width=1280,height=720 ! v4l2h265enc ! video/x-h265,stream-format=byte-stream ! h265parse ! tcpserversink host=127.0.0.1 port=5000

Проверка с другой консоли(ssh)
#Запись
gst-launch-1.0 v4l2src device=/dev/video62 ! "video/x-raw,format=YUY2" ! queue ! v4l2h265enc ! h265parse ! matroskamux ! filesink location=/tmp/rec_$(date +%Y%m%d_%H%M%S).mkv
#Проверка RTSP
gst-launch-1.0 rtspsrc location=rtsp://127.0.0.1:8554/test ! rtph265depay ! h265parse ! v4l2h265dec ! waylandsink
#Проверка AI 360p
gst-launch-1.0 v4l2src device=/dev/video61 ! "video/x-raw,format=YUY2" ! waylandsink