Using Media and Streaming - Understanding Services and Applications - Cloud Computing Bible (2011)

Cloud Computing Bible (2011)

Part IV: Understanding Services and Applications

Chapter 19: Using Media and Streaming

IN THIS CHAPTER

Learning about large scale streaming

Understanding why cloud computing makes streaming easier

Viewing examples of audio streaming

Discovering the many cloud video services available

Streaming files is a way of delivering large content in pieces so playback can begin more quickly. Streaming is used for broadcasting current events, showing TV and movies on your computer or cell phone, listening to Internet radio, making phone calls, and using many other applications.

Cloud computing has a number of advantages that aid content providers and delivery systems. Cloud computing provides large storage for maintaining libraries, large networks where content can be deployed worldwide, compute power for streaming servers, and an engine for encoding/decoding/transcoding content. This chapter describes some of these advantages, introducing you to early products and services in this field.

Audio streaming was among the first media applications to find widespread use on the Internet. Cloud computing has expanded the use of streamed audio to make radio, Web casts, music sites, and other services widely available.

VoIP is a form of audio streaming with a set of specialized protocols. Cloud computing is bringing a whole new class of applications to Internet users. Two applications in this area, Skype and Google Voice, are highlighted in this chapter.

Broadband connections and low-cost infrastructure have made video streaming services widely available. The formats used for video streaming are described here.

Cloud computing has made many of these services available at low cost or for free. This chapter presents some of the best and most widely known video services on the Internet, many of which are household names and among the most heavily visited sites. One trend worth watching is the move of TV into the cloud. A number of video sites bring this type of content to you. The video sharing site YouTube is described in some detail.

Understanding the Streaming Process

Streaming media are files that are sent in pieces by a service and played back by a client as the delivery continues. Streamed material can be live or on-demand. Live streaming is called progressive streaming or progressive download, while on-demand streaming is from material that is already stored to disk. In order to stream content successfully, the system requires that the network bandwidth be adequate to support the transfer of enough material to support user playback. For cloud computing where the media files are large and the connection is a low latency WAN connection, this is a major consideration and potential bottleneck.

The amount of data transferred during streaming can be enormous. Assuming that you have a one-hour video file transferred at 300 kbps and encoded into a widow that is 800X600 pixels in size, on-demand streaming would require the following:

Size (MB) = Time (seconds) x bit rate (bps)/(mebibyte), where a mebibyte (MiB) is 8 x 1,024 x 1,024 bits

(3,600 x 300,000 bps)/ 8,388,608 = 128 MiB or about 135 MB/hour

Because 1 kbs is equal to 1,000 bps, in the line above 300 kbs is equal to 300,000 bps. Notice that this calculation uses mebibytes (MiB). A MiB is a measurement of the number of binary bytes in units of 220, which is what the prefix mebi- indicates. A MiB is equal to 220 or 1,048,576 bytes.

When a live stream is sent multicast to 1,000 concurrent users at 500 kbps, the number of megabytes transferred is calculated like this:

MB transferred = Bandwidth x Time x Number of Users

MB transferred = 500 kbps x 3600 s x 1000/(8 x 1,024) = 220 GB

These figures are based on calculations found at http://en.wikipedia.org/wiki/Streaming_media.

When this stream is sent unicast to users, it uses a bandwidth of 300 kbps. Unicast is a stream sent from a service to an individual user. For many content services, such as the music services Last.fm and Rhapsody, a vast number of files are being served to individual users and they go out using unicast protocols as individual streams. The more users being served by the same content, the less efficient unicast is, and multicast protocols are employed. In a multicast scenario, the same content is being pushed out to multiple users. The system can send an individual copy or stream of the content to an intermediary server, which then uses the replicated copy to service users.

Because we know that live streaming requires 220GB be transferred per hour, a multicast system would require that we transfer 220GB to each of the relay servers in the multicast network. The amount of data sent per 1,000 customers would then be a function of the amount of fanout in the system. Here's where a content delivery network deployment in the cloud really pays for itself. Let's assume that you choose to serve the content out of 20 datacenters worldwide to 1,000 users and that your system load balances the clients using an algorithm that determines the closest 1,000/20 or 50 users to each site. Then you have transferred 20 x 220GB or 4.4TB of data to your servers from the service, but your relays have then transferred 50 x 4.4TB or 220TB to end users. If those relay servers are on LANs with their clients, then the speed-up can be greatly enhanced. Even if delivery is always over a WAN connection, CDN (Content Delivery Network) still offers enormous efficiencies.

