Если вы используете turnserver из Google являетсяWCS сейчас не поддерживает WebRTC over TCP/TLS из коробки.
Для того чтобы этого заработало, нужно рядом с WCS был TURN сервер, который пропускает WebRTC через TLS.
В этой теме недавно обсуждали WebRTC стриминг через HTTPS.
Схема такая:
View attachment 372
1. На WCS сервере открыт для браузера один порт TCP 443 (websocket).
2. На WCS сервере для TURN-сервера открыты UDP порты 31000-32000.
3. На TURN сервере открыт для браузера TCP 443.
4. На TURN сервере открыты все порты для WCS сервера.
Т.е. нужно на этом же физическом сервере или на отдельном установить TURN по этой инструкции:
https://flashphoner.com/docs/wcs5/w...nd_testing-firewall_traversal-turn_server.htm
После этого при коннекте передавать адрес TURN сервера:
Чтобы заработало, нужно править код плеера в этой строчке:Code:Flashphoner.createSession({urlServer: url, mediaOptions: {"iceServers": [ { 'url': 'turn:192.168.0.1:443?transport=tcp', 'credential': 'password1', 'username': 'username1' } ], "iceTransportPolicy": "relay"}});
https://github.com/flashphoner/flas...examples/demo/streaming/player/player.js#L104
Порты WCS конфигурируются в файлах:
server.properties
flashphoner.properties
Протестировать можно с этим демо, используя только правую часть с плеером:
https://wcs5-eu.flashphoner.com/demo2/firewall-traversal-streaming
Если закрыть на Windows все порты, кроме 443 и 53, то демо должно работать и играть поток через https.
View attachment 373
Flashphoner.createSession(
{ urlServer: url,
mediaOptions: { "iceServers": [ { 'urls': 'stun:stun.l.google.com:19302'} ] }
}
).on(SESSION_STATUS.ESTABLISHED, function(session){
// any thing
});
Есть ли у вас хорошо?