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.

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.

rtmp server settings

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.

Ethiopia Web Hosting

Web design is a web development process that creates a website that has a good layout, graphic design, typography, user interface, etc to make it appealing to users and easy to use. Starting a business requires the implementation of the business plan but sustaining and maintaining requires tremendous efforts because at this stage the effectiveness and proficiency of the business plan and strategies in achieving the desired goal are put to test. Livin in a digital world, web design is an important part of the online marketing platforms and strategies that must be properly utilized to skyrocket your business to achieve your business goal. The importance of good web design to your business include

  1. It provides easy accessibility of information on product and services at customer convenient time.
  2. It brands business and creates awareness for goods and services than other forms of advertisement if properly optimized for users and search engines.
  3. It represents your business in the online community.
  4. It makes your business more credible and reliable because of the opportunity to make an inquiry.
  5. It creates a good impression in the mind of your potential customers.
  6. It helps to thrive in your competitive niche and increase sales.
  7. It is best adaptable in solving customers problems in buying services.

Website is essential for sustainable growth of business but when poorly designed will not yield the desired result thus choosing an expert in web designing must be done with care to maximize utilization of time and money and prevent damage to your business because web design services vary in quality depending on the competency and experience of the expert hired. In need of high-quality web design at an affordable price, prove your seriousness by patronizing and buying the unprecedented and transcendent services of Ethiopia Web Hosting and Design company where customers expectations metamorphose into fruition.

About Ethiopia Web Designing and Hosting Company

Ethiopia Web hosting and Design is a premier Web design company of notable standard that specializes in web design and hosting. We have twelve years of experience with magnificent achievement and remarkable success in web design and hosting. We have built an appreciable reputation for the creation of positive return on investment for our clients which we are not willing to stanch and relinquish. We have our first class servers in the USA and we partner with Hosting Marketers Inc, one of the main web hosts in the United States of America. Ethiopia web hosting is the leading provider of shared web hosting in Ethiopia. We have our main data center located in Chicago board of trading Building which is one of the world largest institutions equipped with infrastructures to provide:

  1. redundant and precision power supply.
  2. 24×7×365 manned security and video surveillance.
  3. Air conditioning and HVAC.
  4. 24×7×365 datacenter staff to provide assistance for customers.
  5. Network assets

Our infrastructures are the state of the art to provide you with the best hosting services.

  • Ethiopia web design service

Web design is multi-facet discipline involving web graphic design, user interface design, typography, and standard code and Search Engine Optimization. We have competent and savvy personnel who tangle as a team to create a website that has these following features:

  1. Effective measures in meeting the target market and also made appropriate and suitable for the identified trend of the audience.
  2. Optimal balance between aesthetics and clarity.
  3. Required layout, instruction, and labeling to make it user-friendly to enhance usefulness and versatility to users.
  4. Mobile Optimization for high ranking in Search engine result page (Serp) by using responsive web design in order to increase traffic and conversion rate.
  5. Search engine optimization strategies rightly implemented.
  6. Web browsers supporting typography.
  7. Motion graphics and infographics to make the presentation easier without depleting the target market.
  8. Catching and friendly domain name that matches the business name with a popular top-level domain (.com, .net, .org, .info) to create a good and lasting impression in visitors mind at a reasonable price of 500 birrs per year. Deal with us and experience our outstanding creativity and connection. The minimum price for our web design service is 2000 birr.
  • Ethiopia Web Hosting service

Ethiopia web hosting provides individuals and organizations websites internet access via the world wide web. Our quality hosting services provide personal website creator, small businesses, developers and large institutions customers with various hosting services to meet their target market at competitive prices. The hosting packages have been carefully and well-formulated to provide web spaces, bandwidth, domain name, email addresses, file transfer protocol, techies support, server-side script, frontpage extensions, etc that are users goal replenishing, enhancing and supporting. The availability of website and downtime stated in our Service Level Agreement is duly comply to. We provide the buyer of hosting services with 24 hours a day 365 days a year of customer support desk – a staff to provide the solution to complains made not, thus accounting for our reputation as not just packs of huge bandwidth limit and webspace. The detail description of our hosting packages are as follow :

  1. Hosting one for 1500 birr / 51 dollar per year

Cpanel/softaculous, 5GB web space, file transfer 500GB, unlimited domains/emails/databases, cloudflare directly on Cpanel, PHP version selector, and free SSL certificate.

  1. Hosting two for 3200 birr / 108.8 dollar per year