The second requirement is that the service sending content be able to deliver the material in sequence or nearly in sequence to the client. As material is streamed to a client, the material can be buffered to memory and the system can use the sequence number in the packets received to structure playback. Depending upon the player application in use, the downloaded information can be viewed and then discarded, or it can be viewed in sequence in parts until the file is completely downloaded. In the latter case, the technology is performing what is called progressive downloads, which is so similar to streaming that it also is called pseudo-streaming. Applications that protect streamed content by playing part of the file and discarding it are more aptly referred to as streaming.

Protocols in Use

A digital audio or video file is partitioned into many small pieces and played back at high speed. Depending upon the nature of the material, playing streamed material can suffer a certain amount of loss of transmitted packets, which is displayed as dropped frames or missing notes without the viewer noticing. This difference between streamed media and transferred media is fundamental in deciding which transfer protocol to use. For transferred media, the entire file must be transmitted with fidelity, thus TCP (Transmission Control Protocol) is the transmission protocol. In a streamed media scenario, fidelity isn't a prerequisite, thus UDP (User Datagram Protocol) is the transmission protocol.

Note

You can find a fuller discussion of TCP and UDP in the book Networking Bible by Barrie Sosinsky, Wiley, 2009.

A number of network control protocols have been developed to stream media. Prominent among them are Real-time Transport Control Protocol (RTCP), Real-time Streaming Protocol (RTSP), and Real-time Transfer Protocol (RTP). RTP and RTCP are used exclusively with UDP, while RTSP is used with several different protocols. These three protocols are Application layer protocols, whereas TCP and UDP are Transport layer protocols.

All the streaming protocols in use take raw files and compress them in some way. If the material is to be protected, then the files also are encrypted prior to transmission and decrypted when they arrive.

The cloud computing advantages

People in the streaming media community are very excited about cloud computing, and for good reason. Cloud computing has some unique features that make it a very suitable platform for large scale audio and video streaming to customers on demand. Cloud systems offer the following:

• Access to large scale storage, which enable the storage of large media files and on-demand media libraries.

Amazon S3, Microsoft Windows Azure Blob Storage, Nirvanix, EMC Atmos Online, Mezo, Google Storage for Developers. Rackspace CloudFiles, and Eucalyptus are examples of some of the large cloud storage systems available to content providers. Some of these systems, such as Microsoft Azure and Google Storage, support the applications developers' position on those SaaS services.

• Access to scalable compute engines and network storage that can serve as the streaming server to large audiences.

• Access to a scalable compute engines that can be useful when you want to perform encoding/decoding or transcoding on media files.

The company Encoding.com is an example of a transcoding service where you can use an Adobe AIR application to drag and drop files that are encoded right to your desktop.

• Access to content delivery networks or edge systems that can push content out to users based on geographical location.

Examples are Akamai, Amazon's CloudFront, and Limelights' edge streaming systems that are part of its content delivery networks.

Encoding.com, whose home page is shown in Figure 19.1, offers a great example of how the cloud can be leveraged to provide a service on demand. Encoding.com advertises itself as the world's largest encoding/transcoding service. The company uses a cloud infrastructure to convert files that you send them to the formats you require. Multiple formats and devices are supported, and you can use an Adobe AIR application or a browser plug-in to drag and drop files that the service converts. The conversions are done in the cloud on your uploaded file, and the results are then downloaded to your desktop when complete.

Encoding.com supports static picture file conversions (JPEG, GIFF, TIFF, and so on), audio file conversions, and video file conversions. Most of its business is focused on streaming file formats used in audio and video work, and it supports the many different formats that services need to support diverse device types. These are the most popular conversions on the site currently:

• AVI to WMV

• MP4 to WMV

• video to 3GP

• WMV to MPEG

• FLV to MPG

• AVI to MPEG-4

• 3GP to WMV

• MP4 to 3GP

• FLV to MOV

• H.264 to AVI

• VP6 to AVI

• H.264 to MPEG

• VP6 to MPEG

• H.264 to WMV

FIGURE 19.1

Encoding.com is an example of a company that provides an encoding/decoding solution directly from your desktop using its cloud infrastructure.

9780470903568-fg1901.tif

