Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Smooth Streaming dynamically detects local bandwidth and CPU conditions and seamlessly switches, in near real time, the video quality of a media file that a player receives.
- Consumers with high bandwidth connections can experience high definition (HD) quality streaming while others with lower bandwidth speeds receive the appropriate stream for their
- connectivity, allowing consumers across the board to enjoy a compelling, uninterrupted streaming experience and alleviating the need for media companies to cater to the lowest
- common denominator quality level within their audience base.
- -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- There is a downside to this behavior as well if 30 seconds into a fully downloaded 10 minute video, you decide that you don't like it and quit the video, both you and your content
- provider have just wasted 9 minutes and 30 seconds worth of bandwidth. To try to mitigate this problem, IIS 7.0 provides a cool extension called Bit Rate Throttling, which allows
- content providers to throttle the download bit rate in exactly the same way that a streaming server would to reduce costs.
- -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- In other words, with Smooth Streaming, file chunks are created virtually upon client request, but the actual video is stored on disk as a single full length file per encoded bit
- rate. This offers tremendous file management benefits.
- -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- Within the guidelines of the MP4 ISO Base Media File Format specification, the Smooth Streaming format uses a custom box organization schema and some custom boxes.
- To differentiate Smooth Streaming files from "vanilla" MP4 files, we use new file extensions: *.ismv (video+audio) and *.isma (audio only).
- -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- Smooth Streaming Media Assets A typical Smooth Streaming media asset (presentation) consists of the following files:
- MP4 files containing video/audio
- *.ismv Contains video and audio, or only video, 1 ISMV file per encoded video bit rate
- *.isma Contains only audio, In videos with audio, the audio track can be muxed into an ISMV file instead of a separate ISMA file
- *.ism Server manifest file, Describes the relationships between the media tracks, bit rates and files on disk Only used by the IIS Smooth Streaming server not by client
- *.ismc Client manifest file, Describes the available streams to the client: the codecs used, bit rates encoded, video resolutions, markers, captions, etc. It's the first
- file delivered to the client
- -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- Smooth Streaming uses a more sophisticated file format and server design. The videos are no longer split up into thousands of file chunks, but are instead "virtually"
- split into fragments (typically one fragment per video GOP) and stored within a single contiguous MP4 file. This implies two significant changes in server and client
- design: The server must translate URL requests into exact byte range offsets within the MP4 file
- The client can request chunks in a more developer friendly manner (for example, by timecode instead of by index number)
- -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- With IIS Smooth Streaming, clients request fragments in the form of a RESTful URL:
- http://video.foo.com/NBA.ism/QualityLevels(400000)/Fragments(video=610275114)
- The values passed in the URL represent encoded bit rate (400000) and the fragment start offset (610275114) expressed in an agreed upon time unit
- (usually 100 nanoseconds (ns)). These values are known from the client manifest.
- -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- After receiving the client request, IIS Smooth Streaming looks up the quality level (bit rate) in the corresponding *.ism server manifest and maps it to a physical *.ismv
- or *.isma file on disk. It then reads the appropriate MP4 file, and based on its 'tfra' index box,figures out which fragment box ('moof'+ 'mdat') corresponds to the requested
- start time offset. It then extracts the fragment box and sends it over the wire to the client as a standalone file. This is a particularly important part of the overall design
- because the sent fragment/file can now be automatically cached further down the network, potentially saving the origin server from sending the same fragment/file again to
- another client that requeststhe same RESTful URL.
- -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement