Моя установка выглядит так:
- Камера Ethernet, подключенная к узлу беспроводной связи.
- Камера отправляет поток в кодировке H264 (320 * 184 при 25 кадрах в секунду) с использованием UDP.
- Другой узел беспроводной связи, подключенный к ноутбуку (Windows 7).
- На ноутбуке работает gstreamer.
- Полученные пакеты 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! автовидеосинка
Вот в чем проблема:
- Я прерываю поток данных, отсоединяя кабель Ethernet между камерой и первым узлом беспроводной связи на 5 секунд, а затем снова подключаю кабель. Результат: отображение видеопотока прекращается, а затем восстанавливается.
- Прерываю поток данных на 15 секунд. Результат: отображение видеопотока восстанавливается, но с очень низкой частотой кадров; Примерно 1 кадр в секунду. Если я перезапущу gstreamer, видеопоток снова будет хорошо представлен.
Как я могу преодолеть это снижение частоты кадров? Для меня вариант автоматического перезапуска gstreamer при обнаружении такой ситуации.
С уважением, doojoo
autovideosink sync=false
- person Alper Kucukkomurler   schedule 23.03.2017