Cpanel/softaculous, 10GB webspace, file transfer 1000GB, unlimited domains/emails/databases, CloudFlare directly on Cpanel, PHP version selector and free SSL certificate.

  1. Hosting three for 5200 birr/176.8 dollars per year

Cpanel/softaculous, 20 GB webspace, file transfer 2000GB, unlimited domains/emails/databases, CloudFlare directly on Cpanel, PHP version selector and free SSL certificate.

  1. Reseller one for 4800 birr/163.2 dollars per year

WHM/Cpanel/softaculous, unlimited Cpanel account, 10 GB webspace, file transfer 250 GB, unlimited domains/emails/databases, CloudFlare directly on Cpanel, PHP version selector and free SSL certificate for all your account.

  1. Reseller two for 9000 birr/306 dollars per year

WHM/Cpanel/softaculous, unlimited Cpanel account, 20 GB webspace, file transfer 500 GB, unlimited domains/emails/databases, CloudFlare directly on Cpanel, PHP version selector and free SSL certificate for all your account.

  1. Reseller three for 14500 birr/483 dollars per year

WHM/Cpanel/softaculous, unlimited Cpanel account, 30 GB webspace, file transfer 750 GB, unlimited domains/emails/databases, CloudFlare directly on Cpanel, PHP version selector and free SSL certificate for all your account.

  1. Server one for 2500 birr/85 dollar per month

Dual Quad-Core Xeon E5520, 200 GB hard disk, 8 GB RAM, 10 TB transfer ( 1 Gbps uplink), Cpanel/whm, 5 usable IP addresses, fully managed

  1. Server two for 5200 birr/176.8 dollars per month

Intel Xeon 4 Core, 2×500 GB hard disk, 16 GB RAM, 20 TB transfer ( 1 Gbps uplink), Cpanel/whm, 5 usable IP addresses, fully managed

  1. Server three for 7500 birr/255 dollars per month

Quad-core Xeon 5410, 2×120 GB SSD hard disk, 48 GB RAM, 30 TB transfer ( 1 Gbps uplink), Cpanel/whm, 5 usable IP addresses, fully managed

Which is better for live streaming, RTMP vs HLS

RTMP – Low latency TCP-based protocol originally built for Flash

HLS – Proprietary Apple-backed protocol that is widely supported on many environments.

MPEG-Dash – Webstandard but carries the same faults as HLS

Both HLS & MPEG Dash are kind of medium to high latency protocols although there is scope to play with different latencies.

WebRTC – Low latency protocol, built on open standards works in almost all browsers. However it is not supported on several environments/browsers Viz. iOS, IE

In summary, you cannot build a live streaming product/platform just based on rtmp stream as it does not address your maximum device coverage agenda.

My recommendation is to use a combination of http based (HLS/MPEG-DASH) & rtmp server for input from the broadcaster and then the hls for the output to a HTML5 player, like this you have all protocols for building your solutions.

Web Site Management

Hosting Marketers is offering new services to their customers,

Web Site Management

Realizing the difficulty  of hiring trusted web developers, Hosting Marketers is now offering in-house site installation, script upgrades and if anything goes wrong sites fixes.

They also offering web design at very affordable  prices, starting at $60 for a 5 page wordpress site.

They offering also SEO expertize starting at $50 for On-page Analysis.

Please visit https://hosting-marketers.com/hosting-marketers-services/ for more information.

testing a player

Trying to test if a player code is easy to embeb on a wordpress post.

the player was generated at

http://www.hosting-marketers.com/generator/


red5 hosting

Red5 is a media server created with Java language. It is a free open source software but recently a new version Red5 Pro came out developed by the same people, this new version supports streaming to mobiles, Android or iOS, which red5 does not. The Red5 Pro is commercial product and costs $55 per server.

A media server allows Flash based applications connect to it using Real Time Messaging Protocol (RTMP). The server can send and receive data to and from the connected users who have a flash player installed. The server also allows users to receive and publish streams. This permits video chat applications, live streaming and even ondemand video streaming.

Most common Video chat software’s are:
1- Avchat
2- Videowhisper
3- Prochatrooms
4- Gchats

For live streaming the necessary tool if you already have a server with red5 installed is an encoder, an encoder is the software that will connect your computer to the red5 server using the RTMP, which your server provider will give you.
1- FMLE, it is an free Adobe product and does a good job.
2- Wirecast, it is an expensive commercial product of very high quality, absolutely necessary if you starting a TV station.

