ADSL Connection Video Broadcasting

Problem: When using Live Streaming solutions, live streams from some broadcasters have big frame loss, huge latency and sometimes don’t show at all.

Many home user internet connections are ADSL (Asymmetric Digital Subscriber Line), meaning they have low upload bitrate compared to download: In ADSL, Bandwidth and bitrate are said to be asymmetric, meaning greater toward the customer premises (downstream) than the reverse (upstream). Providers usually market ADSL as a service for consumers for Internet access for primarily downloading content from the Internet, but not serving content accessed by others.

This causes issues when trying to upload content like broadcasting live video. For live broadcasts, streaming bitrate is limited by broadcaster’s upload bitrate. Broadcasters with such connections will encounter severe issues (frame loss, long interruptions, big latency) if they try to live stream a stream with bitrate very close or greater than connection limit.

How to determine your connection type and limits (for adjusting streaming settings)? Measure Connection Speed
Do a speed test from broadcasting location to a location near streaming server (rtmp) using SpeedTest.net .
In example, drag and zoom to a server in North America and select it to test if you use our live demos or hosting plans .
Check upload bitrate. Divide by 8 to obtain transfer rate in bytes/second as bitrate is often displayed in bits/second.
Then adjust streaming settings so video, sound and interactions fit in upload bitrate (leave 10-25% margins).

If your site targets users from certain areas, browse some stats and identify common upload bitrate to adjust default streaming settings.

Also see:
Recommended h264 Video Bitrate Based on Resolution
VideoWhisper Web Application Client Requirements

Improve WP Cron with Real Cron Job or Monitoring Sites

Default WP setups use a virtual cron feature where maintenance and scheduled tasks occur when site scripts are triggered (when somebody visits site).

That works fine for active sites that have a fluent visitors stream. On projects where WP is not fluently visited these task don’t get triggered as expected.

 

Solution 1

Setup a real cron job from cPanel .

/usr/bin/wget -q -O – http://[yourwebsite.com]/wp-cron.php?doing_wp_cron >/dev/null 2>&1

Can be hourly or each 15, 30 minutes.

Optionally disable WP cron from wp-config.php :

define(‘DISABLE_WP_CRON’, true);

Solution 2

Schedule an online  status monitoring service to check your WP based site.  When they check they will also trigger your WP scripts.

Ex. StatusCake.com or UptimeRobot.com

 

WP cron triggers various functionality:

  • Checking for theme & plugin updates
  • Publish scheduled posts
  • Sending pingbacks
  • Other actions scheduled by plugins like converting videos, cleaning files or database