Encoding.com supports conversions to third-party services such as Wordpress, Brightcove, JW Player, Flowplayer, Bits on the Run, and Drupal by providing a set of plug-ins. There are also encoding profile supports for Amazon S3 and Rackspace CloudFiles.

Audio Streaming

Audio streaming makes much lower demands on network bandwidth than video streaming does. An audio file is roughly 500 times smaller than a correspondingly long video file. Therefore, the first streaming services that appeared even before broadband became widely available were audio streaming services. An early entrant into this area was Real Networks' Real Player technology and its associated protocol suite. There was a time when many content providers required you to use RealAudio technology and the RealPlayer media player. Two other competing formats appeared that have gotten general acceptance: Windows Media Player and Apple QuickTime. These players play video formats as well as audio formats, and all are available as stand-alone players or as browser plug-ins.

Many sites still offer content in one of these three formats, but the trend over the past five years has been to shift away from proprietary formats to standard formats. Today MP3 is king, and all three of the aforementioned players will play streamed MP3 files in addition to their native formats. The bulk of the large services that have migrated to the cloud have stored their material in MP3 format. Some services protect their audio content by making sure that only their player can play back material from their service, and that the sound can't be recorded digitally; Last.fm is an example of this type of service.

Another type of streamed service is SHOUTcast, a proprietary server solution for streaming media on the Internet. SHOUTcast is best known for its SHOUTcast Radio, which maintains a directory of SHOUTcast servers. These servers stream content in the form of channels or streams that form the basis for Internet radio stations. More than 60 million people listen to Internet radio every week. Several other competitive streaming services exist.

National Public Radio is a very good example of how audio streaming has evolved. The goal of NPR is to be available on all platforms in current use. NPR started out providing RealAudio files for streaming and then added Windows Media files as a second format. Today, NPR provides an audio stream from Internet Explorer on Windows inside Windows Media Player, as shown in Figure 19.2. Programs are recorded as MP3 files. If you subscribe (via RSS) to an NPR program using a program like iTunes, MP3 files are transferred to your system. RSS stands for Really Simple Syndication, a protocol for providing Web feeds from publication sources such as blogs, news sites, and others.

FIGURE 19.2

NPR has offered a variety of audio formats in the past, but has consolidated on MP3 files for its current audio downloads.

9780470903568-fg1902.tif

Working with VoIP Applications

Voice over IP or VoIP is a set of communication protocols for delivering voice over the Internet. Some of these services have been migrated to the cloud, particularly those services that require the involvement of large number of servers. VoIP uses additional protocols and standards other than audio streaming; these are the most commonly used VoIP standards:

• H.323

• IP Multimedia Subsystem (IMS)

• Media Gateway Control Protocol (MGCP)

• Session Initiation Protocol (SIP)

• Real-time Transport Protocol (RTP)

• Session Description Protocol (SDP)

The older protocol H.323, while still used on long transmission lines, is being replaced with more lightweight protocols such as MGCP and more particularly SIP. VoIP is a growing market, displacing older switching technologies used in the public telephone system, what has come to be called the “Plain Old Telephone Service” or POTS. As such, it is a technology that benefits from deployment in clouds. To illustrate the kind of impact that cloud computing can have on VoIP and telephony applications, the examples of Skype and Google Voice are presented here.

Note

POTS is also referred to as the Public Switched Telephone Network (PSTN), although the latter term includes many of the more modern switching technologies. The ITU-T is the standards body for PSTN.

Skype

Skype is an example of a VoIP application. The Skype protocol is a proprietary (closed-source) protocol, parts of which use the Global Index P2P protocol. Unlike standard VoIP, which uses a client/server model, Skype uses the peer-to-peer model that was based on Kazaa. Kazaa was a P2P file-sharing network developed by the Estonian company BlueMoon Interactive, which went on to develop Skype. Because Skype is a P2P application, the nature of the deployment of the directory must be distributed in some way, but it is not clear how this is done.

Skype communication is encrypted using standard encryption methods: RSA key negotiation and Advanced Encryption Standard (AES) encryption algorithms. Accounts on Skype do not require that the name of the caller be identified during a call, only his username. It is not certain that communication on Skype is entirely secure; there is speculation that the company or government agencies may have access to communications. However, in the United States, the FCC has stated that Skype is subject to the Communications Assistance for Law Enforcement Act (CALEA), although Skype claims exemption. The company also refuses to state whether it can listen in on the system's phone calls.

