I have updated my Amazon AWS CloudFront Live streaming cost estimator a bit. This has been downloaded more than 10,000 times and I have had several responses from people across the world exploring to leverage Amazon cloudfront CDN based Live streaming and I hope this would continue to help people .
One of the key addition is that I have added S3 storage costs if one wants to do Live streaming with the DVR functionality.While I haven’t done DVR on Adobe FMS,I have done Live video streaming with DVR using Wowza and both are pretty much similar in the way things get configured on the server.This means,you can map the DVR path to S3. The only thing is that you would have to mount S3 as a drive on the FMS instance.(origin server)
Wowza Media System’s Wowza 3.0 server with nDVR Add on is a nice feature to implement Live recording of Video streams that enables Time shift (DVR) video play on a Flash player.
nDVR Add on has options for DVR modes such as Append ,Version and Delete.
Append mode is used if one wants to combine/ stitch all the Live streams that you encode along with when the DVR is enabled. Version mode creates different record archives when you start and stop the DVR and with this you can publish unique recordings. For instance, let’s say you record streams every two hours or if it is time triggered , you can list the recordings and play it based on the time intervels.
I think Wowza Server with nDVR is a great infrastructure for enabling Live video streaming with recording on the Cloud from H.264 IP Cameras (e.g. Axis). One could directly configure the IP cameras to stream H.264 high quality video streams to Wowza with nDVR and then display the Live streams on the Web or Mobile along with DVR recording (Live recorded archive).
Cloud computing storage systems such as Amazon S3 and EBS provides a powerful ,scalable and cheaper way to record and Archive terabytes of Live Video recording data from the IP Cameras. Wowza server can take several I.P Camera inputs and hence multiple camera streams could be enabled. Such a cloud based business model could be distruptive !
The timeshift recorded Play on a Flash Player using the Wowza nDVR is apt for IP Camera video recordings as one can sift through several hours of recorded video online easily.
Here is a Video demo of the Wowza nDVR add on with Web based recording control (start:stop)
The remote control of the DVR can be enabled using the Wowza server’s nDVR APIs.
In the demo, I have integrated a web server with the Wowza’s API to start and stop the recording. Such controls can be enabled from a Mobile or through Triggers from Cameras or any other event based trigger that can make a http call to Wowza server.
Live Video+Wowza servers+nDVR+Cloud services+Web+Mobile provides immense opportunities to deliver newer models in the business of Video. Additionally,Wowza’s Adptive bit rate Live streaming using Wowza’s on the fly Transcoder also offers newer possibilities. My earlier post on this is available in this link
Moments ago, I had received an email from Eric Rees,Founder of the hugely popular Lean Startups . Eric’s article describes some interesting facts about the hacker way ,the enablers that has taken Facebook to what it is today , 800+ million subscribers and $3.7 billion revenues and growing at a dizzying pace.
Here are a few things about the hacking approach, I thought I would share for those striving to grow their business driven by Technologies , Engineering excellence and Innovation.
Simply put: we don’t build services to make money; we make money to build better services.
And we think this is a good way to build something. These days I think more and more people want to use services from companies that believe in something beyond simply maximizing profits.
“Hacking is also an inherently hands-on and active discipline. Instead of debating for days whether a new idea is possible or what the best way to build something is, hackers would rather just prototype something and see what works. There’s a hacker mantra that you’ll hear a lot around Facebook offices: “Code wins arguments.”
Hacker culture is also extremely open and meritocratic. Hackers believe that the best idea and implementation should always win — not the person who is best at lobbying for an idea or the person who manages the most people.
To encourage this approach, every few months we have a hackathon, where everyone builds prototypes for new ideas they have. At the end, the whole team gets together and looks at everything that has been built. Many of our most successful products came out of hackathons, including Timeline, chat, video, our mobile development framework and some of our most important infrastructure like the HipHop compiler.
To make sure all our engineers share this approach, we require all new engineers — even managers whose primary job will not be to write code — to go through a program called Bootcamp where they learn our codebase, our tools and our approach. There are a lot of folks in the industry who manage engineers and don’t want to code themselves, but the type of hands-on people we’re looking for are willing and able to go through Bootcamp. ”
Here is an incident that makes me to think how the consumer data that one might think may be secure in a business using a powerful and secure cloud may not be really secure.
In Sept’2011 , I had booked two tickets through Redbus.in and then had to cancel them for which Redbus.in offered me cash coupons instead of refunds for cancellations . The cash coupons are an 8 digit number that one can use again to book a ticket on redbus.in . My coupons are valid till March’2012. So, yesterday, I wanted to use the valid coupons to book two tickets on their website and I got a coupon invalid/expired error. I then immediately contacted their support and I was surprised to know that some one else had traveled to Bangalore using my coupons. The first support staff promised me to get back to me on this and he never got back after an hours time. I called them again and the second support staff looked in to the issue and said that my coupons indeed has been misused and that I should email Redbus.in support to resolve this as he couldn’t help.
At the outset, it occurred to me this is a clear indication of a data theft. How could some one else ,an outsider would know about the coupon details that was generated by the system and emailed to me ? Only an insider who has access to the customer transactional data would really have access to this.
Just imagine the fact there are several thousands of people booking through Redbus.in and cancelling and what if hundreds of misuses like this happen. For instance,As of now, I am unable to use Rs 3820 value of coupon or ~ USD 75 . Imagine the losses for 10,00 or more such incidents potentially!
Take away :-
Even the most secure of the clouds may not guarantee the security in a business. People aspects,business practices and a proper Governance are critical to making the information really secure.
Redbus.in with the funding of leading global VCs have been operational now and seems to be mature at the outset. But incidents such as this and their own personnel casually reporting that cash coupons have been misused asking me to escalate the matter really reflects the real dark picture of the business inside. This may sound like a simple matter @ $75 misuse, But this should be a wake up call for any businesses who intend to migrate their business over to the cloud to think beyond technology and related aspects otherwise the risks may be higher both for the business and its clients.
As I am writing this para, Redbus.in support team has acknowledged my email sent yesterday and I hope they resolve this soon and its management take a note of an issue like this seriously from a public consumer perspective as there is a potential to commit fraud at a huge level given the transaction volumes envisaged in a business such as this.
Parse is a cutting edge cloud based mobile back end service. They are an early mover in the emerging space of cloud based Mobile backend service providers. Parse is now offering painless migration services to SimpleGeo users. SimpleGeo services was recently acquired by Urban airship and shut down leaving a number of users to look for alternatives.
If you have been using SimpleGeo’s services , checkout Parse migration offer here
More than ever today, An increasing number of companies right from startups to large corporations are exposing their business services as web services APIs. A number of these services today are based on the cloud and we are likely to see this growing with the advances and growth in cloud computing.
Most of these APIs are primarily targeted at the developer community so that they can develop innovative and niche software applications for the market based on one or more APIs . Developer centric Hackathon initiatives and events are common and a must today right from the upstart companies to the big boys in the game. It brings in a win-win approach to the business. Developers needless to say are the Rockstars of the next generation IT business enabled through the emerging cloud and mobile technologies.
While there is a growing trend to provide such Webservices APIs across a number of vertical industries , Certain service providers who publish their APIs that they cliam is meant for developers in reality don’t offer them to developers in a democratic manner. I have seen this in my own experience as well as hear such incidents through fellow developers.
I thought, I would share a brief checklist for developers to quickly assess Web services API services providers . This may help them not to waste their time when they are working on a great idea and are seriously planning on their time to market aspects.
Does the API service provider provide online developer registration in their website ?
Is your registration approved within 24 or 48 hours?
Did you get a response from the community manager or developer support?
Has the API service provider furnished developer membership norms?
Has the API service provider provided demographics and transparent pricing information on their website ? (E.g. Google Map)
If a Closed room and/or paid API services vendor has responded to you, check if you have been provided with clear commercial terms and conditions, including SLAs.
Check vendors for published information or links to the apps developed using their APIs during developer events on their website (check this specifically when you want to approach startup companies) (e.g. Tendril Smart Energy APIs)
Check to see whether a company is having a lot of OPEN developer initiatives including Hackathons (e.g. Salesforce.com) . But Dont be carried away by companies who conduct a few developer events and annouce news ,but doesnot provide some or all of the things I have listed here. Such companies just want to use your talent for marketing them.
Check a Linked in Visit to your profile from a representative of an API service provider where you have applied for a membership or access and see if you get a response within a few days.
If you see lot of the above missing with a company that you plan to contact for using their API in your next big idea, the chances are high that you may not get engaged or you may not find good synergies to the extent of using such APIs as the crux of your application. Hence it is better to take a pro-active ,upstream planning on this whether you are developing a web or mobile application/mash up.
My viewpoint is that a number of companies providing Web services APIs for various reasons especially from the view point of monetizing and growing their business, but not really opening up their services to global developers and embracing them in a practical manner are either myopic or have a faltered strategy. Why would a company want to have a Web services with out it being a key part of any return of investments (ROI)? Does it make sense to anchor your App ideas with restrictive service providers without an eco system ?
To Summarize,
Developers and organisations working on the next big idea or looking at providing niche services through API based Apps can make better decisions and outcomes in their initiatives through a through self research/assessment approach (e.g. checklist provided above) as a part of their strategy and planning.
Web service /API services providers should seriously look at democratizing their API initiatives and services and embracing the developer eco-system and make it as a part of their strategic ROI and growth initiatives. The chances to compete well and succeed can be higher.
- There are a number of references and examples where smaller to larger companies have succeeded and/or growing through the democratization of the APIs whether free or paid . E.g 1. Google 2. Yahoo 3. Amazon 4. Facebook 5. Twitter 6.Facebook 7. Twilio 8.eBay so on . A list of most popular APIs is available here
Finally , What do you think ? A Quick 10 second Poll for the developers seeking access to various APIs who want to voice their need for the democratization of web Services APIs
Today, I had set up a Wowza Media Server 3.0 for a project that required Live streaming from the Cloud with on the fly transcoding of the live streams dynamically for multiple devices (dynamic multibitrate video streams) and wanted to share some thoughts.
Wowza’s 3.0 with the Transcoder add on provides a very powerful means to deliver Live video streaming to multiple screens or devices (desktop,iPhone,iPad,Android,BB) and the deployment of Wowza on a cloud service like Amazon AWS provides a very effective means to deliver this.
Wowza 3.0 with its on the fly transcoder add on, delivers a H.264 , AAC live video stream . In the transcoder, you can define multiple bitrates and screen resolution sizes based on the screen type and quality of video , for instance, A medium bandwidth live stream at 350 kbps at 160 P for mobile devices.
The Wowza Transcoder provides a method to group streams at different bitrates together in logical groups for live playback called Stream Name Groups. These groups can be defined using the ngrp: stream name prefix for adaptive bitrate delivery.
To play using an Apple iOS device (Cupertino/Apple HTTP Live Streaming): http://[wowza-ip-address]:1935/live/ngrp:myStream_all/playlist.m3u8
To play using Adobe Flash player (San Jose/Flash HTTP):
The good thing about ngrp and manifest player link methods is , the player will automatically process the .f4m manifest and accordingly play the video bitrate as per the user bandwidth. There is also a provision to use the SMIL based configuration .
The Multibitrate Live streaming works well on the OSMF Flash player http://osmf.org/
Here is a video snippet of the OSMF play
Wowza Media Adaptive Multibitrate streaming on OSMF Flash player
I tried playing the Live stream on the JW Player which is my favorite one, But it wouldn’t work. I suspect JW player doesnot support reading the .f4m manifest
One of the critical observations is that Wowza’s on the Fly Live transcoding along with the streaming server requires a lot of processing power. It works on a 64 bit Windows as well as Linux server . I was using a 64 bit Windows 2008 R2 server .
A test on a Single core Xeon processor 2.33 GHZ with 8GB RAM (with JVM heapsize set at 3GB at the start up) , just kept the server consistently at 100% load and I got a very flaky live stream with a lot of buffering and stuttering. Actually nothing worked at this capacity.
I had to change the AWS Cloud server to a High CPU,High Memory instance to get it streaming properly. So , transcoding on the fly is a very heavy duty job that demands considerable CPU power. I would suggest anyone trying out to first do a thorough capacity planning and testing on the server(s) before running in to production.
Also evaluating origin-edge streaming topology for distributing the live stream load is a good idea based on requirements.
For device playbacks ,Please check below link on the Support for H.264 codec on the mobile browsers
Wowza transcoded video is a H.264 codec based output
To summarize, Wowza media server with Transcoder deployed on elastic cloud servers enables low barrier, low cost Adaptive multi-bitrate Live video streaming for Multiple screens/devices (Desktop flash, Android,iPhone iOS)