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 .
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.


– 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.

Random HTML5 Videochat – WordPress Roulette Webcams

One plugin providers random matches between performer/clients and the other between site visitors.

Random Videochat is available with a Next button in HTML5 Videochat App interface.

Enables PaidVideochat clients to quickly move to a different performer room (without leaving chat interface).
Next room is selected from rooms recently active online, by picking a room user did not enter or entered longest time ago (for rotation).

In PaidVideochat, the Next button can be used to navigate to available free or paid rooms depending on settings. Will not navigate to rooms where performer is in private show. Visitors always get free rooms (because they don’t have a balance for paid shows).

When users enter paid rooms, welcome message will contain details including group cost per minute and grace time. Also a special room icon showing paid mode.
When going to a paid room (if enabled from settings), user is not charged right away as there is a grace time (configurable). If moving to next room or closing chat before grace time ends, no charge occurs. Also paid room welcome message has a special icon showing payment.

Backend settings include selecting next room only from free/paid or online rooms. Clients can try their luck with this random matchmaking roulette feature to quickly browse different performers, without leaving the chat.

See a live demo.


Clients and send Tips and request Pay Per Minute Private Shows.