Although red5 is a free product many people prefer to use Wowza Streaming Engine or Adobe Flash Media Server which are commercial software’s and can be quite expensive, the FMS costs $4500 per server. The reason is that the developers of red5 although have created a wonderful system did not spend much time with tutorials and instructions on how to install and manage a red5 server, for this reason if you searching for a red5 server we suggest you pick a web host which specializes on red5 servers and red5 shared hosting.

1- Red5 Servers relatively cheap red5 servers starting at $15 a month.
2- Red5 Hosting, Hosting Marketers, a web host for experienced webmasters, it is the oldest hosting company specialized on Video and media servers, they also offer Wowza Streaming Engine on its shared plans. They have a very experienced customer support and a reputation for going out of their way to help customers. They starting plan with Red5 enabled costs $9.95 a month. Most other red5 hosting companies are resellers of Hosting Marketers.

Red5 is a formidable media server, extremely flexible and has the advantage of being a free product with with many people working on developing it, for now the main version does not yet work with mobiles, if that is what you need we suggest that instead of using the Red5 Pro version to use the Wowza instead.

Remind me, what is CloudFlare?

CloudFlare is a third party service that we offer to our hosting customers. CloudFlare provides performance, security and availability to web properties. CloudFlare runs a globally distributed network where they automatically cache static content, filter malicious traffic and help offload big spikes in traffic. On average, a site loads twice as fast, uses 65% fewer server resources and has an additional layer of security.

Hosting Marketers, is excited to announce our partnership with CloudFlare! If you haven’t heard about CloudFlare before, their value proposition is simple: they’ll make any website twice as fast and protect it from a broad range of web threats.

Today, hundreds of thousands of websites—ranging from individual blogs to e-commerce sites to the websites of Fortune 500 companies to national governments—use CloudFlare to make their sites faster and more secure. They power more than 65 billion monthly page views—more than Amazon, Wikipedia, Twitter, Zynga, AOL, Apple, Bing, eBay, PayPal and Instagram combined—and over 25% of the Internet’s population regularly passes through our network.

red5 out of memory exception

I’m trying to analyze heap dump of my application which is made when out of memory exception occurred.
I have video on demand application on red5 1.0.1 Final server and Flash client which is written in AS 3 and communicate with server through RTMPT

Why so much messages is accumulated in RTMPTConnection.pendingOutMessages ? See attachments for details.

any custom functions or config?
Piotr
no custom configs. What do you mean when talk about functions?

Well what does you app do exactly, perhaps you start some process that never finishes?

Can you post the custom configs (a diff file of compared to the originals) ? Now I’m not an expert on red5, but it would help to solve your issue by some of the smart folks in this group.
Cheers,

Piotr

May be this exceptions lead to memory leak? I found them in my log.
Also I found in profiler than org.red5.server.net.rtmpt.RTMPTConnection instances are never terminated after I close flash player or close browser tab. Their count grows.org.red5.server.net.protocol.ProtocolException: Error during decoding
at org.red5.server.net.rtmp.codec.RTMPProtocolDecoder.decode(RTMPProtocolDecoder.java:195) ~[red5-server-1.0.jar:na]
at org.red5.server.net.rtmp.codec.RTMPProtocolDecoder.decodeBuffer(RTMPProtocolDecoder.java:116) ~[red5-server-1.0.jar:na]
at org.red5.server.net.rtmpt.BaseRTMPTConnection.decode(BaseRTMPTConnection.java:195) ~[red5-server-1.0.jar:na]
at org.red5.server.net.rtmpt.RTMPTServlet.handleSend(RTMPTServlet.java:336) ~[red5-server-1.0.jar:na]
at org.red5.server.net.rtmpt.RTMPTServlet.service(RTMPTServlet.java:419) ~[red5-server-1.0.jar:na]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) ~[javaee-api-5.1.2.jar:5.1.2]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) ~[catalina-6.0.36.jar:6.0.36]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) ~[catalina-6.0.36.jar:6.0.36]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) ~[catalina-6.0.36.jar:6.0.36]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) ~[catalina-6.0.36.jar:6.0.36]
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:470) ~[catalina-6.0.36.jar:6.0.36]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) ~[catalina-6.0.36.jar:6.0.36]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) ~[catalina-6.0.36.jar:6.0.36]
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:615) ~[catalina-6.0.36.jar:6.0.36]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) ~[catalina-6.0.36.jar:6.0.36]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) ~[catalina-6.0.36.jar:6.0.36]
at org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java:891) ~[tomcat-coyote-6.0.36.jar:6.0.36]
at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:750) ~[tomcat-coyote-6.0.36.jar:6.0.36]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:2282) ~[tomcat-coyote-6.0.36.jar:6.0.36]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) ~[na:1.7.0_25]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) ~[na:1.7.0_25]
at java.lang.Thread.run(Thread.java:724) ~[na:1.7.0_25]
Caused by: java.lang.IllegalStateException: Invalid RTMP state: 5, nothing to decode
at org.red5.server.net.rtmp.codec.RTMPProtocolDecoder.decode(RTMPProtocolDecoder.java:189) ~[red5-server-1.0.jar:na]
… 21 common frames omitted

