Изменяется разрешение у RTSP-стрима при трансляции в WebRTC

Здравствуйте.

А нас есть установленный сервер Wowza, через который производится стриминг видео. Все стримы происходят в разрешении 480x640 (вертикальное видео).

Так же есть установленный Web Call Server 4, он используется для ретранслирования видео-стрима Wowza в WebRTC для браузеров.
Т.е. Flashphoner просто транслирует RTSP-стрим в браузер.
Однако получает он RTSP-стрим в разрешении 480x640 (проверял это, просматривая стрим в десктопном видео-плеере VLC) - а вот в браузер он присылает стрим уже в горизонтальном виде - т.е. 4:3 - видео сплющивается по вертикали.
Причём сплющивает его именно сервер, т.к. лого Flashphoner (которое иногда на секунду отображается поверх видео) выводится нормальным, не сплющенным.

Пробовал менять значение параметра video_resolution_detecting в flashphoner.properties на сервере. Так же менял параметры videoWidth, videoHeight и forceResolution в конфигурации JS-объекта FLashphoner (на клиенте) - ничего не помогает.

Подскажите, в чём проблема?
Web Call Server 4 пока что используется бесплатный (пробная версия).
 

Max

Administrator
Staff member
Добрый день.
Скорее всего у вас немного устарела версия сервера или клиента.
В последних версиях разрешения должны работать нормально, а именно корректно задаваться с клиента.
Например, если на клиенте задано 480x640, то такое разрешение вам и должно прийти.
Попробуйте обновиться до последних версий клиента и сервера, доступных на странице http://flashphoner.com/wcs4#download

Работу с разрешением удобнее всего проверять на минимальном клиенте:
Streaming-min.html
В HTML файле не забудьте поменять сам размер <video> объекта.
Streaming-min.js
Разрешение устанавливается в width и height параметрах соединения.
Code:
 f.connect({
        urlServer: url,
        appKey: "defaultApp",        
        width: 480,
        height: 640
    });
 
Спасибо за пояснение параметров метода connect(), до вашего поста не знал что туда передаются параметры width и height, хотя довольно долго изучал документацию.
 

Max

Administrator
Staff member
Да, в документации их в данный момент нет. Постараемся скорректировать документацию в ближайшее время.
В случае работы с потоковым видео, width и height используются при установке соединения клиента с сервером.
Если WCS сервер получает поток разрешения, например 640x480 с RTSP, а на клиенте задано 320x240 для WebRTC, то поток автоматически будет rescaled к разрешению 320x240. При этом мы не следим за пропорциями, т.е. если было 480x640, то при rescaling-операции к 320x240 видео будет деформировано, т.к. пропорции не совпадают.
 
Top