TroubleShoot HTML5 and WebRTC Streaming in VideoWhisper

Use this tutorial to 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 .

Before troubleshooting make sure you have latest plugins, solution installed so issues are not related to older versions. As technology, browsers and streaming servers update, solution is also updated to match and older versions may no longer work.

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.

For best live streaming reliability and viewer experience, it is recommended for broadcasters/performers to use most professional setup available, in order to provide best service to their viewers. That means best device with most processing power (computer if possible), best connection (wired or WiFi 5Ghz), RTMP to HLS with OBS or similar instead of web based WebRTC.

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

Latest Safari, iOS 15 WebRTC Failing

Per Wowza SE documentation, disable the NSURLSession WebSocket feature:

  • iOS : Open Settings application. Tap Safari, then Advanced, and then Experimental Features.
  • PC: From Safari menu > Preferences … > Advanced tab, enable Show Develop menu. Then from Develop menu > Experimental features disable NSURLSession WebSocket .

Video pixelation, low quality

1. In HTML5 Videochat app , toggle Settings and check selected streaming resolution & bitrate in broadcast panel and make sure these are not configured to low values. Higher bitrate and resolution should provide higher quality.  Maximum bitrate is limited by license and hosting plan.
2. Also check real streaming bitrate measurements. Toggle Settings to get measurements both for Broadcast and Playback panels.
+ Use best network available if you have the choice: 5GHz on WiFi instead of 2.4 GHz, LTE/4G on mobile instead of 3G, wired instead of wireless.
+ Verify that measured bitrate is close to selected bitrate.
+ Use Chrome on PC as that also provides WebRTC statistics like packet loss, latency, jitter.
3. Try adjusting streaming bitrate and see if real bitrate is achieved based on new settings. Maximum bitrate is limited by license and hosting plan.
– WebRTC also adapts quality depending on available connection and network conditions for UDP.
Congested networks and Wi-Fi / mobile depending on signal may produce packet loss when using WebRTC UDP. Packet loss results in interruptions, pixelation, lower quality, automated bitrate downgrade (forced by browser).
4. Try RTMP TCP broadcasting with OBS / Larix Broadcaster or other encoders, as mentioned below. TCP resends packets, fixing signal issues related to WiFi or mobile connection.
5. 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) If you have multiple connection options, try with a different connection.
+ For WiFi, 5Ghz band is better for video streaming compared older 2.4 Ghz technology.
+ For mobile, LTE / 4G is better than older 3G.
+ Wired connections are more reliable than wireless.
2) 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.
3) 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 / Larix Broadcaster 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, using Chrome / Brave to get advanced stats.
+ Switch to more reliable network option if available and not already using it: 5GHz on WiFi instead of 2.4 GHz, LTE/4G on mobile instead of 3G, wired instead of wireless.
+ Try OBS / Larix Broadcaster 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 Larix Broadcaster 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) not HTTP.
– Restart browser.
– Test with a different browser: Chrome, Firefox, Brave, Safari, Edge.
Try the Brave browser (Chrome privacy focused fork).

Intermittent connection issues associated with slow site or intermittent 503 web errors / APP Web Request 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 / Larix Broadcaster 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/ Larix Broadcaster 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.
-Make sure you access over HTTPS not HTTP as latest browsers require SSL to publish webcam/microphone.
-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.

How to Test

– Try live demos , preferably using Chrome / Brave to get advanced stats.  If issues do not occur in the live demos, cause may be related to your installation. If same issues occur, these may be related to client browser / connection.
– Switch to better network option if available and not already using it: 5GHz on WiFi instead of 2.4 GHz, LTE/4G on mobile instead of 3G, wired instead of wireless.
– Update browsers to latest versions. Try different browsers to identify if issue is specific to a certain browser and its plugins. Try opening a new tab/window in privacy mode without plugins if possible to test same browser without plugins.
– Try from a different computer / mobile device, if available, to identify if issue is specific to device.
– Try from a different ISP (in example access from a mobile device with WiFi turned off to use the mobile network) to identify if issue is specific to connection.
– Have a partner, friend from a different location test to identify if issue is specific to your testing environment.

Limitations

– Live broadcasting requires a reliable high speed internet connection  with enough upload bitrate to transmit the live video. Otherwise transmission fails or can only be done at low quality with lost frames and interruptions.
Options: Users that don’t have a reliable high speed internet connection may not be able to broadcast live video. The could try transmitting only microphone audio. Low connection users can also try recording and sending video/audio messages in chat (if web requests don’t also timeout).
– Live playback requires a high speed internet connection with enough download bitrate to playback the live video.
These limitations are related to user’s internet connection and can’t be sorted out at server or software level.
– Latest HTML5 browser technology is required to support all features. Some browsers with partial support may not permit recording video or broadcasting. Some features may be available only after enabling from Advanced browser features. In example recording requires MediaRecorder API.

Compare RTMP Hosting from $9/month

First, read more about RMTP hosting and Estimate your RTMP hosting needs.

HOSTING TYPE
FEATURES
REMOTE
RTMP
PREMIUM
WOWZA
PREMIUM
RED5
VPS
RED5
DEDICATED
RED5
DEDICATED
WOWZA
Starting Price $9 $50 $50 $60 $250 $300
Avg. Setup Time 1 day 1 day 1 day 3 days 5 days 5 days
Starting Bandwidth 1000 Gb 2000 Gb 2500 Gb Unlimited Unlimited Unlimited
Bitrate Limit Variable 1000 Mbps 1000 Mbps 100 Mbps 1000 Mbps 1000 Mbps
Users Limit Variable Unlimited Unlimited Unlimited Unlimited Unlimited
Live Streaming Yes Yes Yes Yes Yes Yes
Video Chat Yes Yes Yes Yes Yes Yes
Video Recording No Yes NR NR NR Yes
HLS, MPEG DASH No Yes No No No Yes
24/7 IP Camera No Yes No No No Yes
VOD No Yes Yes Yes Yes Yes
Custom RTMP Apps No Reviewed Reviewed Yes Yes Yes
RTMP Session Control No Yes No No No Yes
Web Hosting No CPanel CPanel Plesk* WHM CPanel WHM CPanel
Starting Space No 30 Gb 33 Gb 20 Gb 4 000 Gb 4 000 Gb
Dedicated IP No Yes Yes Yes Multiple Multiple
Plans RTMP Host Wowza Host Red5 Host Red5 VPS Red5 Dedicated Wowza Dedicated
Clarifications:

  • NR = Not Recommended. Red5 can be used for recording/archiving but often produced skipped frames in our tests.
  • Plesk = Managed web hosting on VPS is based on Plesk for 10 domains.
  • CPanel = Managed web hosting with a CPanel account. Higher plans allow multiple domains.
  • WHM CPanel = Host unlimited domains, cpanel accounts.

Also compare hosting types on Host RTMP. For more details and clarifications, contact VideoWhisper.