Skype is perhaps the most widely used telephony application in the world. The Skype client exists for Windows, the Macintosh, Linux, Android, Blackberry, iPhone, Symbian, Nokia Internet Tablets, Windows Mobile Phone, and many other devices.

Depending upon the client, Skype supports the following:

• Instant messaging

• Voice telephony

• File transfers

• Group chats

• Message logging

• Video conferencing

Figure 19.3 shows a video conference in action within the Skype Window client.

Caution

Skype does not support calls to emergency numbers such as 911 in the United States; for these calls, you need access to a land line.

FIGURE 19.3

Skype is a universal communications platform that supports chat, SMS, VoIP, and video conferencing for free.

9780470903568-fg1903.tif

As long as the connection is between Skype clients, the communication is free. When you use Skype to call out to phones, charges accrue. In some countries, Skype offers a SkypeIn service that allows a user to receive calls on their computers from telephones. Skype can assign you a local number in these countries and charges for calls to that number based on the local rate.

Skype's popularity is enormous; it has some 500 million registered user accounts worldwide. The verb “to Skype” has entered into the vocabulary of many of its users. An estimated 50 million calls are placed on the service daily. You can see the number of currently connected users at the bottom of the Skype client. Because Skype isn't a web site, its popularity can't be measured by services such as Alexa.com.

Google Voice and Google Talk

