Проблема с воспроизведением RTSP потоков от различных источников

Alexander D.

New Member
Доброго дня.
Есть несколько источников RTSP потоков:
- RTSP напрямую с камер
- RTSP c сетевых видеорегистраторов (NVR от Hikvision и Dahua)
Прямые потоки с камер воспроизводятся без проблем.
Проблема возникает с потоками с регистраторов, либо поток не воспроизводится совсем, либо отображается только один кадр.
Все RTSP потоки без проблем воспроизводятся в VLC.
Flashphoner WCS развернут в Docker, лицензия приобретенная.

Примеры из логов:
Поток с регистратора - х.х.х.242
Поток с камеры - х.х.х.249

В чем может быть проблема?

Выслал логи и информацию о лицензии на support@flashphoner.com с указанием на этот пост. Если нужна дополнительная информация, логи и т.д., пишите, вышлю отдельно туда же.
 
Last edited:

Max

Administrator
Staff member
Добрый день.

RTSP потоки обычно не воспроизводятся по нескольким причинам
1. Источник потока не дает RTCP синхронизацию либо на потоке отсутствует аудио
В этом случае помогает настройка
Code:
rtp_force_synchronization=true
2. Источник потока кодирует H.264 в профиле несовместимом с браузером Chrome либо источник потока имеет ошибки в пакетизации
В этом случае помогает включение транскодинга
Code:
disable_streaming_proxy=true
3. Неподдерживаемый кодек.
В этом случае должно быть соответствующее сообщение об ошибке.

В логах, которые вы прислали есть ошибки. Нужно смотреть подробнее откуда они взялись.
Пришлите пожалуйста debug-отчет по документации.
Тогда сможем более точно определить причину и что-то посоветовать.
В отчете просьба указать какой RTSP URL в какое время (серверное время для сопоставления с логами) тестировался и какие с ним возникли проблемы.
 

Max

Administrator
Staff member
Получили отчеты.
Попробуйте в плеере модифицировать javascript и играть audio-only
Code:
var constraints = {audio: false, video: true};
session.createStream({name:"rtsp://...", constraints}).play();
Возможно проблема с данным конкретным RTSP стримом в том, что он отдает только видео часть потока.
Кроме этого попробуйте предложенные выше пункты 1 и 2.
Для дальнейшей работы нам нужен доступ к вашему RTSP стриму.
Есть ли возможность выставить его во внешнюю сеть для подключения?
Если да, пришлите внешний адрес RTSP потока на support@flashphoner.com
Если этого сделать нельзя, мы попробуем восстановить поток по присланному pcap дампу, но это может занять время и усложнит разбор.
 

Alexander D.

New Member
Благодарю за ответ.

Предложенные выше пункты уже пробовал, никаких изменений.

Изменил код player.js, аналогично никаких изменений не заметил.
На всякий случай уточню, достаточно ли было добавить эти значения в переменную options в функции playStream?
Code:
    var options = {
        name: streamName,
        display: remoteVideo,
        flashShowFullScreenButton: true,
        audio: false,
        video: true
    };
Насчет проброса стрима ещё уточню и отпишу здесь позднее.
 

Max

Administrator
Staff member
достаточно ли было добавить эти значения в переменную options в функции playStream?
Нет. Значения, задающие параметры воспроизведения аудио и видео, задаются в constraints:
Code:
   var options = {
        name: streamName,
        display: remoteVideo,
        flashShowFullScreenButton: true,
        constraints: {audio: false,  video: true}
    };
 

Max

Administrator
Staff member
В таком случае крайне желателен доступ к стриму.
 

Alexander D.

New Member
Впн согласовали, остался вопрос: вам нужен будет доступ к нормально воспроизводящемуся rtsp для сравнения? Или только проблемного потока будет достаточно?
 

Max

Administrator
Staff member
Добрый день.
Мы подключились к Вашим потокам тестовым WCS сервером, а также VLC. На текущий момент результаты такие:
1. Прямой поток с камеры играет и в VLC, и в WCS, возможны артефакты (в VLC) и пропуски кадров (WCS), но это может быть связано с пропускной способностью канала, у Вас поток разрешения 1920x1080.
2. Поток с NVR Hikvision в VLC отображается, но показывает только первый кадр, затем фриз. В WCS либо не отображается, либо аналогично первый кадр и фриз. В любом случае, через 1-2 секунды медиапакеты от источника вообще прекращают поступать, VLC на это не обращает внимания, а WCS разрывает соединение через 60 секунд после получения последнего пакета с видео (настройка по умолчанию).
3. Поток с NVR Dahua в VLC отображается, но показывает только первый кадр, затем фриз. В WCS также отображается первый кадр, затем фриз. При этом в логах сервера обращают на себя внимание сообщения о дублирующихся и out-of-bound пакетах.
Можно порекомендовать следующее:
1. Обновить WCS до последней версии 5.1.3575, это, возможно, улучшит качество проигрывания потоков, которые нормально доходят до сервера
2. Проверить настройки видеорегистраторов, а также качество канала между видеорегистраторами и сервером. Настройки сервера, кроме рекомендованных ранее, нет смысла трогать, поскольку и в VLC, и в WCS потоки ведут себя одинаково.
 

Alexander D.

New Member
Доброго дня.
Как я уже указывал в письме, поток с NVR Hikvision в VLC отображается без проблем. Поток с NVR Dahua в VLC отображается c частотой один кадр в примерно 4-5 секунд. Сейчас проверил ещё раз, фризов в VLC не наблюдается.
Ситуация с отображением только первого кадра и последующим фризом возникает только в WCS.
Странное поведение, может быть вызвано пропускной способностью канала?
 

Max

Administrator
Staff member
При повторной проверке через VPN в VLC воспроизводится и фриз, и потоки с регистраторов отображаются через раз. Учитывая такую разницу в результатах, просим предоставить SSH доступ к Вашему WCS серверу, чтобы исключить влияние канала.
 
Top