Трансляция экрана телефона в браузер

mozger

New Member
Добрый день!

мне необходимо транслировать экран телефона на сайте, причем делать это необходимо и на андроиде и на айфон телефоне. Как мне сделать такое с помощью web call servera?
 

Max

Administrator
Staff member
Добрый день.
Транслировать экран телефона можно только из нативного приложения под соответствующую платформу. Посмотрите описания примеров для Android SDK Android Screen sharing и iOS SDK iOS Screen Capturer Swift.
 

mozger

New Member
Отлично а у вас есть уже готовое приложение в апп сторе?
 

Max

Administrator
Staff member
В iOS AppStore у нас есть только Two Way Streaming. Однако можно собрать примеры из исходных текстов по этой инструкции.
Для Android можно скачать архив последней сборки SDK 1.1.0.57, в каталоге samples находятся APK примеров, которые можно установить на устройство и протестировать (по умолчанию с сервером demo.flashphoner.com).
 

mozger

New Member
Отлично я тогда сегодня закажу новый сервер на digital ocean и надеюсь вы мне поможете настроить
 

mozger

New Member
установил на сервер получилось, но апликация на телефоне screen sharing начала крашится
 

Max

Administrator
Staff member
Воспроизводится ли краш приложения, если запускать screen-sharing-debug.apk из архива сборки 1.1.0.57?
Если нет, модифицируйте код примера минимально таким образом, чтобы краш воспроизводился, и пришлите, используя эту форму.
Если проблема не воспроизводится с нашим примером с сервером demo.flashphoner.com, но воспроизводится с Вашим сервером, воспроизведите проблему и соберите на стороне сервера отчет, как описано здесь, и пришлите, используя эту форму.
 

mozger

New Member
сама собой перестала крашиться когда произвел на телефоне сброс до заводских настроек. А подскажите еще пожалуйста как убрать на плейере панель и сделать автозапуск плеере на вебстранице в браузере
Снимок экрана 2022-05-23 в 12.27.50.png
 

Max

Administrator
Staff member
сама собой перестала крашиться когда произвел на телефоне сброс до заводских настроек
Скорее всего, WebRTC библиотека libjingle_peerconnection конфликтовала с чем-то в системе.
А подскажите еще пожалуйста как убрать на плейере панель и сделать автозапуск плеере на вебстранице в браузере
Посмотрите, как сделан автозапуск в примере Embed Player
Code:
var autoplay = eval(getUrlParam("autoplay")) || false;
...
function init_page() {
    ...
    if (autoplay ) {
        // Autoplay will start for muted video tag only, adjust mute button and slider view
        firstUnmuted = false;
        $('.volume').addClass('volume-none');
        $('.volume').html(HTML_VOLUME_MUTE);
        $('#slider').slider( "value", 1 );
        $(".play-pause").click();
    }
}
Чтобы автоматически запускать воспроизведение, достаточно в параметрах плеера добавить autoplay=true, например
Code:
<iframe id='fp_embed_player' src='https://demo.flashphoner.com:8888/embed_player?urlServer=wss://demo.flashphoner.com:8443&streamName=test&mediaProviders=WebRTC,MSE,WSPlayer&autoplay=true' marginwidth='0' marginheight='0' frameborder='0' width='100%' height='100%' scrolling='no' allowfullscreen='allowfullscreen'></iframe>
В этом случае панель, которую Вы хотите убрать, отображается только при наведении мыши. Кроме того, автозапуск воспроизведения работает во всех браузерах только с отключенным звуком, поэтому не рекомендуется убирать регулятор громкости, чтобы пользователь мог включить звук.
Если Вы все же хотите убрать элементы управления, придется менять код плеера. Посмотрите здесь, как убираются регулятор громкости и кнопка полноэкранного режима
Code:
function init_page() {
    ...
    if (Flashphoner.getMediaProviders()[0] === "WSPlayer") {
        if (Browser.isiOS()) {
            $(".fullscreen").hide();
        }
    }
    if ((Browser.isSafariWebRTC() && Browser.isiOS() && Flashphoner.getMediaProviders()[0] == "WebRTC")) {
        $('.volume').hide();
        $('.volume-range-block').hide();
    }
    ...
}
 

