No Video on Subscribing Device (Mobile SDK)


I am trying to publish a stream with both audio and video, but the subscriber can only hear the audio.  My publishing device is showing that it is streaming the video.  Why is this happening?



In order to ensure the best communication, Red5 Pro is configured to prioritize audio over video.  When there is insufficient bandwidth on the subscriber to stream both audio and video, the Mobile SDK switches to audio only.  

For iOS, you can assign a delegate to the R5Stream instance and implement an onR5StreamStatus:withStatus:withMessage method to capture events. The status code to look for is: R5PlayerStatusNetStatus with a message value of NetStream.Play.InSufficientBW.Video

For Android, the initial stream actually comes in with just Audio, as indicated in the metadata by streamMode=Audio. After some time, the metadata switches to streamMode=Video/Audio and video starts to playback. So, you would need to set setListener on the R5Stream instance. For a list of the events on that listener please follow this link

Additionally, you may want to look into increasing your bandwidth and network speed, along with increasing the size of your server.

Have more questions? Submit a request


  • 0

    The problem with this approach is that when network conditions improve, video doesn't come back - it freezes and stays at this state unless a connection is reinstated. This is especially true for Safari (11+) and Opera - all other browsers handle this fine.

    Is there a way to set the server SDK to always transmit video by decreasing quality instead of freezing it?

  • 0
    Red5 Pro Support Agent

    James - this article is specifically referring to the Mobile SDK (and has been updated to reflect that).

    For the HTML5 SDK, you might want to consider using ABR ( so that you can create lower quality video profiles for users who have worse connections.

Please sign in to leave a comment.