This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.
Developing multi-media content for effective indication over reasoning of cloud based centered mobile system with limited data rates, such as the 3G-324M system needs skills and knowledge. It needs an knowing of the fundamentals that have an effect on movie quality, such as codec choice and compression, and the use of specific resources, such as the FFMPEG Development, and Zencoder Cloud centered
Development API which can be used to validate that the material of videos clip data file are effectively specified for end customers.
II. Video Fundamentals
Due to bandwidths of mobile networks are limited, video data must be encoded/compressed considerably. This part wraps the fundamentals of encoded video and its characteristics within different networks.
In multi-media streaming programs, video encoding is used for the reason that uncompressed video needs huge information space to store data. In fact, High definition (HD) films on DVD or Blu-ray are already in a compacted format that provides information of 4 - 6 Megabyte per second. For cellular streaming systems, which can require information rates as low as 30 kilobytes per second, this means that it clip must be compacted thousands of times or more to achieve the required information. With the growth of cellular multi-media streaming, you should work within the information restrictions of the network and the ability of the endpoint. Although 3G and next generation systems provide much higher bandwidths to cellular phone devices, as more and more endpoints use these systems for multi-media projects, conformance to focus on end customers bitrates will become more essential than today .
B. Networks for Video Streaming
TABLE I illustrates the network atmospheres used for distributing video services with different aspects :
NETWORKS USED FOR STREAMING VIDEO SERVICES
Video handsets, smart phones
H.263, H.264, MPEG-4
Smart phones, soft client on PC
CIF, 4CIF, HD
PC, TV, portable devices
CIF, 4CIF, HD
C. Audio/Video Codecs
An audio codec is a system applying criteria that encode and decode electronic digital audio information according to a given sound extendable or movies online sound structure. The item of the criteria is to signify the great stability sound indication with lowest bitrates while protecting the excellent.
Examples: AAC, ADPCM, MP3, WMA, PCM, Vorbis, Dolby AC-3.
A video codec, brief for Encoder/Decoder, is used to encode video information to accomplish a very low bitrate.
Examples: MPEG-2, H.263, MPEG-4 and H.264.
To accomplish such small bitrate audio/video, codecs make use of both lossless and lossy compression methods. We can accomplish this by third celebration system like FFMPEG open source libraries and Zencoder cloud-based encoding API.
Compression performance is the capability of a codec to encode or decode more video/audio features into an information flow described by fewer bits. The more effective a codec is at compression, the better the quality and sharpness of the video/audio clip.
III. Video Streaming
In streaming procedure, it clip data file is sent to the end individual in a (more or less) continuous flow. It is simply a strategy for shifting information such that it can be prepared as a stable and ongoing flow and it is known as Streaming or encoded movie that is sent across information system is known as Streaming. Streaming movie is a series of "moving images" that are sent in compacted form over the Internet and shown by the audience as they appear . If a web individual is getting the information as sources then he/she does not have to wait around to obtain a large data file before viewing it clip or enjoying the sound.
A. Streaming Principle
Real-time video applications require media packets to arrive in a timely manner; excessively delayed packets are useless and are treated as lost . In streaming programs it is necessary for the information packets to reach their location in regular basis because the wait can cause the network blockage, and can result in the decrease in all those packets suffering from extreme wait. This causes decrease in quality of information, the synchronization between customer and hosting server to be damaged and mistakes to distribute in the provided movie.
There are two types of steaming, one is real-time and other is prerecorded streaming. The protocol used for streaming purpose is UDP (User Datagram Protocol), which delivers the multi-media flow as a sequence of small packets . The majority of transport protocols perform over an RTP stack, which is implemented on top of UDP/IP to provide an end-to-end network transport for video streaming .
B. Video Streaming Architecture
A cloud based mobile movie streaming scheme is represented in Fig. 1. A cloud based source implements a streaming hosting server which is responsible for retrieving, sending and adapting it clip flow. Depending on the application, it clip may be protected on-line for a real-time broadcasting or pre -encoded and stored for broadcasting an on demand .
Programs such as interactive movie, live broadcast, mobile movie streaming or interactive online games require real -time encoding. However, applications such as movie on-demand require pre-encoded movie. When the multicast session is initialized, the streaming hosting server retrieves the compressed movie and begins the loading with the adequate bitrate stream.
Fig. 1 Video Streaming Architecture
IV. Video Encoding Techniques
Video codecs employ a range of encoded/decoded methods to fit videos signal into the allocated channel bandwidth. These encoding methods can influence the generating quality of it differently. An understanding of development concepts can help a material provider determine what material will look best on a mobile phone, and emphasize some of the expected tradeoffs when generating multi-media data files.
Rapid bandwidth decrease can be carried out by using video encoded/decoded methods such as :
Eliminating mathematical redundancies
dropping quality size (CIF to QCIF)
Using less frames per second (15 fps to 10 fps)
Further bandwidth decrease can be carried out by utilizing the styles within it information and eliminating redundancies. Image compression depends on removing information that is indiscernible to the audience. Motion settlement provides interpolation between frames, using less information to signify the change. The objective of videos encoder/decoder is to take out redundancies in it flow and to scribe as little information as possible. To achieve this objective, the encoder examples it flow in two ways:
In time durations from successive frames (temporal domain)
Between nearby pixels in the same frame (spatial domain)â€‚â€‚
A video decoder pieces it flow together by treating the development process. The decoder reconstructs it flow by adding together the pixel variations and shape variations to form complete video. In current video encoding principles requirements such as MPEG and H263 families.
A. Encoded Video Stream
An encoded video stream consists of two types of encoded frames :
An I-frame is encoded as a single image, without referencing to any other frames. Each 8x8 block is first transformed from the spatial domain into the frequency domain . It is also called a key frame, because it symbolizes the referrals key of it clip flow. All pixels that describe the image are defined in the I-frame. Videos clip decoder must begin with an I-frame to decode it clip flow because without an I-frame, a movie decoder has no referrals to determine how movie pixels have changed as the earlier frame. For this reason, compressed movie recordings normally do not begin until an I-frame is received by the videos device.
A P-frames is encoded relative to past reference frame , which can either be an I-frame or a before P-frame. The quantity of information in a P-frame is many times small than the quantity of information in an I-frame. If videos clip begins understanding on a P-frame at an endpoint, an individual might see either scrambled movie or no movie, because there is no referrals frame.
B. Video Streaming package (.MP4, .3GP)
When streaming multi-media files to cellular handsets, it clips and audio data must be placed in the proper structure. The package structure for cellular multi-media streaming is the .3gp, defined by the 3rd Generation Partnership Project (3GPP)  and .mp4 file for delivery to cellular phone devices. Because the bandwidths of movie telephony networks are limited, it clips and audio data included in a .3gp file is compressed significantly. Within the .3gp package, movie can be encoded with specific movie codecs specified by the 3GPP. FFMPEG Encoding and Zencoder cloud based Encoding API support .3gp, .mp4 files with the H.263, MPEG-4, and H.264 movie codecs.
OVERVIEW OF DIFFERENT VERSIONS OF TWO STANDARD FAMILIES
Video teleconferencing over ISDN
Video on digital storage media
Video telephony over PSTN
Multimedia over internet, Object based coding
Improved video compression
C. Video Streaming limitations
Video streaming is constrained by the network channel capacity, 3G-324M channel bandwidth, Multi-coded stream, Transcoding, Packet loss, Bandwidth management and endpoint capabilities.
V. Video Streaming Techniques
There are various streaming techniques for different mobiles, Smartphone describe below:
A. Progressive Download
The mobile customer has the option to use HTTP or HTTPS to gradually download a pre-created press data file partitioned in the appropriate codecs for the product to play. As the data file starts to gradually download, play-back is started enabling an almost immediate watching of the material . In the qualifications, the press gamer is constantly on the download the rest of the material. By comparison, without modern download the user would have to wait for the whole data file to obtain to the product before watching would start. During the play-back process, audiences are able to seek back and forth through the whole press data file. If the audience looks for forward to a point in the schedule that has not yet downloadable, the press gamer stop play-back until the data comes.
B. HTTP Live Streaming
HTTP Live streaming (also known as HLS) is anÂ HTTP-basedÂ media streaming communications protocolÂ implemented byÂ Apple Inc.Â as part of theirÂ QuickTime XÂ andÂ iPhone. Apple's HTTP Live Streaming protocol (HLS), is an adaptive streaming video delivery protocol for iOS devices. It utilizes the H.264 video codec, which is segmented and encapsulated in MPEG2 transport streams, and .M3U8 index files to deliver live and on-demand video. The device automatically selects the most appropriate stream given available bandwidth, CPU and platform constraints, downloads a manifest for that stream, and then downloads segmented chunks to the buffer for the playback.
HLS streaming provides the best user experience, but its benefits also include good IT practices and important business considerations:
The best user experience: Since the server can maintain multiple versions of the video clips in different formats, an iPad user with a Wi-Fi connection can stream a higher quality version of the video than an iPhone user viewing over a 3G connection.
Reach more viewers: Routers, NAT, and firewall settings are more likely to support video delivered with HTTP than other transfer protocols, so more users will be able to access your video.
Save on data transfer: As opposed to a progressive download of a video, with HLS, only a few segments of video are downloaded at time. If a viewer only watches five minutes of streamed video, publishers only pay for that data transfer. Moreover, the HTTP chunks are cacheable by CDNs and across network infrastructure, so files are served from an origin server only once and cached close to users.
Secure video content: The HLS specification has provisions to ensure security of the stream, which is great news for broadcasters or publishers who want to stream licensed content. The entire HLS stream can be encrypted using AES-128.
Fig. 2 and Explanation, shows my practical work for mobile video streaming on Cloud with streaming server by using Amazon CloudFront services which have lots of components which are playing key role.
Explanation of R&D work
Live streaming with Amazon Web Services allows you to use the features of Adobe Flash Media Server version 4.5, including live video streaming where your live video is delivered by a series of HTTP requests from the player that is controlled by manifest files. Flash Media Server 4.5 supports two HTTP file formats: HLS (HTTP Live Streaming) for iOS devices and HDS (HTTP Dynamic Streaming) for Flash applications. You can stream high-quality media using the free Flash Media Live Encoder desktop application either for Windows or for Mac OS.
CloudFront content delivery service would support on-demand RTMP streaming from Flash Media Server 4.5. In practice, this offers a new, flexible low-cost CDN solution, particularly for users with relatively small or intermittent streaming delivery needs. AWS charges only for bits stored and bits transferred. There's no monthly minimum, no sign up fee or setup fees, and no ongoing costs unless you're actually using the service .
In this example, we will walk through the steps of setting up CloudFront streaming and getting it working on your site:
Set up an AWS Simple Storage Service (S3) account where content will live.
Create a "bucket" in S3 to store media files.
Shift content to S3 bucket and set its permissions to allow public access.
Set up a CloudFront streaming distribution that point at S3 storage bucket.
Now you are ready to stream.
CloudFront uses Adobe Flash Media Server 4.5 to stream on-demand content with Adobe's Real-Time Messaging Protocol (RTMP). CloudFront accepts RTMP requests over port 1935 and port 80.
CloudFront supports the following variants of the RTMP protocol:
RTMP-Adobe's Real-Time Message Protocol
RTMPT-Adobe streaming tunneled over HTTP
RTMPE-Adobe encrypted over HTTP
RTMPTE-Adobe encrypted tunneled over HTTP
To secure it, just use the RTMPE protocol instead of the regular RTMP.
Fig. 2 CloudFront Live streaming architecture
Many reputed IT companies are using HTTP Live streaming service to enhance the streaming power in their mobile domain infrastructure.
Adobe Systems established an update to its Adobe Flash Media Server product supporting HTTP Live streaming.
Livestation streams numerous TV channels such as France 24, RT, and Al Jazeera English.
Microsoft added support for HTTP Live Streaming in IIS Media Services 4.5.
Google added HTTP Live streaming support in Android 3.0 Honeycomb.
HP added HTTP Live streaming support in webOS 3.0.5.
FFMPEG added HTTP Live Streaming and Encoding support for various mobile devices  .
Zencoder Cloud based Encoding API added HTTP Live streaming support for iPad, iPod Touch and Apple TV .
In this paper, we have discussed firstly in audio/video basics which deliver video on network with required bandwidth and codecs then after we discussed about the video streaming architecture that develop streaming servers which are responsible for retrieving, sending and adapting the video stream data in 3G or others network.
For streaming the multimedia file over network, video compression techniques are major issue to encode the different types of audio/video file for different mobile devices. Compression can be performed by FFMPEG Encoding; Zencoder cloud based Encoding API which provides lots of Encoding techniques which are solution for the cloud based environments.
Then we presented the main issue of video streaming techniques for streaming the video over the internet or cloud based network for iPhone, Android, Window phone and Smartphone. Apple Company provides the solution for video streaming in terms of HTTP Live streaming which are accepted by many reputed companies for mobile devices for video streaming purpose for future perspective by using RTMP family protocols.
I believe that a lot of effort should be done in this paper to propose efficient and viable solution for mobile video streaming in cloud based environment.
There are some key personalities involved, whose role has been very vital to pave way for success of the paper. I take the opportunity to express my sincere thanks and gratitude to them.
I would like to thank R&D team members of Pariksha Labs Pvt. Ltd, Gurgaon, India. Last but not the least, I would like to extend my heartfelt regards to all those who helped me directly or indirectly in the accomplishment of the paper.