ios Chrome: Failed: this provider doesn't support getMediaAccess

inpost

Member
Здравствуйте.
С нескольких телефонов пробовал запустить, получаю эту ошибку! В Google Chrome не работает захват камеры!
Если включить просмотр, то просто чёрный экран, хотя событие STREAM_STATUS.PLAYING срабатывает.
Пробовал из DEMO запустить, та же проблема, пишет FAILED.
 
Last edited:
В iOS webrtc в браузерах работает исключительно в standalone Safari, для остальных браузеров это недоступно на уровне iOS. Минимум iOS 11.0, рекомендуемый - хотя бы 11.2, часть зависаний исправили.
 

inpost

Member
Можете уточнить.
webrtc не работает в других браузерах кроме Safari, это значит, что трансляция камеры на сервер будет работать только с Safari, а с Chrome - нет. С этим ясно.
А что насчёт просмотра видео? Там, на сколько я понимаю, можно подключать не только webrtc, но и другие технологии, которые стабильно должны работать для Chrome в ios. Но сейчас не работает, сейчас черный экран и всё. Я имею ввиду об вебсоккеты + canvas. Сейчас я пробовал в самой последней версии IOS, 11.2.
Вы сказали, что часть зависаний исправили. Вы имели ввиду в версии 11.2 IOS, или , всё же, в плеере от flashphoner ? Мне надо новый билд скачать?
 

Max

Administrator
Staff member
Добрый день.
А что насчёт просмотра видео? Там, на сколько я понимаю, можно подключать не только webrtc, но и другие технологии, которые стабильно должны работать для Chrome в ios. Но сейчас не работает, сейчас черный экран и всё. Я имею ввиду об вебсоккеты + canvas. Сейчас я пробовал в самой последней версии IOS, 11.2.
WSPlayer (Websocket + Canvas) был также разработан специально для iOS Safari 9 и 10, где не было WebRTC.
Поэтому с Chrome браузером под iOS он не тестировался, но вполне может работать.
Сейчас проверили Chrome. Работает в iOS 11.2.2 c WSPlayer.
Тест следующий
1. Публикуем поток из примера Two Way Streaming
https://wcs5-eu.flashphoner.com/cli...ming/two_way_streaming/two_way_streaming.html
2. Открываем Embed Player в iOS 11 Chrome
https://wcs5-eu.flashphoner.com/client2/examples/demo/streaming/embed_player/sample.html
3. Оставляем только WSPlayer в списке. Нажимаем Test и Play.
Картинка есть.
Вы сказали, что часть зависаний исправили. Вы имели ввиду в версии 11.2 IOS, или , всё же, в плеере от flashphoner ? Мне надо новый билд скачать?
Хотим прояснить, что официальные ответы идут от пользователей с логотипом Flashphoner на аватаре и ролью Administrator.
В данном случае ваш вопрос был адресован посетителю форума.
 

inpost

Member
Ещё одно уточнение. Плеер сам не подбирает рабочий вариант? Это не очень удобно, было бы неплохо, если бы в ios Chrome автоматом ставился WSPlayer, а не webrtc, так как именно он работает стабильно.
 

Max

Administrator
Staff member
Я имею ввиду об вебсоккеты + canvas.
один плеер на странице, который ест батарею. Более одного плеера на странице - не работает нормально(звук)/слишком сильно ест батарею и это так и останется. Вариант ну хоть как-то посмотреть в любом браузере, если iOS 11 не поддерживается устройством. На iOS 11+ - standalone Safari. Не идеально, но юзабельно, в том числе и камера. Вариант с native application всегда остается, правда у Flashphoner сейчас iOS SDK только на ObjectC.
Сейчас я пробовал в самой последней версии IOS, 11.2.
Вы сказали, что часть зависаний исправили. Вы имели ввиду в версии 11.2 IOS, или , всё же, в плеере от flashphoner ?
Речь о зависаниях Safari/iOS при работе с WebRTC. С Flashphoner и так всё в порядке, это Apple в роли догоняющего на поезд WebRTC.
 

inpost

Member
Спасибо, заработало.
В общем, ставил из примера Two Way Streaming, где не работает. А вот по указанным выше ссылкам уже работает, чуть код поправил и готово!
 

Max

Administrator
Staff member
Разница в инициализации API

В примере плеера инициализация проходит так:
https://github.com/flashphoner/flas...xamples/demo/streaming/embed_player/player.js
Code:
Flashphoner.init({
            flashMediaProviderSwfLocation: '../../../../media-provider.swf',
            receiverLocation: '../../dependencies/websocket-player/WSReceiver2.js',
            decoderLocation: '../../dependencies/websocket-player/video-worker2.js',
            preferredMediaProviders: mediaProviders && mediaProviders !== "" ? mediaProviders.split(','): []
        });
Эти две строки отвечают за работу WSPlayer:
Code:
receiverLocation: '../../dependencies/websocket-player/WSReceiver2.js',
            decoderLocation: '../../dependencies/websocket-player/video-worker2.js',
В примере Two Way Streaming этих строк нет, поэтому WSPlayer не работает.
https://github.com/flashphoner/flas...eaming/two_way_streaming/two_way_streaming.js
Code:
Flashphoner.init({flashMediaProviderSwfLocation: '../../../../media-provider.swf'});
 
Top