-
Notifications
You must be signed in to change notification settings - Fork 199
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BUG]: Crash on Android devices when streaming to Amazon IVS Server #795
Comments
@julienkay |
Thanks for your answer! Unfortunately, I can't test either of those for other reasons. Windows:
My PC (Nvidia GTX 960) only contains the following profiles when I create a WebRTC Offer:
For that reason a WebRTC connection can't be initiated on Windows and will fail already at the signaling stage (this works fine on all Android devices I tested, where profile-level-id=42e01f is supported). In summary, the sever expects me to use H264 Profile Level 3.1, but the WebRTC package automatically chooses the highest available Profile Level 5.1, (independent of which resolution and bitrate I put into Camera.CaptureStream()). Being able to explicitly choose a lower profile level would fix this, but I guess this is separate issue / feature request.
Mac: |
How about 2.4.0-exp.10 ? |
We customise the SDP string when signaling, and we test them with Unity and browsers but not Pion. It is possible that this modification may occurs the crash by the process of SDPs on Pion. |
2.4.0-exp.10 has the same issues. |
@julienkay Do you think this issue is about specific SoCs? |
@julienkay |
@karasusan @kannan-xiao4 In case you want to investigate further, I just added both of you to a private repository with code that reproduces the issue. |
@julienkay |
I'm not quite sure I understand. Can you elaborate? |
@julienkay |
The repository I Invited you to is the smallest reproducible sample code I can produce: |
May I have the zip file for the minimum project? |
I've just sent the project via mail. Thank you for looking into this! |
memo: WRS-415 |
Seems Amazon IVS web broadcast SDK is a WebRTC SFU server, which coverts WebRTC to RTMP or HLS etc. If you need to debug at the server side, we encorage srs-unity, which is open source, and I would like to help you to finger out the issue. We build some examples for unity WebRTC to publish stream to WebRTC SFU server, seems works well, so the issue might be introduced from client side or media content. If you want, you can also find me at discord |
@winlinvip |
I tested with 2.4.0-exp.11, 3.0.0-pre.1, 3.0.0-pre.2, 3.0.0-pre.3, 3.0.0-pre.4 it works good. Please see environment for detail.
|
Package version
2.4.0-exp.9
Environment
Steps To Reproduce
Amazon recently added support to stream to Amazon IVS (Interactive Video Service) directly using WebRTC, which is the same infrastructure used by Twitch. This opens up the opportunity to stream from within a Unity application directly to Twitch (at least on Android. On Windows, it seems that the required H264 profile is not supported somehow).
This setup works in principle, but the application crashes frequently.
I understand that to reproduce, you would need to have access to the code I'm using to set up the connection with a Twitch Stream. I'd be happy to share it privately with Unity staff if necessary.
Current Behavior
The streaming does work at times, but there are frequent crashes. Some crashes appear right after the application starts, some only after several seconds or even minutes.
The recent changes in 2.4.0-exp.9 didn't fix the issue for me. The issue seems to appear irrespective of whether OpenGLES3 or Vulkan is used, and whether 'Optimized Frame Pacing' is enabled or not.
Here's an excerpt from the Android log from a Galaxy S8 device:
Expected Behavior
A stable stream without crashes.
Anything else?
No response
The text was updated successfully, but these errors were encountered: