Сюрприз! Сюрприз! Задержка при UDP меньше, чем при TCP!
Была некоторая неожиданность в том, что в локальной сети задержка RTSP при воспроизведении в VLC оказалась больше, чем через удалённый сервер при использовании WebRTC. Скажем так, было совсем неочевидно, что тест даст такие результаты.
Более того, использование UDP не гарантирует задержку ниже чем TCP. Зависит от протокола, который работает поверх UDP. Например, в WebRTC активно используется TCP-like досылка видеопакетов и по этой причине нельзя сказать, будет все без задержек или нет. Зависит от реализации.
Поэтому для чистоты эксперимента надо удостовериться, что bufferTime = 0
Netstream.bufferTime был 0
Если уж и сравнивать, то WebRTC на UDP с RTMFP.
RTMP был выбран по двум причинам:
1. Как реалтаймовый протокол (по сравнению с HLS, где задержка 15 и более секунд).
2. Как самый распространенный реалтаймовый протокол, для которого есть много решений RTSP-RTMP.
Протокол RTMFP менее распространен и мне известны буквально единицы решений, конвертирующие RTSP-RTMFP. Кстати, Web Call Server поддерживает такую конвертацию.
На самом деле, тесты RTSP-RTMFP проводились. По результатам, RTMFP отстает примерно на 100-200ms от WebRTC. Возможно добавлю скриншоты в статью с результатами по RTMFP.
В статье описаны тесты трансляции RTSP на браузер. Понятно, что используя MPEG-TS и десктопный софт, можно добиться задержки в 1-2 RTT.
Была некоторая неожиданность в том, что в локальной сети задержка RTSP при воспроизведении в VLC оказалась больше, чем через удалённый сервер при использовании WebRTC. Скажем так, было совсем неочевидно, что тест даст такие результаты.
Более того, использование UDP не гарантирует задержку ниже чем TCP. Зависит от протокола, который работает поверх UDP. Например, в WebRTC активно используется TCP-like досылка видеопакетов и по этой причине нельзя сказать, будет все без задержек или нет. Зависит от реализации.
Netstream.bufferTime был 0
RTMP был выбран по двум причинам:
1. Как реалтаймовый протокол (по сравнению с HLS, где задержка 15 и более секунд).
2. Как самый распространенный реалтаймовый протокол, для которого есть много решений RTSP-RTMP.
Протокол RTMFP менее распространен и мне известны буквально единицы решений, конвертирующие RTSP-RTMFP. Кстати, Web Call Server поддерживает такую конвертацию.
На самом деле, тесты RTSP-RTMFP проводились. По результатам, RTMFP отстает примерно на 100-200ms от WebRTC. Возможно добавлю скриншоты в статью с результатами по RTMFP.