Google has two streaming services that use VoIP protocols: Google Talk (http://www.google.com/talk/) and Google Voice. Google Talk, or G Talk, is Google's Voice over IP service combined with an Instant Messaging service. Google Voice is Google's telephony application, which is also a VoIP service. Both applications are free, and Google Voice has some powerful features that make it a very attractive service.

Google Talk is a service that uses the XMPP/Jabber protocol for the Google Chat IM client. Because IM was described in Chapter 18 and the focus here is on the Google Talk VoIP application, no more need be said.

Google Talk is a Windows only VoIP service on the desktop that uses the Jingle protocol; it supports communication with mobile XMPP clients such as the Nokia N900 Smartphone, Blackberry, iPhone, and Android phones. You also can find Google Talk on the Sony mylo and the Nokia 770 Internet Tablet. Some third-party applications such as Nimbuzz (http://www.nimbuzz.com/en) and Fring (http://www.fring.com/) support Google Talk VoIP on and Android, iPhone, Symbian, and Windows Mobile phones, along with some other platforms. A Google Talk gadget has also been released that lets any platform with an Adobe Flash Player work with Google Talk from within an iGoogle page. With Google Talk, you can get voicemail in your contact's mailbox.

The more interesting application is Google Voice, the settings screen of which is shown in Figure 19.4. Google Voice was acquired when Google purchased the Company GrandCentral in 2005, and it appeared for release in March 2009.

Google Voice lets you select a phone number in one of many area codes out of the 1 million telephone numbers that it has reserved. After you select a number, that number is yours and is assigned to your Google account. That phone number is yours to give out to others, and when they call you, the call is forwarded to the numbers you specify: your cell phone, home phone, or whatever. The system stores voicemail as MP3 files, handles SMS text, and can send alerts as well. Google's voicemail system does voicemail transcription, blocks callers, allows you to listen in, records calls, does conference calling, and more. It is hard to believe that this service is free in the United States and Canada, but it is free for users in those countries.

In an interesting development, Google submitted a Google Voice app for the iPhone in June 2009, which Apple rejected for its iTunes app store. The reason Apple gave was that the app replaced some of the iPhone core functions. This matter is now under review at the Federal Communications Commission (FCC). Google also apparently is working on a Google Voice desktop application.

FIGURE 19.4

Google Voice is an integrated telephony application that gives you a unique phone number, message forwarding, and more for free. Shown here is the voicemail and text settings page.

9780470903568-fg1904.tif

Video Streaming

Video streaming over the Internet has become one of the major broadcast transmission media in a rather short time. Many trends have come together to help make this transition a reality, including broadband networks, high-capacity commodity disk drives, low-cost computing power, and now cloud computing. Video streaming is one of these technologies that benefits greatly from deployment in the cloud.

Many of these services already have a cloud-based infrastructure. Some of them are content servers, others are systems for caching and storing content, and some services can be used to modify content so it is in an appropriate format, with many other services besides. Because this area is still in its infancy, many surprises are likely waiting for us in the years to come. The best way to get an idea of the impact of cloud computing is to consider some of the services that already exist.

Among the video streaming services in widespread use are the following:

blip.TV (http://blip.tv/): Blip.tv airs independent full-length shows that you might see on television.

Break.com (http://www.break.com/): This site, formerly called Big-boys.com, targets a male audience of 18-35 and has comedy, flash games, and pictures on its site.

Dailymotion (http://www.dailymotion.com/): This video-sharing service is based in Paris, France.

Flickr (http://www.flickr.com/): This is a picture- and video-sharing site.

Hulu (http://www.hulu.com): This is a TV-show- and movie-streaming site.

Internet Archive (http://www.archive.org/): The Internet's “Wayback Machine” stores past versions of the Internet and includes some interesting and significant out-of-copyright video content.

Kyte (http://www.kyte.com): This is a video platform for live and on-demand content streamed to online, mobile, and social media platforms.

Metacafe (http://www.metacafe.com/): This is an entertainment site with movie trailers, TV shows, video games, and more.

Nico Nico Douga (http://www.nicovideo.jp/): This is a popular Japanese video-sharing site.

RuTube (http://rutube.ru/): This is a popular Russian video-sharing site.

Todou (http://www.tudou.com/): Based in Shanghai, China, this large video-sharing site allows users to upload and download large video files with entire episodes of TV and full-length movies.

UStream.tv (http://www.ustream.tv/): This is a live video event streaming service.

Veoh (http://veoh.com/): Veoh serves TV and movie content from major studios, along with uploaded user content.

Yahoo Video (http://video.yahoo.com/): This is a video-sharing site.

YouTube (http://www.youtube.com): The largest of the video-sharing sites, this is the second most heavily visited site on the Internet. It is described in detail later in this section.

YuMe (http://www.yume.com): YuMe is a video advertising company.

The services listed above had more than one million unique visitors a month or an Alexa rank (most heavily visited Web sites) of 150 or lower. A lower Alexa ranking indicates a more popular site.

A more complete list along with some of the formats and specifications supported by these services may be found at http://en.wikipedia.org/wiki/Comparison_of_video_services.

Television in the cloud

Television is a very important industry. The average American watches five hours of TV a day, and $70 billion a year is spent on advertising. The number of TV watchers dwarfs the 1 billion PC users, and even the 2 billion cell phone users. Worldwide, there are 4 billion TV watchers.

As video streaming becomes ever cheaper in the cloud, many TV stations have begun to put their series episodes and movies on Internet sites such as ABC.com, CBS.com, NBC.com, Syfy.com, Hulu.com, and others. The model that seems to have been adopted is that these stations post their episodes a day or a week after the show airs, allowing viewers to catch up on their shows or to view an entire season at one time. The popularity of these services has shifted many TV watchers, particularly younger viewers, away from cable TV and onto these sites connected through their broadband connection. This trend is likely to accelerate.

Hulu.com is a particularly interesting example of TVIP or TV over the Internet. Hulu, shown in Figure 19.5, was launched in 2007 as a joint venture by ABC, Fox, and NBC to offer content to viewers in the United States. There are plans to launch Hulu in other countries, and it is speculated that the UK and Japan are the next target markets, but plans have not been formally announced.

The site also offers a Web syndication service for sites such as AOL, Facebook, fancast.com (part of Comcast), MySpace, and Yahoo!. In the three years since its founding, the service has become immensely popular and now serves up to a billion videos a month, and it's profitable. On Hulu, you can find network shows from A&E, Bravo, E!, FX, G4, NFL Network, Onion News Network, Oxygen, PBS, Speed, Syfy, Style, Sundance, and others.

Shows that run on Hulu are interrupted every 15 minutes for a 30-second commercial. The revenue from the advertising stream is split according to the New York Times so that 50-70 percent goes to the content provider and the remainder goes to YouTube. Hulu is also starting a new service called Hulu Plus, which (for a subscription fee of $9.99/month) offers more premium content and content served for the iPhone and iPad, your TV, and in HD format.

The popular movie subscription service Netflix is another example of a service that has moved to the cloud. In May 2010, the company announced that it will expand significant portions of its Web site onto Amazon Web Services. The company had previously moved its member movie lists, the movie search engine, and its recommendation engine onto AWS. The second and much larger deployment moves its 17,000 titles and the ability to use the Watch Instantly online service to AWS. Netflix has found that 55 percent of its subscribers are streaming video instead of swapping DVDs by mail in Q1 2010. That figure is up from 36 percent in Q1 2009.

Netflix also is expected to use the cloud deployment to expand the support of other devices. The company hopes to have Netflix available on TVs from LG, Samsung, Sony, and Vizio; on the three major gaming consoles, XBox, Playstation, and Wii; on the Apple iPad; on TiVo DVRs; on Roku boxes; and on set-top boxes and a few Blu-ray players. This diverse group of devices requires that numerous encodings and file formats and different resolutions be available for streaming; Netflix will use the Amazon service to transcode and store the different versions of digital files that must be produced.

Over the years, software and hardware vendors in the computer industry have introduced products aimed at bringing the Internet to TV, and vice versa. Microsoft has made several attempts to enter the set-top box market, introduced its media center PC interface (an enhanced version of TV), and used the thin client device originally known as WebTV (now MSN TV).

FIGURE 19.5

Hulu.com is one of the most popular sites for viewing TV and movies on the Internet. The site is currently available only in the United States.

9780470903568-fg1905.tif

Apple has Apple TV (http://www.apple.com/appletv/), which can best be described as a digital media receiver. None of these products has really had much penetration in the market. Although Apple TV is highly regarded by many who own one, Steve Jobs has talked about Apple TV as being a “hobby” for Apple and hasn't promoted the product well. That may change. There are rumors that Apple is working on a new version of Apple TV, based on the iPhone IOS 4 operating system, and that it will be a small form factor device for under $100.

Several cloud vendors are gearing up to introduce new products that bring the Internet and TV together using the cloud as a content platform. The most notable announcement is probably Google TV (http://www.google.com/tv/), due out in Q3 2010. Google TV is a media center software platform that will appear in some HDTVs (Sony Internet TV) and Blu-ray players from Sony, in some set-top boxes, and in some other devices that you connect to the Internet and to your TV. The project uses the Android operating system and has an open-source standard API for developers to work with. Using Google's Chrome browser, you can search the Internet for video content that you can stream to your TV. You also can download and use apps from the Google app store with your TV as the viewing device.

Streaming video formats

The history of streaming video on the Internet has progressed from the raw video formats supported by Real Media to media that is embedded directly into Web pages in the form of Apple QuickTime or Windows Media. The predominant format at the moment is the platform based on Adobe Flash, although other formats, such as Microsoft's Silverlight, are constantly being introduced as competitors. As the industry is moving more and more to the cloud, there has been a push to develop open-source video standards such as the new HTML 5 video format.

To view streaming content in HTML5 video players, you need a compatible browser and a site like YouTube that supports H.264 and WebM (VP8 codec) formats. At the time this book was written, the following browsers were listed as being HTML5 compatible by YouTube (http://www.youtube.com/html5):

• Firefox 4 (WebM)

• Chrome (h.264 supported now, WebM enabled version available via Early Release Channel)

• Opera 10.6+ (WebM)

• Apple Safari (h.264, version 4+)

• Microsoft Internet Explorer 9 (h.264, Platform Preview 3)

• Microsoft Internet Explorer 6, 7, or 8 with Google Chrome Frame installed

You should expect HTML5 to be standard in the official release versions of these browsers before 2010 ends.

You also can view HTML 5 content in the following media players:

• Media Player Classic (http://mpc-hc.sourceforge.net/)

• Moovida Core (http://www.moovida.com/)

• VLC (http://www.videolan.org/)

• Winamp (http://www.winamp.com/media-player/)

• XBMC (http://xbmc.org/)

Video formats are only half of the story when it comes to video file formats. The second half of the story is the format for the streaming protocol that encodes the video file. Several of these container formats are in use.

The most widely used streaming video file container format is H.264/MPEG-4 Part 10. MPEG-4 Part 10 is also known as MPEG-4 AVC, which stands for Advanced Video Coding. This standard was designed for the recording and playback of home theater or HD video, and it supports lower-quality video played on mobile devices. The ITU-T Video Coding Experts Group (VCEG) and the ISO/IEC Moving Picture Experts Group (MPEG) created the Joint Video Team (JVT), and the result is that both standards are technically identical. You may therefore see streamed video content in the form of H.264, AVC, or MPEG-4 Part 10, all of which refer to the same file format. H.264 can carry Flash, HTML5, and other video file formats.

You will find H.264 used as the streaming format for most large video sites, such as YouTube and iTunes, in cable and satellite TV services, and for video conferencing software. Older and less capable formats such as H.263, MPEG-4 Part 2, and MPEP-2 are still in use, but they aren't deployed in the new cloud-based implementation meant for large audiences.

In order to support a range of devices, the Advanced Video Coding defines a set of profiles to support specific device types. These profiles define resolution and bitrates, among other features. One profile might be used on the Apple iPhone, another on a standard definition DVD, and yet a third on HDTV. The profiles in most widespread use are Main and High, with the Baseline and Extended profiles in use for mobile devices. Within each profile are a set of levels that determine which features are available to support a specific application. For example, High Level 2.1 has a resolution of 480X272 and can play at framerates of 23.97, 25, or 29.97 fps (frames per second); this level supports the Sony PSP. Level 4 has a resolution of 1920X1080 and can play at framerates of 24, 25, 29.97, or 30 fps (frames per second); this level supports the Blu-ray and HD DVD devices.

The codec that compresses/decompresses the video content uses a block-oriented motion-compensation scheme. It is important to understand that H.264 defines a standard for encoding content, but that the implementation of a codec can vary. Some codecs may choose to encode some features and not others. When content is encoded in H.264/MPEG AVC, any codec may decode the file, but some do a better job decoding the file than others. Some decoders may ignore features that others won't.

The newest of the video streaming file formats is WebM. WebM (http://www.webmproject.org/about/) is an open-source royalty-free media file format (.WEBM) that has been optimized for the Web and is used to carry HTML 5 video content. This container file format is encoded/decoded by the VP8 video codec, which was developed by On2 and now owned by Google. WebM uses the Vorbis audio codec and the Matroska container file structure. Introduced in September 2008, WebM builds on the earlier VP6 codec that is the industry standard built into Adobe Flash. VP8 improves on the compression algorithms in VP6 and is supposed to allow WebM to deliver more content with a lower client-processor overhead than content carried by H.264.

Jan Ozer at StreamingMedia.com has done an analysis (see http://www.streamingmedia.com/Articles/Editorial/Featured-Articles/First-Look-H.264-and-VP8-Compared-67266.aspx and http://www.streamingmedia.com/Articles/ReadArticle.aspx?ArticleID=68594&PageNum=1) of WebM versus H.264 and concludes that at this early point in WebM's development, the minor differences in quality will probably escape notice and that WebM's client-side overhead still requires more optimization and doesn't yet deliver a significant bandwidth advantage over H.264. Hardware acceleration support in upcoming devices may provide the boost that WebM's developers have promised. The royalty-free distribution of WebM is its primary appeal over H.264.

YouTube

YouTube is the iconic flash video-sharing service now owned by Google. When Google acquired YouTube in November 2006 for $1.65 billion, it bought a company with little revenue, large bandwidth expenses, and an uncertain monetization model. It was a brilliant purchase. YouTube has dominated the area of cloud-based video streaming.

To put this in perspective, Alexa's Top 500 Web Site rankings has YouTube rated #3 behind only Google (#1) and Facebook (#2) and ahead of sites like Yahoo! (#4), Windows Live (#5), and all the other well-known names in the industry. Why is YouTube so popular? The answer is obvious. YouTube is more fun than a barrel of monkeys. By the way, the search phrase “Barrel of Monkeys” yields 726 hits on YouTube.

YouTube is also highly significant. Along with the BBC, CBS, MGM, and others, many government agencies are using YouTube to host their video messages. Many of the pages you visit on WhiteHouse.gov have a YouTube message embedded in them. Figure 19.6 shows you one example. The list of governments that have blocked YouTube at various times include China, Pakistan, Iran, Libya, Turkey, and Morocco speaks to the impact that its content can have in those countries.

FIGURE 19.6

President Obama gives the news on the new Web site HealthCare.gov, courtesy of YouTube, from his virtual office on Whitehouse.gov.

9780470903568-fg1906.tif

YouTube technologies

To use YouTube inside a browser, you need to have Adobe Flash installed on your computer. Steve Jobs hates Flash (for a few good reasons), but YouTube was important enough for his audience that the iPhone ships with a native app for displaying YouTube content. To get YouTube onto iPhones, iPod Touch, iPad, and other Apple platforms requires that the video be transcoded into the H.264 format. YouTube Mobile uses RTSP streaming to make video available on other mobile phone platforms. You also may encounter YouTube on TiVo, as well as a service called “YouTube for TV” that can be used in devices such as set-top boxes and game consoles like the PlayStation 3 and Wii. Recently, YouTube developed a simplified interface for TV display called YouTube XL, a sample screen of which is shown in Figure 19.7.

Although the majority of online video is in Flash format (about 75 percent according the BBC), YouTube launched a new site in January 2010 that presents H.264 or WebM format video that can be viewed inside an HTML5 browser (and doesn't require Flash).

Anyone can watch videos on YouTube for free. In order to upload a video to the service, YouTube requires that you register. For a user, there is no limit to how many videos can be uploaded, nor is there a fee. Clips are limited to 15 minutes in length and a file size of under 2GB for free accounts. For content providers who want to use YouTube as a distribution medium, the company has a YouTube partnership program with a fee structure in place. YouTube also pays some content providers for the use of their content.

FIGURE 19.7

The YouTube XL interface, coming to a TV near you soon (maybe)

9780470903568-fg1907.tif

YouTube allows video to be uploaded in the following formats:

• 3GP

• AVI

• DivX

• FLV

• MKV

• MOV

• MP4

• MPEG MPEG-4

• OGG and OGV

• WMV

YouTube has been evolving its support for audio and video over time. The original video support was for 320X240 pixels and used the Sorenson Sparc codec. Audio was in the form of mono MP3. There is now support for 240p, 360p, 480p, 720p, 1080p, with experimentation to add the 4k resolution standard. The original aspect ratio was 4:3 (like a TV), but the widescreen movie standard 16:9 was added at the end of 2009 as part of 1080p HD support. The current audio standard is AAC, and the video is H.264/MPEG-4 AVC. YouTube also has recently been experimenting with 3D video content.

YouTube and the law

The sheer volume of content uploaded to YouTube on a daily basis is staggering. YouTube posts a notice asking that copyrights be obeyed, and the company subjects content to automatic filters, but it's impossible to police all the content that gets onto a site. As a general rule, YouTube removes content that receives what it sees as valid complaints from individuals or organizations, but after the content is online, often the damage has already been done. YouTube relies on its users to police its content.

This has led to some well-known lawsuits, such as the one Viacom has pursued asking for $1 billion in damages for posted content. As of June 2010, the District Court in Southern New York ruled in favor of Google, but this case could be headed to the Supreme Court. In another case, the artist now/formerly known as Prince sued a mother who posted a clip of her infant son dancing to the song “Let's Go Crazy.” That case was resolved in favor of the posting party on the “fair use” doctrine. Fair use as defined by the U.S. Copyright act of 1976 allows portions of a copyrighted work to be used when:

1. The use is for non-profit educational purposes and not for commercial gain.

2. The nature of the copyrighted work allows its use in part as a natural course.

3. The amount used is not a substantial amount of the overall work.

4. The effect of the use doesn't diminish the overall value of the copyrighted work.

Courts are supposed to balance these four factors when deciding whether a posting or use falls under fair use, and so should you. Without fair use, newspapers, magazines, educational institutions, and a myriad of other public goods would be significantly diminished.

YouTube doesn't win them all. In a recent case in the Italian courts on February 24, 2010, three Google executives were convicted of violating privacy laws when a video of a group of Italian boys harassing a boy with Down syndrome was shown on the site. Although YouTube removed the video after two hours and the judge gave community service to the minor boys who posted the video, the conviction of the executives could have a chilling effect on YouTube's content policy—at least in Italy and perhaps in the European Union. The disposition of this ruling will be interesting to watch.

Summary

In this chapter, you learned about streaming content over the Internet and how cloud computing helps enable content providers and distributors. Audio streaming has enabled low-cost distribution of news and entertainment, podcasting, Internet radio, and even new telephony applications. Skype and Google Voice were highlighted in this chapter.

Video streaming is a high data-rate transfer activity that benefits greatly from the cloud. Many video services are already cloud-based, and this chapter introduced you to many interesting sites. The notion of television moving to the Internet and being enabled by cloud computing was also presented. Among the many worthy video services, this chapter highlighted the second most popular Web site in use, Google's YouTube.

Networked media is a rich and constantly changing area of computer technology.

In the next chapter, the impact of cloud computing on mobile devices is described. Chapter 20 looks at some of the devices, their operating systems, communication methods, and other features. Chapter 21 advances the discussion for a closer look at mobile applications that are impacted by cloud computing.