Не корректное получение стирма на Android - Pixel 3 и Pixel 3XL

EugeneUA

New Member
Добрый день, возникла проблема с отображением получаемого стрима конкретно на Pixel 3. Ради чистоты эксперимента была взята ваша базовая апк (из примеров на github), но результат не изменился. Вот ссылка для скачивания записи экрана во время стрима.

Подскажите, как исправить данную проблему?
 

Max

Administrator
Staff member
Добрый день.
Какая версия Андроид на устройстве, какая сборка SDK использовалась? Проблема проявляется при запуске на физическом устройстве или на эмуляторе?
Если версия Android 8 и выше, следует использовать AndroidSDK 1.1 и исходный код примеров из соответствующей ветки.
Если проблема воспроизводится на эмуляторе, проверьте, будет ли она воспроизводиться на реальном устройстве, т.к. у эмулятора может не хватать ресурсов для нормальной публикации и проигрывания WebRTC.
Также уточните, воспроизводится ли проблема при использовании собранного примера streaming-min-debug.apk из архива Android SDK, загруженного по ссылке?
 

EugeneUA

New Member
Добрый день, проблема на физическом устройстве c Android 11, SDK wcs-android-sdk-1.1.0.22-debug.aar. Проверили с вашим примером streaming-min-debug.apk - результат тот же.
 

Max

Administrator
Staff member
Воспроизводится ли проблема на последней сборке Android SDK 1.1.0.26?
Если воспроизводится, повторяется ли проблема на одном устройстве или на нескольких идентичных?
 

EugeneUA

New Member
Проблема воспроизводится на wcs-android-sdk-1.1.0.26-debug SDK и на разных устройствах.
 

Max

Administrator
Staff member
Проблема воспроизводится на wcs-android-sdk-1.1.0.26-debug SDK и на разных устройствах.
К сожалению, нам не удается воспроизвести проблему в примере streamin-min-debug.apk из сборки 1.1.0.26 на следующих устройствах:
Nokia 5 (Android 9)
Samsung S9+ (Android 10)
Xiaomi Redmi 9 (Android 10)
Samsung S10+ (Android 11)
В связи с этим, просим уточнить следующее:
1. Воспроизводится ли проблема на конкретных экземплярах телефонов или на абсолютно любых аппаратах линейки Google Pixel с Android 11?
2. Воспроизводится ли проблема, если только проигрывать поток с сервера, но не публиковать его из приложения? Воспроизводится ли проблема при проигрывании потока с сервера в примере player-debug.apk из сборки 1.1.0.26?
3. Воспроизводится ли проблема, если публиковать и проигрывать поток на том же самом телефоне в браузере, в примере Two Way Streaming?
4. Воспроизводится ли проблема, если публиковать и играть поток на нашем демо сервере demo.flashphoner.com?
5. Если проблема воспроизводится, приведите, пожалуйста скриншот из нашего приложения или из нашего примера в браузере. Также соберите лог приложения на телефоне и пришлите, используя эту форму.
 
Last edited:

EugeneUA

New Member
Тестировалось на Pixel 3, Pixel 3XL, Pixel 4а и Pixel 4. Проблема конкретно на пикселях 3 модели. На 4 все нормально.
По другим вопросам отвечу позже.
 

Max

Administrator
Staff member
Тестировалось на Pixel 3, Pixel 3XL, Pixel 4а и Pixel 4. Проблема конкретно на пикселях 3 модели. На 4 все нормально.
Уточните также: проблема проявляется только на Android 11 или на доступных для этих моделей младших версиях тоже?
 

lihhh

New Member
[QUOTE = "Max, post: 28207, member: 21"]
Please also clarify: does the problem appear only on Android 11 or on the lower versions available for these models too?
[/ QUOTE]
Yes, happens on android 11, and 10 but specific with pixel3. pixel 1 with android 10 works just fine
1. Is the problem reproduced on specific phones or on absolutely any devices of the Google Pixel line with Android 11?
Specific to Pixel3, and Pixel3XL. Tested with pixel 1 and pixel 4 all works correctly.
2. Is the problem reproducible if you only play the stream from the server, but not publish it from the application? Is the problem reproduced when playing a stream from the server in the example player-debug.apk from build 1.1.0.26 ?
play from the other publishing stream works correctly
3. Is the problem reproducible if I publish and play the stream on the same phone in the browser, in the example of Two Way Streaming ?
Web publish and plays back correctly
4. Is the problem reproducible if I publish and play the stream on our demo server demo.flashphoner.com?
Yes, problem happens when using the app
5. If the problem is reproduced, please provide a screenshot from our application or from our example in the browser. Also collect the application log on
App, Web
Screenshot_20210524-025333.png
Screenshot_20210524-025448.png


we are approaching the final release any help would be appreciated.
 

Max

Administrator
Staff member
Если Вы используете кодек H264 для публикации и проигрывания, попробуйте публиковать и играть поток на Pixel 3 в кодеке VP8. Для этого необходимо выставить приоритет VP8 либо на стороне сервера (для всех клиентов):
Code:
codecs=opus,...,vp8,h264,...
либо исключить кодек H264 на стороне клиента
Code:
StreamOptions streamOptions = new StreamOptions(publishStreamName);
streamOptions.setStripCodecs({"H264"});
publishStream = session.createStream(streamOptions);
 

Max

Administrator
Staff member
Уточните, пожалуйста, как играется поток, опубликованный из приложения, в Web SDK и Android SDK на другом таком же устройстве:
- опубликуйте поток из приложения Streaming-min на Pixel 3
- проиграйте этот поток в приложении Streaming-min на другом Pixel 3
- проиграйте этот поток в примере Web SDK Two Way Streaming на другом Pixel 3
Также мы создали тикет WCS-3197 для исследования этой проблемы, но пока мы не можем ее воспроизвести в нашем окружении.
В связи с этим соберите, пожалуйста, отладочные логи и дамп трафика на стороне сервера по этой инструкции. Обратите внимание, что сбор дампа трафика нужно начать до публикации. Архив с логами и дампом трафика отправьте, используя эту форму.
 

Max

Administrator
Staff member
Добрый день.
Проблема связана с публикацией с Pixel 3/Pixel 3XL. Если не задано разрешение публикации по умолчанию, устройство пытается публиковать поток в минимально возможном для сервера разрешении 160x120, в этом случае публикуемая картинка портится.
В тикете WCS-3197 мы внесем изменения в примеры Android SDK.
Вы можете выставить разрешение публикации, например, 320x240, в своем коде следующим образом:
Code:
     StreamOptions streamOptions = new StreamOptions(streamName);
     Constraints constraints = getConstraints();
     streamOptions.setConstraints(constraints);
     publishStream = session.createStream(streamOptions);
     ...
    @NonNull
    private Constraints getConstraints() {
        AudioConstraints audioConstraints = new AudioConstraints();
        VideoConstraints videoConstraints = new VideoConstraints();
        videoConstraints.setResolution(320, 240);
        videoConstraints.setVideoFps(25);
        return new Constraints(audioConstraints, videoConstraints);
    }
В этом случае, картинка публикуется нормально.
 
Top