gstreamer снижает частоту кадров после прерывания потока данных

Моя установка выглядит так:

  1. Камера Ethernet, подключенная к узлу беспроводной связи.
  2. Камера отправляет поток в кодировке H264 (320 * 184 при 25 кадрах в секунду) с использованием UDP.
  3. Другой узел беспроводной связи, подключенный к ноутбуку (Windows 7).
  4. На ноутбуке работает gstreamer.
  5. Полученные пакеты UDP используются для отображения видео без задержки.

Команда gstreamer для отображения видеопотока:
gst-launch-1.0 протоколы rtspsrc = 0x00000001 location = rtsp: //10.0.0.3: 554 / stream1 latency = 0 drop_on_latency = true! decodebin! видеомасштаб! видео / x-raw, ширина = 1280, высота = 800! автовидеосинка

Вот в чем проблема:

  1. Я прерываю поток данных, отсоединяя кабель Ethernet между камерой и первым узлом беспроводной связи на 5 секунд, а затем снова подключаю кабель. Результат: отображение видеопотока прекращается, а затем восстанавливается.
  2. Прерываю поток данных на 15 секунд. Результат: отображение видеопотока восстанавливается, но с очень низкой частотой кадров; Примерно 1 кадр в секунду. Если я перезапущу gstreamer, видеопоток снова будет хорошо представлен.

Как я могу преодолеть это снижение частоты кадров? Для меня вариант автоматического перезапуска gstreamer при обнаружении такой ситуации.

С уважением, doojoo


person Doojoo    schedule 23.03.2017    source источник
comment
Не могли бы вы установить для свойства sync раковины значение false? autovideosink sync=false   -  person Alper Kucukkomurler    schedule 23.03.2017
comment
При установке для синхронизации значения false отображение потока восстанавливается нормально!   -  person Doojoo    schedule 24.03.2017


Ответы (1)


При установке для синхронизации значения false, как было предложено Альпером, отображение потока восстанавливается нормально!
Теперь происходит следующее:

  1. Когда поток данных остановится, gstreamer продолжит показывать последний кадр.
  2. Когда поток данных запускается снова, gstreamer останавливается, и мой скрипт снова запускает gstreamer. Затем он представит видео с хорошей частотой кадров.
person Doojoo    schedule 24.03.2017