Получать в реальном времени видео поток rtp/rtcp на окнах

Я пытаюсь отправить и получить видеопоток с минимальной задержкой. Для отправки я использую gstreamer на linux:

gst-launch-1.0 -v rtpbin ntp-sync=false name=rtpbin \
    v4l2src do-timestamp=true ! jpegenc ! rtpjpegpay ! rtpbin.send_rtp_sink_0 \
    rtpbin.send_rtp_src_0 ! udpsink port=2000 host=192.168.1.10 name=vrtpsink \
    rtpbin.send_rtcp_src_0 ! udpsink port=2001 host=192.168.1.10 sync=false async=false name=vrtcpsink \
    udpsrc port=2005 name=vrtpsrc ! rtpbin.recv_rtcp_sink_0          

этот конвейер отправляет видео на порт 2000 и использует порты 2001 и 2005 для некоторой "волшебной" синхронизации rtcp.

Если я использую gstreamer на Linux в качестве приемника, он прекрасно работает; Я получаю задержки ниже 400 мс.

Тем не менее, я изо всех сил пытаюсь получить ту же производительность при получении на Windows. Что я попробовал:

  • VLC. Кажется, не поддерживает rtcp вообще.
  • gstreamer для windows. Кажется, работает странно, производя огромные задержки или даже слайд-шоу вместо видео; RTCP, похоже, не работает.
  • FFmpeg. Открывает порт rtcp, но это ни на что не влияет. Задержка с опцией -nobuffer составляет около 1000 мс.

У меня есть еще варианты? Любая библиотека или SDK?

0 ответов

Другие вопросы по тегам