This solution allows users to broadcast using multiple applications and platforms:
- broadcast HTML5 mobile/pc camera live video with WebRTC in browsers (includes text chat, user list, tips)
- broadcast camera/media/screen with external apps to dedicated rtmp address (similar to opencast.me, youcloud.tv)
For advanced control and external broadcast live detection, specific live streaming server services with Wowza SE and configuration is required.- Open Broadcaster Software (OBS) desktop encoder, Zoom Meetings & Webinars, with SnapCamera effects (AR)
- Wirecast, XSplit, Flash Media Live Encoder, FFSplit, Lightstream, Bebo
- mobile Larix Broadcaster for iOS , Larix Broadcaster Android
- other mobile RTMP encoders like Telestream Wirecast Go, Teradek Live:Air Solo, Broadcast Me, nanoStream, Larix
- hardware encoders like Teradek VidiU, RTMP IP cameras that an push (broadcast/upload) to configurable RTMP server
- any other rtmp encoders (software or hardware) that support publishing to configurable RTMP server
- broadcast with dedicated mobile apps (optional – custom developed)
- re-stream from IP Camera or other source (requires Wowza SE): RTSP, RTMP, RTMPS – if you have a stream source, see live restreaming demo
- broadcast Flash webcam live video with included web application (easiest) that includes advanced features in PC browser: streaming quality settings (resolution, framerate, bandwidth), update show title, chat with viewers, viewer list (with option to kick) – deprecated: only possible in older or custom configuration browsers, with Flash support
Who can broadcast is subject to membership and administrator can allow all members or only a certain list (usernames, emails, roles) to setup channels.
Effects, Screen Sharing
Screen sharing, effects, broadcasting video files or picture slideshows are possible with CamTwist for Mac, ManyCam, Webcam Max for PC.
- Broadcasting live video from mobile is possible with:
- WebRTC in HTML5 browsers (including Chrome Android, Safari iOS), with specific hosting requirements.
- mobile apps for RTMP broadcasting like Larix Broadcaster for iOS , Larix Broadcaster Android , Telestream Wirecast Go, Teradek Live:Air Solo, Broadcast Me, nanoStream
- Playback of RTMP/RTSP live video streams is possible in HTML5 mobile browsers as:
- HLS or MPEG DASH after transcoding. The Wowza SE based hosting supports this functionality.
- WebRTC in some browsers, with specific hosting requirements.
* Each technology and implementation has specific limitations and requirements.
HTTP Live Streaming (or HLS) is an adaptive streaming communications protocol created by Apple to communicate with iOS and Apple TV devices and desktops.
All iPhone/iPad devices running iOS 3.0 and later support HLS.
Devices running Android 4.x and above will also support HLS.
Dynamic Adaptive Streaming over HTTP (DASH), also known as MPEG-DASH, is an adaptive bitrate streaming technique that enables high quality streaming of media content over the Internet delivered from conventional HTTP web servers. Similar to Apple’s HTTP Live Streaming (HLS) solution, MPEG-DASH works by breaking the content into a sequence of small HTTP-based file segments.
The VideoWhisper Live Streaming plugin supports configuring a HLS / MPEG DASH delivery url (available with Wowza Streaming Engine rtmp hosting).
To play on iOS, streams need to be published (usually with external encoders) with certain codecs and profiles supported by iOS devices. Web based Flash plugin and mobiles apps built with Air do not publish in a format accessible on iOS, because this Adobe technology does not support AAC codec encoding and often video bitrate/profile are too high for mobiles. Publishing from a Flash / Air based client to HLS (iOS or Android browser) requires transcoding of stream (live re-encoding) by relay server before delivering as HLS.
Transcoding is supported by this solution.
Solution can be configured to archive all streams on streaming server. These archives of previous broadcasts can be imported and published as videos on site and listed for each channel.
Import and show archived video streams using Video Share VOD plugin.
- HTML5 playback support
- RTMP playback support
- HLS playback support
- Adaptive Bitrate streaming support
- Playlists to organise videos and access
- AJAX display and update of video list
- shortcodes for listing videos, displaying player, upload form
- HTML5 Drag & Drop AJAX multi video uploader
- mobile video upload (iOS6+, Android 3+)
- convert videos (avi, mpg, flv, 3gp ..) to html5 mp4 and segment for HLS
- Video On Demand (VOD) support
- VAST (including pre-roll video ads) HTML5 support
- HTML5 Google IMA support:
DoubleClick for Publishers (DFP),
Google AdSense network (GAN):
AdSense for Video (AFV) ads - Embed codes for video/playlist, download, M3U playlists
Archiving Limitations: While RTMP based streams can usually be saved as published, some formats like WebRTC, involve codecs that can’t be saved as is. Archiving of such streams can be done with transcoding to archivable codecs, which is supported by this solution (with FFMPEG on web host).
Transcoding involves lots of processing power and require higher plans for processing multiple HD streams at same time.
For optimizing resources, WebRTC can be configured to used H264 for video but WebRTC audio Opus still needs to be transcoded to AAC.
Plugins allows controlling access for broadcasters and viewers, including globally (with access lists), using membership levels (for broadcasters and their channels) and per channel by broadcaster.
Broadcaster Control
Unlimited broadcaster membership levels can be setup from plugin settings with these options:
- users (roles, emails, usernames) that have this membership
- users (roles, emails, usernames) that can access channels of these members
- maximum broadcast time per cycle
- maximum watch time (cumulated from all viewers) per cycle
- default and maximum stream bandwidth for web broadcasting app
Viewer Control
For each channel these can be customised for viewers:
- channel access price (if enabled, can be set by channel owner)
allows viewers to purchase access per channel, with credits - channel access list (if enabled, can be setup by channel owner)
allows viewers to access based on their membership - user watch time limit (on site), configurable by role
- watch interface parameters, configurable by role
Billing Gateways for Pay Per Content / Tips / Membership
Use the MicroPayments plugin to enable manage paid channels, tips/gifts and membership based on MyCred and/or TeraWallet for WooCommerce token wallets.
Setup paid channels as WooCommerce products or with the MyCred Sell Content addon, using the MicroPayments plugin
Use myCRED credits management and billing plugin to enable pay per access channels. Clients can prepay credits that can be used for purchases on site. Plugin includes PayPal Standard, Skrill (Moneybookers), NETbilling, Zombaio, BitPay (bitcoin). Other payment modules are available for extra: 2checkout, ComproPago, CoinBase, CoinPayments, PayFast, Payza, Robokassa, Stripe, WePay.
Use TeraWallet (WooWallet) to support WooCommerce billing gateways (free & paid): PayPal (Standard, Checkout, Stripe (CC, Apple Pay, Google Pay, SEPA, Bancontact, Sofort, Giropay, EPS, iDeal, Przelewy24, Alipay, Multibanco), Square (CC U.S, Canada, Australia, Japan and the UK), Amazon Pay, PayFast, Venmo, eWay (SG, MY, HK, AU, NZ), Klarna (now, later, slice), Authorize.Net, SagePay (UK), WorldPay, PayPal Pro, Advanced (Payflow), Elavon, Moneris, FirstData, Payson, Pin Payments AU, 2 Checkout, SnapScan SA, Alipay CN, PayU TK.
For more advanced paid feature implementations see Paid Videochat solution that includes: pay per minute video calls / live streaming, paid questions/messages.
Membership
As WP Live Streaming plugin supports premium broadcasters and access lists based on roles, this can be used in combination with the credits based Paid Membership plugin, (or any other paid membership plugin) to enable paid membership (in example to charge a fee for premium broadcasters or accessing certain channels).
With the Paid Membership plugin, users can buy membership using same token system used for tips and pay per minute (MyCred and/or WooWallet + WooCommerce).
For direct membership purchase (where visitors register by paying), WooCommerce Memberships & Subscriptions (premium plugins) allows setting up paid paid membership roles:
- WooCommerce Memberships Setup paid membership as products. Leveraged with Subscriptions plugin allows membership subscriptions.
- WooCommerce Subscriptions Setup subscription products, content. Leverages Membership plugin to setup membership subscriptionsSetup at least 1 paid role that members get by purchasing membership.
This script benefits from power of WordPress (most popular site framework powering many of top sites), reliability, ease of use, plugins, themes, a large community of experienced developers and designers, scalability, performance, high quality coding and security standards.
Most successful sites use WordPress : WP is the platform of choice for top 10 000 sites, with more than 1/4 of top 10k sites online using WordPress . It’s free, open source and with thousands of developers and businesses building behind it.
WordPress includes multiple advanced plugins, tested and used on millions of sites:
- WooCommerce: ecommerce platform
- BuddyPress: community (member profiles, activity streams, user groups, messaging)
- Sensei LMS: learning management system
- bbPress: clean discussion forums
- Updraft Plus: automated backup plugin, free for local storage
- WordFence: site firewall, malware scanner & cleaner
Premium WP Plugins / Features
- WooCommerce Memberships Setup paid membership as products. Leveraged with Subscriptions plugin allows membership subscriptions.
- WooCommerce Subscriptions Setup subscription products, content. Leverages Membership plugin to setup membership subscriptionsSetup at least 1 paid role that members get by purchasing membership.
- WooCommerce Booking Setup booking products with calendar, availability, booking deposits, confirmations for 1 on 1 or group bookings. Include performer room link.
- WooCommerce Product Vendors: Allow multiple vendors to sell via your site and in return take a commission on sales. Enable performers to sell their own products.
- WooCommerce Product Reviews Pro: Studies show over 63% of customers are more likely to purchase if a site has product ratings and reviews.
Viewers can send tips to broadcasters from watch interface. This is based on tokens that can be purchased with real money.
Tip shows to everybody in chat (with a sound notification) but client can write a custom private message that shows to broadcaster only.
Unlimited tip options (for users to select) are customisable from backend:
- amount
- label
- default note (message) to performer
- sound (mp3) to play on tip
Webmaster can also define the ratio earned by broadcaster from tips. Broadcaster can receive the full amount or just part of the tip amount (default: 90%).
Billing Gateways for Tips/Gifts
Use the MicroPayments plugin to enable manage paid channels, tips/gifts and membership based on MyCred and/or TeraWallet for WooCommerce token wallets.
Use myCRED credits management and billing plugin to enable pay per access channels. Clients can prepay credits that can be used for purchases on site. Plugin includes PayPal Standard, Skrill (Moneybookers), NETbilling, Zombaio, BitPay (bitcoin). Other payment modules are available for extra: 2checkout, ComproPago, CoinBase, CoinPayments, PayFast, Payza, Robokassa, Stripe, WePay.
Use TeraWallet (WooWallet) to support WooCommerce billing gateways (free & paid): PayPal (Standard, Checkout, Stripe (CC, Apple Pay, Google Pay, SEPA, Bancontact, Sofort, Giropay, EPS, iDeal, Przelewy24, Alipay, Multibanco), Square (CC U.S, Canada, Australia, Japan and the UK), Amazon Pay, PayFast, Venmo, eWay (SG, MY, HK, AU, NZ), Klarna (now, later, slice), Authorize.Net, SagePay (UK), WorldPay, PayPal Pro, Advanced (Payflow), Elavon, Moneris, FirstData, Payson, Pin Payments AU, 2 Checkout, SnapScan SA, Alipay CN, PayU TK.
For more advanced paid feature implementations see Paid Videochat solution that includes: pay per minute video calls / live streaming, paid questions/messages.
Schedule videos to play as live streaming channels.
Server side scheduled playlists are supported as SMIL playlists with Wowza SE. BroadcastLiveVideo includes a frontend editor that can be used by broadcasters to edit channel playlist.
The editor allows selecting from user’s videos. Videos can be uploaded, converted, managed with VideoShareVOD plugin.
You can create an elaborate schedule with many playlists of videos scheduled to play on each channel:
- For on-demand stream sources, use either 0 or a positive number for the start parameter. A positive number will start that number of seconds into the video.
- To play the source until the end, use -1 for the length parameter. Any positive value will play the source for that number of seconds.
- To loop through the schedule, set repeat to true. Setting repeat to false will shut down the stream after the playlist has finished. Later playlists aren’t loaded unless they start before the non-repeating playlist ends.
- Set the scheduled parameter to start the playlist at a specific time. If the begin time is in the past, each playlist is loaded in order and immediately replaces the previous playlist for the stream.
Notes:
- Channel live stream plays as HTML5 HLS / MPEG-DASH including in mobiles.
- Resetting playlist requires using the Flash based VideoWhisper Watch player that triggers a special command to Wowza SE using RTMP. Playlist is also reset on application / server restart.
- Depending on Wowza SE configuration, playlist can be started automatically by server or by application (default), on request (when there’s at least 1 viewer). Application method is recommend for optimal resource usage and also for playlist to automatically update without server intervention.