TroubleShoot HTML5 and WebRTC Streaming in VideoWhisper

Identify and fix issues that may occur after VideoWhisper solution was configured correctly, tested and running.
If you don’t have it installed, yet get a plan for a turnkey solution, in example for HTML5 Videochat .

Streaming issues can have various causes: setup configuration settings, user internet connection to streaming server, network conditions and suitability of streaming protocol, browser type and version.

Here’s some possible issues and steps to identify their cause and possible fixes.

Video pixelation, low quality

-Check selected streaming resolution & bitrate and also real streaming bitrate measurements (available in HTML5 Videochat app).
Try adjusting streaming bitrate and see if real bitrate is achieved based on new settings.
-WebRTC also adapts quality depending on available connection and network conditions for UDP.   Also try RTMP TCP broadcasting with OBS / GoCoder or other encoders, as mentioned below.
-If issues occur both for WebRTC and RTMP streaming, measure your internet connection (see instructions below).

Broadcaster streaming interruptions, frequent errors, slow website while streaming

Some broadcasters may experience issues due to their internet connection speed, location (very far from streaming server). Having a lower connection requires adjusting maximum streaming bitrate, so it doesn’t consume all available bandwidth.

1) Do a speed test from broadcasting location to a location near streaming server.
1. Go to https://www.speedtest.net .
2. Change Server and search for a server in Beauharnois (North America).
3. Press GO to start measurement.
3. Get measurement link from top left icon and share with our staff.
Broadcaster upload connection needs to handle video + audio stream and also other interactions and web requests.

2) In some network conditions UDP streaming may not work at all or provide low bitrate and reliability (showing as pixelation, interruptions).

Broadcaster can download OBS for PC / GoCoder for mobile per instructions in Broadcast tab to broadcast with RTMP TCP instead of WebRTC UDP.

Connection to sever is high and streaming quality is low/DISRUPTED, although configured high bitrate in settings

– Check live bitrate stats in HTML5 Videochat app.
– Try OBS / GoCoder RTMP streaming.
If connection bitrate is high and live streaming bitrate is lower than configured, issue could be related to network conditions and WebRTC protocol streaming over UDP. For higher quality and reliability, broadcasting is possible using a RTMP TCP app like OBS for desktop or GoCoder mobile, directly to streaming server without depending on web browser. RTMP stream is delivered to site users as HTML5 HLS.

Broadcaster browser streaming failure error, Retry message, permission errors, camera not available in list

– Make sure you are loading site over HTTPS (required to publish camera).
– Restart browser.
– Test with a different browser: Chrome, Firefox, Brave, Safari.
Try the Brave browser (Chrome privacy focused fork).

Intermittent connection issues associated with slow site or intermittent 503 web errors

Web hosting resources may be underpowered for site complexity and load.
-Try reducing site complexity (by removing plugins) and resource load per request.
-Upgrade to a higher plan from HTML5 WebRTC Relay Hosting .

Broadcasting stream not connecting or disconnects

Check if bitrate (video + audio) is within plan hosting limits. Trying to broadcast higher bitrate will result in automated stream rejection and short cooldown while all connection attempts are rejected.
See Client Upload (kbps) for your plan at HTML5 WebRTC Relay Hosting and configure lower.

Certain users only can’t stream

– Browser issue: Upgrade browser to latest version or try a different HTML5 browser like Brave browser . Browser must support latest WebRTC features and codecs. Older browsers and versions will not work (in Windows use Edge not Internet Explorer).
– Network Issue: Try a different network protocol: Broadcaster can download OBS for PC / GoCoder for mobile per instructions in Broadcast tab to broadcast with RTMP TCP instead of WebRTC UDP.
– Firewall Issue: If user has a firewall can temporary disable it to identify if that is the cause. Ports and protocols required depend on method of streaming, server and site configuration.

Visitors can’t connect or stream (without login)

Visitor only issues are most likely related to cache and site serving static content to their requests.
In WP Super Cache you can disable cache for site visitors that have cookies.

No Sound

– Broadcaster needs to select correct input device (microphone). when broadcasting. Open broadcast tab to make changes to input devices/settings.
– Viewers need to use “Tap for Sound” button to enable audio.
Browsers require user interaction to allow automated video playback with sound. Sometimes playback is not permitted at all and application will show a “Tap to Play” button.
This is a browser feature / restriction.
– Try reloading stream or page. Depending on network conditions and browser, audio stream may sometimes be missing from WebRTC UDP broadcast. Try OBS/GoCoder streaming over RTMP TCP for increased reliability.

