HOME | J2ME | Struts | AJAX | SOAP | SOA MEDIA STREAMING AXIS |
Media Streaming
Introduction
Media Encoding
Encoding Internals
Media Servers
Media Players
Unicast & Multicast

 

 

Encoding Internals

Back | Tutorial Home | Next

Every media file is a Container of Audio Format and Video format.

Lets consider the popular DVD video format called VOB (Video Object). VOB file I have downloaded from my cam coder has following encoding formats which are visible in a tool called MediaCoder

As is clearly visible MPEG-PS is the container holding Video as MPEG-PES and Audio as AC-3.

Parameters of respective encoding is given in the above picture. Let’s look at some of these important parameters

Bitrate

Core to bitrates are macroblocks which are squares of adjacent pixels. These are the basis for all encoding techniques. These are blocks that form the complete picture. bitrates depend on the changes in these macroblocks. If changes in pictures are more then changes in these microblocks will be more, example: A video showing landscape will need lesser macroblocks to change while a video showing car racing will need more macroblocks to change.

Frame Rate

Each frame in a video is a static image with rendering duration detail. More frame rate more the quality of video.

Let us now do the encoding to streaming media using Real’s Helix DNA Producer which is an open source counter part of Real Producer . I encoded a file called demo.mpg through command line to converted.rm and following results are printed on my console

C:\\producer>producer -i C:mediademo\demo.mpg -o C:mediademo\converted.rm
Helix DNA(TM) Producer 11.0 Build number: 11.0.0.2013
Info: Preparing to encode file " C:mediademo\demo.mpg" to file " C:mediademo\converted.rm"
Info: Starting encode
Info: Starting analysis pass
Warning: Channel 0 clips moderately.
Info: Starting encoding pass
Warning: Channel 0 clips moderately.
Warning: Channel 0 clips slightly.
Info: File C:mediademo\demo.mpg already exists. Archiving existing file to
C:mediademo\demo_sjdhjd.rm. Writing new file to C:mediademo\converted.rm
.
Info: Out- Total Audio Video Pre- Audience Name
Info: Aud kbps kbps kbps roll
Info: Stat1: 1:1 191 44 147 1857 256k DSL or Cable
Info: Out- Avg Min Min Avg Min Min Audience Name
Info: Aud FPS FPS FPS Time QI QI QI Time
Info: Stat2: 1:1 3.5 1.9 00:00:07 45 29 00:00:00 256k DSL or Cable
Info: Total Bitrate = 191 kbps
Info: Encoding successful!
Done Errors: 0 Warnings: 3
C:\\producer >

If you carefully analyze the above system outs following process of encoding happens

  • As a first step analysis is done by the tool to check whether the file format is proper and can be encoded
  • If analysis goes fine the file encoding starts
  • The file encoding gets done according to the parameter settings. In the above example I have chosen default values.
  • Files are finally encoded and encoding parameters are displayed on the console.

From the console we now have few new parameters. Let us see what these mean

Pre-roll

Amount of movie data buffered before the movie starts

Audience

Audience is usually associated with network bandwidth. Helix DNA takes default network bandwidth as “256k DSL or Cable”. However there are techniques which can stream depending on different bandwidths. These audience settings are usually called Multiple Bit Rate(MBR) and Variable Bit Rate(VBR)

Multiple Bit Rate(VBR)

Multiple Bit Rate is a technique were the media file is encoded to play at multiple bitrates depending on the network bandwidth. Multiple streams are packaged in the same file to play various bit rates. Thus same file can play over networks supporting various bandwidths 128kpbs, 256kpbs etc, This encoding gives better user experience and is not effected due to changes in network band width. The media player and the media server interact with each other to find the best bit rate for that particular stream cast.

  • Real uses a proprietary technique called sure stream for MBR
  • Windows Media tools use Microsoft Fast Streaming for MBR

Variable Bit Rate

Variable Bit Rate is a technique were the media file is encoded for a particular network bandwidth. Most of the media servers use 256 kpbs as the default bandwidth. This is best suited for intranets were the bandwidth can be predicted.

Bit Rates Vs Network Bandwidth

Let’s understand this basic media server technique. Usually a media file is encoded for a lesser bit rate than the target network band width. Suppose the audience network bandwidth is 256 kpbs the bit rate while encoding is 191 kpbs(indicative value). This additional bandwidth is utilized to offset varying bandwidths and buffering.

Other general terms used in encoding technologies are described below

Compression

Compression is nothing but encoding

Lossy

Compression technique to remove additional useless information from video file

Back | Tutorial Home | Next

site comments powered by Disqus
Download our free toolbar

toolbar powered by Conduit

| Copyright © 2009. All rights reserved | Terms and Conditions | About | Contact | Feed Back |