java.lang.NullPointerException: null
at org.red5.server.net.rtmpt.BaseRTMPTConnection.read(BaseRTMPTConnection.java:204) ~[red5-server-1.0.jar:na]
at org.red5.server.net.rtmpt.RTMPTServlet.handleSend(RTMPTServlet.java:341) ~[red5-server-1.0.jar:na]
at org.red5.server.net.rtmpt.RTMPTServlet.service(RTMPTServlet.java:419) ~[red5-server-1.0.jar:na]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) ~[javaee-api-5.1.2.jar:5.1.2]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) ~[catalina-6.0.36.jar:6.0.36]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) ~[catalina-6.0.36.jar:6.0.36]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) ~[catalina-6.0.36.jar:6.0.36]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) ~[catalina-6.0.36.jar:6.0.36]
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:470) ~[catalina-6.0.36.jar:6.0.36]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) ~[catalina-6.0.36.jar:6.0.36]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) ~[catalina-6.0.36.jar:6.0.36]
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:615) ~[catalina-6.0.36.jar:6.0.36]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) ~[catalina-6.0.36.jar:6.0.36]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) ~[catalina-6.0.36.jar:6.0.36]
at org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java:891) ~[tomcat-coyote-6.0.36.jar:6.0.36]
at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:750) ~[tomcat-coyote-6.0.36.jar:6.0.36]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:2282) ~[tomcat-coyote-6.0.36.jar:6.0.36]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) ~[na:1.7.0_25]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) ~[na:1.7.0_25]
at java.lang.Thread.run(Thread.java:724) ~[na:1.7.0_25]

Between 1.0.1 and 1.0.2 (trunk) the encode/decode and connection handling were overhauled; I would suggest trying the latest red5 with your application as all known memory leaks have now been fixed.

This bug was reproduced on 1.0.2. I’ll try use version 1.0. It is likely more stable. Bug is reproduced after 3 hours of playing live video in flash player. Flash player was crashed after that (due to unknown issue) and soon OOM appears.

I can confirm this bug exists in red5 1.0.1, red5 1.0.2 and not exists in red5 1.0.0.
Reproducing steps:
1. Install demo version of YourKit java profiler.
2. Run red5 with command line arguments:
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=”C:\path” -agentpath:”C:\Program Files\YourKit Java Profiler 2013 build 13052\bin\win32\yjpagent.dll”
3. Connect to your red5 with YourKit
4. Provide any live streming to red5 (I’ve used ffmpeg)
5. Start playing live stream in browser (I’ve used Chorme) from red5.
6. Suspend process of browser (I’ve used Sysinternals Process Explorer). That action results in adobe flash plugin crashes.
7. Look at Yourkit->Memory->Class list. Type RTMPTConnection in search string and push Refresh many times. You can see that size of RTMPTConnection.PendingData constantly increases.
Screenshot of RTMPTConnection instance:

Red5 1.0.1 and Red5 1.0.2 after crash flash plugin starts accumulate data in RTMPTConnection.PendingData

Red5 1.0.0 accumulates data during several seconds after crash, but then the RTMPTConnection.PendingData growing stops

red5 hosting and wowza hosting news

Web Hosting Press Releases and News

HstWire is Focused on Quality

Every press release we distribute is reviewed by a human editor to insure it meets the highest standards of quality. By providing better quality content, we make it easier for journalists to cover your news.

Why Choose HstWire?

HstWire gets your news straight to the search engines that everyone uses, like Google, Yahoo and Bing. HstWire’s search engine friendly releases mean that people will find your business more easily.
HstWire is one of the easiest ways to boost your visibility online because we use search engine-friendly releases. You can include images, links and even videos in your HstWire releases, which can make it easier for prospects and customers to find you online.