Max

Administrator
Staff member
а как это исправить?
Как правило, сброс устройства помогает от возможных конфликтов. WebRTC библиотека, например, может задействовать под капотом аппаратное ускорение для кодирования H264, если этот кодек есть в системе.
 

mozger

New Member
Произвел спрос устройства, все равно не помогло. При чем screen sharing из playmarket иногда работает, иногда нет. А screen sharing из архива, который Вы прислали ранее крашится сразу же.
 

Max

Administrator
Staff member
А screen sharing из архива, который Вы прислали ранее крашится сразу же.
Уточните, на каком устройстве тестируете, какая прошивка, какая версия Android, когда крашится: в начале публикации, в процессе, при завершении?
Также уточните, с какой сборкой WCS тестируете?
На нашем парке тестовых устройств с последней сборкой WCS 5.2.1227 на примере Screen Sharing из из архива сборки Android SDK 1.1.0.57 проблема не воспроизводится. Обращаем внимание, что для скачивания сборок из РФ может потребоваться VPN.
 

mozger

New Member
а есть ли возможность установить flashphoner на компьютер в локальной сети? и как получить лицензию разработчика?
 

Max

Administrator
Staff member
а есть ли возможность установить flashphoner на компьютер в локальной сети?
Да, есть. Но для помесячной лицензии потребуется постоянный доступ в Интернет, для биллинга. Для локальных сетей существует также Standalone лицензия, она требует единовременного доступа в Интернет для активации. Подробнее о типах лицензий написано здесь, об условиях приобретения и стоимости лицензий здесь (для входа на страницу может потребоваться VPN из РФ)
и как получить лицензию разработчика?
Для разработки можно использовать пробную 30-дневную лицензию (для входа на страницу может потребоваться VPN из РФ). Эту лицензию можно продлить по запросу в sales@flashphoner.com до 180 дней. При этом один лицензионный ключ может действовать на несколько серверов, например, для развертывания тестовой CDN.
 

Max

Administrator
Staff member
Проверьте, не упал ли ключ в спам. Если нет, напишите в sales@flashphoner.com. Все вопросы по получению и продлению тестовых лицензий лучше задавать там, здесь форум технической поддержки.
 

mozger

New Member
Ключ пришел и активировал нормально спасибо большое!
из локальной сети сервер недоступен
также подскажите пожалуйста есть ли возможность запустить в докере на М1
 

Max

Administrator
Staff member
из локальной сети сервер недоступен
Пожалуйста, уточните, как именно Вы развернули сервер: на внешнем облаке (AWS, DO, Yandex.Cloud...) или у себя в локальной сети?
Во втором случае, доступен ли сервер из внешней сети? Также уточните, что именно понимается под недоступностью: не можете подключиться по SSH, не можете открыть web интерфейс https://server_ip:8444/admin/?
Проверьте, работает ли сервер.
Также проверьте. прописаны ли значения ip и ip_local в файле flashphoner.properties? Если не прописаны, выполните команду
Code:
sudo /usr/local/FlashphonerWebCallServer/bin/webcallserver set-ip
и следуйте инструкциям.
также подскажите пожалуйста есть ли возможность запустить в докере на М1
WCS поддерживает только архитектуру x86-64, поэтому запуск на ARM процессорах в любом виде невозможен. Docker не дает полной виртуализации. Пожалуйста, используйте выделенный физический или виртуальный сервер c Linux на x86-64. Для тестирования возможен также запуск в Windows Subsystem for Linux, но этот вариант не очень подходит для мобильной разработки.
Также обращаем внимание, что тестировать WebRTC стриминг возможно только на полноценных устройствах: iOS Simulator не дает доступа к камере хоста, а в эмуляторе Android Studio не хватает ресурсов для кодирования/декодирования медиапотока, поэтому публикация и воспроизведение также не работают.
 
Top