В настоящее время я работаю над проектом, который использует Nvidia Jetson. Нам необходимо передать 3 камеры через UDP RTP в один источник (одноадресный), сохраняя при этом содержимое всех трех камер.Gstreamer потоковой передачи нескольких камер по RTP при сохранении каждого потока
У меня проблемы с моим конвейером. Вероятно, это простая ошибка, которую я просто не вижу.
gst-launch-1.0 -e v4l2src device=/dev/video0 ! 'video/x-raw, width=(int)640, height=(int)480' ! tee name=c c. ! queue ! omxvp8enc bitrate=1500000 ! rtpvp8pay ! udpsink bind-port=8574 host=129.21.57.204 port=8574 loop=false c. ! queue ! omxh264enc bitrate=1500000 ! mp4mux ! queue ! filesink location=test-RightFacingCamera.mp4 v4l2src device=/dev/video1 ! 'video/x-raw, width=(int)640, height=(int)480' ! tee name=b b. ! queue ! omxvp8enc bitrate=1500000 ! rtpvp8pay ! udpsink bind-port=8564 host=129.21.57.204 port=8564 loop=false b. ! queue ! omxh264enc bitrate=1500000 ! mp4mux ! queue ! filesink location=test-LeftFacingCamera.mp4 v4l2src device=/dev/video2 ! 'video/x-raw, width=(int)640, height=(int)480' ! tee name=a a. ! queue ! omxvp8enc bitrate=1500000 ! rtpvp8pay ! udpsink bind-port=8554 host=129.21.57.204 port=8554 loop=false a. ! queue ! omxh264enc bitrate=1500000 ! mp4mux ! queue ! filesink location=test-FrontFacingCamera.mp4
Теперь проблема в том, что 2 из 3-х потоков просто остановится без причины, нет отладочной информации на всех, они просто перестанут транслировать и записывать в файл после того, как около 2 минут до времени ,
Кроме того, я решил преобразовать это в C/C++ w/Gstreamer, я не знаю, с чего начать, если кто-то хочет указать мне направление. В настоящее время у меня есть код JavaScript, который определяет каждую камеру по серийному номеру и назначает порт данной камере. Затем выполняется эта команда.
Спасибо за любую помощь.