RTMP Server in the era of HTTP video streaming

Given the growing popularity and support of HTTP video streaming, it may be tempting to consider Real Time Messaging Protocol (RTMP) streaming obsolete. But in many cases, working with RTMP server is still very meaningful. As soon as Macromedia first pronounced RTMP with Flash Player 6 in 2002, the brand new Macromedia Flash Communication Server MX (FCS) required to stream the evolving Flash Video (FLV) format, stream was live or VOD.

However, for FCS, licensing costs were high (up to $5,000 per server), and as a result, CDN costs were high than other proprietary streaming formats. Some manufacturers in the industry have called RTMP streaming costs a “Flash tax”. But Flash Player has been a ubiquitous introduction to desktop browsers for well over a decade, much larger than other plug-ins. Though, streaming server technology has traditionally been harder for web developers to implement, and simpler HTTP delivery has mostly been easier and more cost-effective. In 2003, Macromedia enabled Flash Player 7 to support HTTP delivery of FLV files, allowing integrators to use standard web server technology to deploy online video.

So in many ways, RTMP as a VOD transport delivery has not been a requirement for web video for more than a decade. As a video solution architect, I think of business requirements as the leader in most audio video decisions. And still, in 2014, RTMP is the de facto standard for the following use cases:

Publishing live streams from software/hardware encoders: Almost all streaming devices support RTMP to publish to CDN providers and streaming servers. Some native mobile applications also use RTMP libraries to publish live video from their mobile camera.

Near-instant search/playback: One of the benefits of RTMP streaming is its enhanced search capability. With real-time streaming, the player can search anywhere in the video with less buffering than HTTP delivery. However, to enjoy this feature, you need a Flash Player on your desktop and as such, it is not possible in mobile browsers. HTML5 browsers use HTTP domain requests to facilitate faster searching of VOD files.

Content Protection: RTMP Server can facilitate different levels of content protection, from obfuscation to true DRM. RTMP streams are not stored for playback on a desktop browser.

Adaptive Streaming: One of the preferred uses of RTMP is adaptive streaming playback, where we provide the video player with more bitrates and content resolutions, providing the best resolution at the current network speed. Some HTTP adaptive streaming technologies, such as HLS and MPEG-DASH, allow similar delivery, but RTMP may be more responsive to switching one bitrate to another. Unfortunately, there is no standard for HTTP adaptive streaming between HTML5 video-enabled browsers. As such, the Flash-based display of adaptive streaming is still a requirement for adaptive streaming.

python hosting

Live Streaming Playback: While live streams do not need to be adaptive, compressed video segments apply the same principle to all live streaming playback. For desktop playback within the browser, virtually every live streaming event requires a video player that supports Flash-based rendering and RTMP playback. Apple Safari on iOS natively supports HLS, and luckily, all modern streaming servers, including the Wowza Streaming Engine, support RTMP and HLS compression.

The requirement for a Live Streaming Flash Player will only change if MPEG-DASH appears everywhere as Flash currently. If Internet Explorer 8, 9 and 10 support is required to install live streaming, then RTMP streaming is still required. Also, if you need a delay close to zero in a live stream, then HTTP streaming will almost certainly not meet your needs while RTMP is capable; HTTP mechanisms require that multiple packets be collected on the server before being sent to the video player.

In summary, if your video workflow involves live streaming or any kind of packaged video installation, RTMP is the key to a successful video experience. HTTP delivery has already replaced most Flash VOD installs on video, but HTTP video can’t handle all RTMP video use cases.

Another important setup on Red5 Server is the Python Hosting offered to all hosting customers, with python cpanel hosting the advantage is cheaper and easier to install and run python scripts on a normal hosting. With Python Hosting and rtmp server the customer can really start a webmasters and increase a number of usages to host python scripts or even video chat or live streaming.

As my university professor used to say the computers language for the next 50 years will be python, fast, easier with multiple modules which allow any developer to start an application running python is a few short hours.

RTMP Server to IP Camera re-stream to HLS and HTML5 Player

To re-stream an IP Camera on our control panel is very easy. After you order, we will provide access to a control panel URL. Your email will be your username and a password.You need to login to this control panel, which we call Wowza control, as our main core on the server is the Wowza streaming engine.After you have logged in to the Wowza control panel, you will see your services. You can have a number of services, including live streaming, TV station, and so on. Select the service you want to start, and click Overview (just under Options). Please see image with the black arrow.

rtmp overview

After you click Overview, a Live Camera Restream page will open. A small player appears, and if you click to play, it shows a video file we use as the default video on the system.On top there is a menu with some links. One of these is “HTML Embed Code”. Other links on the top menu are Stats, IP and countries from where your viewers are located. You don’t need to worry about data transfer if you are on one of our bigger packages, as we provide unlimited traffic.At the bottom you have two important links, “Reconnect Stream” and “Player links”, and on the top right there are small images. The important image is shown with an arrow. This is for the settings and the RTP or RTSP that the IP Camera URL needs to be added to this configuration (see image).

So, click on the settings, and then click plugin. Then on Shoutcast / Icecast / IPCAM URL enter the rtsp and under click Update configuration, this will restart the service.

After that, go back to the main page and click “HTML Embed Code”. Copy the code on the right and add it to your site.