Webcam or Microphone Not Accessible

The web based applications use devices provided by system / browser to WebRTC . Try the WebRTC samples to check available devices. If system / browser does not make it accessible for WebRTC usage, the WebRTC based application can’t access it.
-Try a different browser.
-Try broadcasting with OBS with settings from Broadcast tab.
-If available, try the legacy Flash based applications.
-For more details about browser WebRTC support, check with hardware provider support.

Wowza RTSP Live Streaming for Android

 

Test your device RTSP playback:
rtsp://184.72.239.149/vod/mp4:BigBuckBunny_175k.mov

 

 

Configure Wowza Media Server

– http://www.wowza.com/forums/content.php?36#publish
[install-dir]/conf/Application.xml

+ Set the Streams/StreamType property to live :
<StreamType>live</StreamType>

+ Set the HTTPStreamers property to cupertinostreaming,smoothstreaming,sanjosestreaming :
<HTTPStreamers>cupertinostreaming,smoothstreaming,sanjosestreaming</HTTPStreamers>

+ Set the Streams/LiveStreamPacketizers property to cupertinostreamingpacketizer,smoothstreamingpacket izer,sanjosestreamingpacketizer:
<LiveStreamPacketizers>cupertinostreamingpacketizer,smoothstreamingpacketizer,sanjosestreamingpacketizer</LiveStreamPacketizers>

+ Set the RTP/Authentication/PlayMethod property to none:
<PlayMethod>none</PlayMethod>

 

– http://www.wowza.com/forums/content.php?62
[install-dir]/conf/VHost.xml and add 554 to the list of HostPort/Ports

– http://www.wowza.com/forums/content.php?36#RTSP
RTP > Properties container in [install-dir]/conf/[application]/Application.xml (be sure to get the correct Properties container – there are several in Application.xml):
Code:

<Property>
<Name>forceMPEGTSOut</Name>
<Value>true</Value>
<Type>Boolean</Type>
</Property>
<Property>
<Name>rtpWrapMPEGTS</Name>
<Value>true</Value>
<Type>Boolean</Type>
</Property>

Publish

http://www.wowza.com/forums/content.php?62

  1. Encoding:

    It is best to encode the video using a low bitrate, frame rate and low encoding complexity. For mobile streaming a total bitrate of between 64Kbps to 250Kbps is probably best. Many mobile devices may not be able to handle a full 30 frames per second (fps). A frame rate of 15 – 24 fps may be best for mobile. It is best to encode to a lower H.264 complexity. Most mobile devices only support H.264 Baseline. Encoder complexity and level is discussed here.

  2. Networking (UDP and TCP setup):

    UDP: It is best to open all UDP (0-65535) ports for RTSP/RTP streaming. On the incoming side, Wowza tends to try to use ports between the range of 6970-9999. Outgoing the port choice is made by the receiving device. So it is best to open all ports to outgoing UDP traffic. Getting the UDP setup correctly is sometimes difficult and dependent on your router and firewall setup. If behind NAT (network address translation) it is important that all UDP ports are mapped to the server running Wowza.

 

Android: Most Android devices support RTSP/RTP streaming. Newer Android devices that are running version 2.2 or greater (Froyo) also support Flash player 10.1 and can play RTMP and Flash HTTP streams. Android devices cannot play MP3 streams over RTSP/RTP in any combination (audio/video or audio only). Android devices that support Flash player 10.1 can play MP3 using RTMP or Flash HTTP. When streaming to an Android device using RTSP/RTP, the RTP portion must flow over UDP. Android does not support RTSP/RTP interleaved (RTP over TCP). This means if UDP is unavailable for RTP playback, RTP over TCP will not work as a failover and your stream will not play.

Customers have reported issues with RTSP/RTP playback on the DroidX and Droid2. It seems that only a few frame sizes will play properly on these devices:

  • 800×480
  • 480×320
  • 240×160

 

VideoWhisper provides compatible, rtmp managed Wowza hosting plans and assistance with mobile streaming:

http://www.videowhisper.com/?p=Wowza+Media+Server+Hosting