Многоадресный UDP-поток Jetson TX2 с gstreamer

Я пытаюсь заставить Jetson TX2 с Ubuntu 18.04 передавать свой вход CSI, закодированный в H264, в многоадресную рассылку UDP с помощью gstreamer. Я прошел (как) весь Интернет, перепробовал все коды, и я не могу подключиться к нему с помощью VLC ни по URL-адресу, ни по файлу SDP. Однако я могу подключиться к нему с того же компьютера с другим экземпляром gstreamer. Цель - иметь возможность подключаться к потоку из браузера, но я думаю, было бы проще заставить его работать с VLC.

Код сервера:

gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! omxh264enc ! 'video/x-h264, stream-format=(string)byte-stream' ! h264parse ! rtph264pay mtu=1400 ! udpsink host=239.127.1.21 port=5000

Код получателя: gst-launch-1.0 udpsrc port=5000 ! application/x-rtp,encoding-name=H264,payload=96 ! rtph264depay ! h264parse ! avdec_h264 ! xvimagesink

Это работает, и код приемника открывает окно с видео. Когда я попытался получить через VLC, у меня возникли проблемы, но в основном ничего не работает, а VLC только подключается, я пробовал:

  • vlc udp://:5000
  • vlc rtp://:5000 ошибка: A description in SDP format is required to receive the RTP stream. Note that rtp:// URIs cannot work with dynamic RTP payload format (96).
  • vlc udp://239.127.1.21:5000
  • vlc rtp://239.127.1.21:5000 (та же ошибка, что и выше для rtp...)
  • vlc v.sdp с файлом sdp:
v=0
c=IN IP4 239.192.1.21
m=video 5000 RTP/AVP 96 
a=rtpmap:96 H264/90000

Я пробовал разные IP-адреса - IP-адрес сервера, localhost, я пытался подключиться с другого компьютера и пробовал различные комбинации IP-адресов клиентов и IP-адресов серверов. Мне также не удалось подключиться к одноадресной рассылке, но мне нужно, чтобы многоадресная рассылка работала.

Итак, мой вопрос в основном таков: как подключиться к потоку gstreamer из браузера.


person Márius Rak    schedule 22.05.2019    source источник


Ответы (1)


Не могли бы вы попробовать

gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! omxh264enc ! 'video/x-h264, stream-format=(string)byte-stream' ! h264parse ! rtph264pay mtu=1400 config-interval=1 pt=96 ! udpsink host=239.127.1.21 port=5000

с файлом sdp

v=0
c=IN IP4 239.127.1.21
m=video 5000 RTP/AVP 96 
a=rtpmap:96 H264/90000
person Alper Kucukkomurler    schedule 27.05.2019
comment
Спасибо, это работает. Похоже, проблема была в крышках. Также мне пришлось правильно настроить vlc с аргументом --miface. - person Márius Rak; 31.05.2019
comment
omxh264enc не является встроенным кодировщиком nvidia, поэтому он будет медленнее, не так ли? - person Stepan Yakovenko; 22.10.2019
comment
@StepanYakovenko не совсем. Аппаратный кодировщик Nvidia совместим с openmax, поэтому omxh264enc будет использовать аппаратный кодировщик. Руководства пользователя Nvidia рекомендуют этот компонент: - person Alper Kucukkomurler; 22.10.2019
comment
Как вы это просматриваете в браузере? - person Akash Basudevan; 15.10.2020