Просмотр потоков Safari Desktop и Safari Mobile

Renat

New Member
Добрый день. Возможно ли смотреть поток по протоколу wss:// на Safari Desktop или Safari Mobile? Или единственный способ просмотра (кроме Flash Player) это только в формате HLS.
 
Last edited:

Max

Administrator
Staff member
Safari Desktop и Safari iOS (Mobile) могут работать с Websocket плеером.
Например этот плееер:
https://wcs5-eu.flashphoner.com/demo2/player
В Safari Mac будет использовать Flash Player если Flash доступен.
В Safari iOS будет использовать Websocket, т.к. Flash и WebRTC там недоступны.
 

Renat

New Member
Да, через Flash Player просмотр и публикация работает везде. Вопрос именно в том, можно ли через Safari смотреть поток без Flash Player и HLS? Иными словами, через Chrome в плеере https://wcs5-eu.flashphoner.com/demo2/player я подключаюсь и вижу поток, а через Safari соединение не устанавливается. Это принципиальное ограничение браузера или просто не реализовано в вашем примере? Спасибо.
 

Max

Administrator
Staff member
Уточните в каком Safari у вас не играет.
Я тестирую на iPhone5 Safari, iOS 10.1.1. У меня играет.
Тестирую так:
1. Отправляю RTMP поток с этого примера:
https://wcs5-eu.flashphoner.com/demo2/flash-streaming
2. На Safari открываю в этом примере:
https://wcs5-eu.flashphoner.com/demo2/player

а через Safari соединение не устанавливается
Если соединение совсем не устанавливается через Websocket и не видно статуса ESTABLISHED, возможно проблема с HTTPS сертификатами.
Попробуйте открыть этот же плеер по адресу:
http://46.101.108.90:9091/demo2/player
 

Attachments

Max

Administrator
Staff member
Вопрос именно в том, можно ли через Safari смотреть поток без Flash Player и HLS?
Да, можно.
Специально для этого используется Websocket Streaming. Специально для Safari чтобы не использовать Flash или HLS.
Даже раздел сайта есть, посвященный этому кейсу.
 

Renat

New Member
Версия Mac OS 10.11.6, версия Safari 9.1.2.
Мои действия:
1) Отключил Flash Player в Safari
2) Через Chrome, с включенным Flash Player, опубликовал поток test1 через приложение flash-streaming
3) Зашел в Safari на вкладку Player, ввел поток test1 и нажал START.

На сервере https://wcs5-eu.flashphoner.com это алогоритм заработал. А на нашем тестовом https://185.148.37.181 нет - сразу пишет DISCONNECTED.

Причем, если делать пункт 3) не через Safari, а через Chrome все работает. Это и показалось странным.
 

Attachments

Max

Administrator
Staff member
Проблема в SSL сертификатах.

В Chrome для того чтобы использовать камеру и микрофон в WebRTC, нужно обязательно открывать страницу по https, а подключение делать по wss
Например:
Code:
https://host:8888
wss://host:8443
Т.е. нужно покупать сертификаты для домена, импортировать их в WCS и использовать доменное имя:
Code:
https://domain.com:8888
wss://domain.com:8443
В Chrome это можно обойти, открыв адрес https://host:8443 перед тестированием и приняв предупреждения безопасности браузера
В Safari такое может не пройти.

Поэтому если тестируете только воспроизведение, лучше это делать через http, пока не будут импортированы сертификаты для SSL
Code:
http://host:9091
ws://host:8080
 

Sen

New Member
А в каком виде передаётся в iOS поток? и как происходит декодирование? (насколько ресурсоёмко это всё?)
 

Max

Administrator
Staff member
Вот здесь полная спецификация.
Поток транспортируется по протоколу websocket в кодеках MPEG и G.711, декодируется с помощью JavaScript и рендерится с помощью webgl.
Это ресурсоемко. Т.е. мобильное устройство должно иметь достаточно сильный CPU чтобы декодировать и плавно отрисовать такой видеопоток.
Например iPhone 5 справляется с разрешением 640x480.
 
Top