SlideShare a Scribd company logo
1 of 35
Download to read offline
Silverlight smooth streaming
Wireshark analysis

                            Yossi Cohen
                            DSP-IP




    Fast Forward Your Development     www.dsp-ip.com
SILVERLIGHT INTRODUCTION




   Fast Forward Your Development   www.dsp-ip.com
Smooth Streaming

• Microsoft’s implementation of HTTP-based
  adaptive streaming
• A hybrid media delivery method that acts like
  streaming but is in fact a series of short
  progressive downloads
• Leverages existing HTTP caches
• Client can seamlessly switch video quality and bit
  rate based on perceived network bandwidth and
  CPU resources



       Fast Forward Your Development    www.dsp-ip.com
Streaming or Progressive Download?
            Traditional          Progressive
            Streaming            Download
            • Responsive User    • Works from a
              Experience           Web Server
            • Bandwidth Use      • World-wide
            • User Tracking        scale w/HTTP



            Challenges           Challenges
            • No cache-ability   • Limited User
            • Separate,            Experience
              smaller            • User tracking
              streaming          • Bandwidth Use
              networks             (20% watched)




    Fast Forward Your Development                  www.dsp-ip.com
Smooth Streaming Design
• Smooth Streaming File Format based on MP4
  (ISO Base Media File Format)
• Video is encoded and stored on disk as one
  contiguous MP4 file
  ▫ Separate file for each bit rate
• Each video Group of Pictures (GOP) is stored in a
  Movie Fragment box
  ▫ This allows easy fragmentation at key frames
• Contiguous file is virtually split up into chunks
  when responding to a client request



        Fast Forward Your Development    www.dsp-ip.com
Content Provider Benefits
• Cheaper to deploy
  ▫ Can utilize any generic HTTP caches/proxies
  ▫ Doesn’t require specialized servers
    at every node
• Better scalability and reach
  ▫ Reduces “last mile” issues because it can
    dynamically adapt to inferior network conditions
• Audience can adapt to the content, rather than
  requiring the content providers to guess which bit
  rates are most likely to be accessible to their
  audience

       Fast Forward Your Development     www.dsp-ip.com
End User Benefits
• Fast start-up and seek times
 ▫ Start-up/seeking can be initiated on the lowest bit
   rate before moving up to a higher bit rate
• No buffering, no disconnects, no
  playback stutter
 ▫ As long as the user meets the minimum
   bit rate requirement
• Seamless bit rate switching based on network
  conditions and CPU capabilities.
• A generally consistent, smooth
  playback experience

      Fast Forward Your Development      www.dsp-ip.com
Evolution
• Previous versions of MS streaming divide the file
  into many chunkc 0001.vid 0002.vid etc
• Problematic in caching, CDNs, CMS etc
• Today all fragments of a file are contained in a
  single bitstream container. Typically 1 fragment
  = 1 video GOP.




      Fast Forward Your Development    www.dsp-ip.com
SILVERLIGHT FILES


Containers & Configuration files




     Fast Forward Your Development   www.dsp-ip.com
Format options
•   ASF/WMV – native Microsoft Format
•   MPEG4 File-Format
•   AVI
•   OGG




        Fast Forward Your Development   www.dsp-ip.com
MP4 over ASF file format
• MP4 is a lightweight container format with less
  overhead than ASF
• MP4 is easier to parse in managed (.NET) code
• MP4 is based on a widely used standard, making
  3rd party adoption and support easier
• MP4 has native H.264 video support
• MP4 was designed to natively support payload
  fragmentation within the file




      Fast Forward Your Development   www.dsp-ip.com
MP4 File format
• MP4 has two format types
 ▫ Disk Format - for file storage
 ▫ Wire format - for transport
• Wire format enables easy CDN support and
  integration




      Fast Forward Your Development   www.dsp-ip.com
Smooth Streaming File Format




    Fast Forward Your Development   www.dsp-ip.com
Smooth Streaming Wire Format




    Fast Forward Your Development   www.dsp-ip.com
File extensions
• Media Files
 ▫ *.ismv - Audio & Video
 ▫ *.isma – Audio only
• Manifest Files
 ▫ *.ism – Server manifest. Describes to the server
   Relation between tracks, bitrates & files on disk.
   Based on SMIL 2.0 XML format specification
 ▫ *.ismc – Describes to the client the available
   streams, CODECS used, bitrates encoded, video
   resolutions, markers, captions. First file delivered
   to client. It’s the first file delivered to client (“SDP”
   like).
      Fast Forward Your Development           www.dsp-ip.com
Directory Structure
                                     Media file in
                                     different
           Manifest Files            bitrates




     Fast Forward Your Development             www.dsp-ip.com
Manifest files
•   VC-1, WMA, H.264 and AAC codecs
•   Text streams
•   Multi-language audio tracks
•   Alternate video & audio tracks (i.e. multiple
    camera angles, director’s commentary, etc.)
•   Multiple hardware profiles (i.e. same bitrates
    targeted at different playback devices)
•   Script commands, markers/chapters, captions
•   Client manifest Gzip compression
•   URL obfuscation
•   Live encoding and streaming

         Fast Forward Your Development   www.dsp-ip.com
ISM file sample
<?xml version="1.0" encoding="utf-16" ?>
- <!-- Created with Expression Encoder version 2.1.1206.0 -->
- <smil xmlns="http://www.w3.org/2001/SMIL20/Language">
- <head>
 <meta name="clientManifestRelativePath" content="NBA.ismc" />
 </head>
- <body>
- <switch>
- <video src="NBA_3000000.ismv" systemBitrate="3000000">
 <param name="trackID" value="2" valuetype="data" />
 </video>
- <video src="NBA_2400000.ismv" systemBitrate="2400000">
 <param name="trackID" value="2" valuetype="data" />
 </video>
- <video src="NBA_1800000.ismv" systemBitrate="1800000">
 <param name="trackID" value="2" valuetype="data" />
 </video>



         Fast Forward Your Development                  www.dsp-ip.com
ISM file sample
- <video src="NBA_1300000.ismv" systemBitrate="1300000">
 <param name="trackID" value="2" valuetype="data" />
 </video>
- <video src="NBA_800000.ismv" systemBitrate="800000">
 <param name="trackID" value="2" valuetype="data" />
 </video>
- <video src="NBA_500000.ismv" systemBitrate="500000">
 <param name="trackID" value="2" valuetype="data" />
 </video>
- <audio src="NBA_3000000.ismv" systemBitrate="64000">
 <param name="trackID" value="1" valuetype="data" />
 </audio>
 </switch>
 </body>
 </smil>




         Fast Forward Your Development                 www.dsp-ip.com
*.ISMC sample
<?xml version="1.0" encoding="utf-16" ?>
- <!-- Created with Expression Encoder version 2.1.1206.0 -->
- <SmoothStreamingMedia MajorVersion="1" MinorVersion="0"
   Duration="4084405506">
- <StreamIndex Type="video" Subtype="WVC1" Chunks="208"
   Url="QualityLevels({bitrate})/Fragments(video={start time})">
 <QualityLevel Bitrate="3000000" FourCC="WVC1" Width="1280" Height="720"
   CodecPrivateData="250000010FD3FE27F1678A27F859E80C9082DB8D44A9
   C00000010E5A67F840" />
 <QualityLevel Bitrate="2400000" FourCC="WVC1" Width="1056" Height="592"
   CodecPrivateData="250000010FD3FE20F1278A20F849E80C9082493DEDDC
   C00000010E5A67F840" />
<QualityLevel Bitrate="1800000" FourCC="WVC1" Width="848" Height="480"
   CodecPrivateData="250000010FCBF81A70EF8A1A783BE80C908236EE52654
   00000010E5A67F840" />
 <QualityLevel Bitrate="1300000" FourCC="WVC1" Width="640" Height="352"
   CodecPrivateData="250000010FCBE813F0AF8A13F82BE80C9081A7ABF704
   400000010E5A67F840" />




         Fast Forward Your Development               www.dsp-ip.com
SILVERLIGHT SESSION


Initiation and Flow




     Fast Forward Your Development   www.dsp-ip.com
Smooth Streaming Protocol

• Smooth Streaming Protocol uses HTTP
  [RFC2616] as its underlying transport .
• The Server role in the protocol is stateless
  ▫ Enabling (potentially) different instance of the
    server to handle client requests
  ▫ Request can utilize any generic HTTP
    caches/proxies - > Lowering CDN costs




        Fast Forward Your Development       www.dsp-ip.com
Messages
• Smooth Streaming Protocol uses 4 different
  messages:
 ▫   Manifest Request
 ▫   Manifest Response
 ▫   Fragment Request
 ▫   Fragment Response

• All messages follow the HTTP/1.1 specification




       Fast Forward Your Development   www.dsp-ip.com
Messages Flow
           Server                             Client
                        Manifest Request


                        Manifest Response




                        Fragment Request


                        Fragment Response




                        Fragment Request(s)




    Fast Forward Your Development                      www.dsp-ip.com
Messages
• Manifest Request and Fragment Request
  message MUST use the HTTP "GET" method,
  generated by the client.

• Manifest Request and Fragment Request
  message use the HTTP Response messages.
  Status-Code SHOULD be 200.




      Fast Forward Your Development   www.dsp-ip.com
Smooth Streaming Transport
Protocol Session Details
                                                     Manifest Request
                     Manifest Response
                                                   Video Fragment Request




                                                  Audio Fragment Request
                           Fragment Response




    Fast Forward Your Development              www.dsp-ip.com
Session Details - Manifest Request



• In order to initiate a presentation the Client
  MUST send the server a Manifest Request using
  the HTTP GET method.




      Fast Forward Your Development   www.dsp-ip.com
Session Details - Manifest Response


• The Response is a ISMC Manifest file describing the session.
- <SmoothStreamingMedia MajorVersion="1" MinorVersion="0" Duration="5965419999">
- <StreamIndex Type="video" Subtype="WVC1" Chunks="299" Url="QualityLevels({bitrate})/Fragments(video={start time})">
 <QualityLevel Bitrate="2750000" FourCC="WVC1" Width="1280" Height="720"
   CodecPrivateData="250000010FD3BE27F1678A27F859E804508253EBE8E6C00000010E5AE7F840" />
…..
<c n="0" d="20000000" />
 <c n="1" d="20000000" />
.....
<c n="297" d="20000000" />
 <c n="298" d="5000001" />
 </StreamIndex>
- <StreamIndex Type="audio" Subtype="WmaPro" Chunks="299" Url="QualityLevels({bitrate})/Fragments(audio={start time})">
 <QualityLevel Bitrate="64000"
   WaveFormatEx="6201020044AC0000451F0000CF05100012001000030000000000000000000000E00042C0" />
 <c n="0" d="20433560" />
....
 <c n="297" d="20433560" />
 <c n="298" d="4393197" />
 </StreamIndex>
 </SmoothStreamingMedia>




                  Fast Forward Your Development                                             www.dsp-ip.com
Manifest Response reviewed
• We can see in the ISMC file that the server can support 8 different levels
  of quality (bitrate) for the client can chose from between 2.75Mbit to
  0.35 Mbit.
- <SmoothStreamingMedia MajorVersion="1" MinorVersion="0" Duration="5965419999">
- <StreamIndex Type="video" Subtype="WVC1" Chunks="299" Url="QualityLevels({bitrate})/Fragments(video={start time})">
<QualityLevel Bitrate="2750000" FourCC="WVC1" Width="1280" Height="720"
  CodecPrivateData="250000010FD3BE27F1678A27F859E804508253EBE8E6C00000010E5AE7F840" />
<QualityLevel Bitrate="2040000" FourCC="WVC1" Width="1056" Height="592"
  CodecPrivateData="250000010FD3BE20F1278A20F849E80450823E414DD1400000010E5AE7F840" />
<QualityLevel Bitrate="1520000" FourCC="WVC1" Width="848" Height="480"
  CodecPrivateData="250000010FCBAE1A70EF8A1A783BE8045081AE62F3F7400000010E5AE7F840" />
<QualityLevel Bitrate="1130000" FourCC="WVC1" Width="704" Height="400"
  CodecPrivateData="250000010FCBA215F0C78A15F831E8045081A27BD635C00000010E5AE7F840" />
<QualityLevel Bitrate="845000" FourCC="WVC1" Width="576" Height="320"
  CodecPrivateData="250000010FCB9A11F09F8A11F827E804508199C94077400000010E5AE7F840" />
<QualityLevel Bitrate="630000" FourCC="WVC1" Width="448" Height="256"
  CodecPrivateData="250000010FCB920DF07F8A0DF81FE804508113396020C00000010E5AE7F840" />
<QualityLevel Bitrate="470000" FourCC="WVC1" Width="368" Height="208"
  CodecPrivateData="250000010FC38E0B70678A0B7819E80450810E5747B6C00000010E5AE7F840" />
<QualityLevel Bitrate="350000" FourCC="WVC1" Width="320" Height="176"
  CodecPrivateData="250000010FC38A09F0578A09F815E80450808AADEACF400000010E5AE7F840" />




                  Fast Forward Your Development                                              www.dsp-ip.com
Manifest Response – reviewed
• The client also receives the number of chunks for audio and video tracks
  and the duration of each chunk so it can request the chunk which fits the
  desired position in the file
<c n="0" d="20000000" />
 <c n="1" d="20000000" />
 <c n="2" d="20000000" />
 <c n="3" d="20000000" />
....
 <c n="297" d="20000000" />
 <c n="298" d="5000001" />
 </StreamIndex>
- <StreamIndex Type="audio" Subtype="WmaPro" Chunks="299" Url="QualityLevels({bitrate})/Fragments(audio={start time})">
 <QualityLevel Bitrate="64000"
   WaveFormatEx="6201020044AC0000451F0000CF05100012001000030000000000000000000000E00042C0" />
 <c n="0" d="20433560" />
 <c n="1" d="19969161" />
 <c n="2" d="19969161" />
 <c n="3" d="20433560" />
 <c n="4" d="20433560" />
<c n="297" d="20433560" />
 <c n="298" d="4393197" />
 </StreamIndex>
 </SmoothStreamingMedia>




                  Fast Forward Your Development                                             www.dsp-ip.com
Session Details – Fragment Request



• Client-Server requests are based on RESTFull URLs:
 GET /mediadl/iisnet/smoothmedia/Experience/BigBuckBunny_720p.ism/QualityLevels(350000)/Fragments(video=0)



• The URL includes reference to:
 ▫ Bitrate as QualityLevels which maps to a media file
 ▫ Fragment number




             Fast Forward Your Development                                    www.dsp-ip.com
Session Details – Fragment Response


• The Server:
  ▫ checks “BigBuckBunny_720p.ism” server manifest file to find the
    media file associated with the quality level(350000)
  ▫ Opens and parses the associated media file to get the chunk with
    requested time offset (0).
  ▫ Sends the requested media fragment to the client as HTTP
    response with status code set to 200




         Fast Forward Your Development              www.dsp-ip.com
DSP-IP Contact information
For Course materials licensing & lecture request contact:
   Adi Yakov
   Training and Courses Manager
   adi@dsp-
   adi@dsp-ip.com
   +972-9-8651933
    972-
For projects development services contact:
   Alona Ashkenazi
   Technology Management Services :
   alona@dsp-
   alona@dsp-ip.com
   +972-
   +972-9-8850956              www.dsp-ip.
                               www.dsp-ip.com
                                   Mail : info@dsp-ip.com
                                          info@dsp-ip.
                                   Phone: 972- 8850956,
                                   Phone: +972-9-8850956,
                                   Fax : +972-50- 8962910
                                           972-50-



       Fast Forward Your Development             www.dsp-ip.com
Refrences
• Most valuable refrence:
  http://alexzambelli.com/blog/2009/02/10/smo
  oth-streaming-architecture/




      Fast Forward Your Development   www.dsp-ip.com
DSP-IP Contact information
For Course materials licensing & lecture request contact:
   Adi Yakov
   Training and Courses Manager
   adi@dsp-
   adi@dsp-ip.com
   +972-
   +972-9-8651933
For projects development services contact:
   Alona Ashkenazi
   Technology Management Services :
   alona@dsp-
   alona@dsp-ip.com
   +972-
   +972-9-8850956              www.dsp-ip.
                               www.dsp-ip.com
                                   Mail : info@dsp-ip.com
                                          info@dsp-ip.
                                   Phone: 972- 8850956,
                                   Phone: +972-9-8850956,
                                   Fax : +972-50- 8962910
                                           972-50-



       Fast Forward Your Development             www.dsp-ip.com

More Related Content

What's hot

CapAnalysis - Deep Packet Inspection
CapAnalysis - Deep Packet InspectionCapAnalysis - Deep Packet Inspection
CapAnalysis - Deep Packet InspectionChris Harrington
 
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)Thomas Graf
 
redGuardian DP100 large scale DDoS mitigation solution
redGuardian DP100 large scale DDoS mitigation solutionredGuardian DP100 large scale DDoS mitigation solution
redGuardian DP100 large scale DDoS mitigation solutionRedge Technologies
 
Open stackdaykorea2016 wedge
Open stackdaykorea2016 wedgeOpen stackdaykorea2016 wedge
Open stackdaykorea2016 wedgeJunho Suh
 
Network Analysis Using Wireshark -10- arp and ip analysis
Network Analysis Using Wireshark -10- arp and ip analysis Network Analysis Using Wireshark -10- arp and ip analysis
Network Analysis Using Wireshark -10- arp and ip analysis Yoram Orzach
 
An Introduction to BGP Flow Spec
An Introduction to BGP Flow SpecAn Introduction to BGP Flow Spec
An Introduction to BGP Flow SpecShortestPathFirst
 
Building the Internet of Things with Thingsquare and Contiki - day 2 part 2
Building the Internet of Things with Thingsquare and Contiki - day 2 part 2Building the Internet of Things with Thingsquare and Contiki - day 2 part 2
Building the Internet of Things with Thingsquare and Contiki - day 2 part 2Adam Dunkels
 
Wireshark course, Ch 02: Introduction to wireshark
Wireshark course, Ch 02: Introduction to wiresharkWireshark course, Ch 02: Introduction to wireshark
Wireshark course, Ch 02: Introduction to wiresharkYoram Orzach
 
Building day 2 upload Building the Internet of Things with Thingsquare and ...
Building day 2   upload Building the Internet of Things with Thingsquare and ...Building day 2   upload Building the Internet of Things with Thingsquare and ...
Building day 2 upload Building the Internet of Things with Thingsquare and ...Adam Dunkels
 
Pyretic - A new programmer friendly language for SDN
Pyretic - A new programmer friendly language for SDNPyretic - A new programmer friendly language for SDN
Pyretic - A new programmer friendly language for SDNnvirters
 
16.) layer 3 (basic tcp ip routing)
16.) layer 3 (basic tcp ip routing)16.) layer 3 (basic tcp ip routing)
16.) layer 3 (basic tcp ip routing)Jeff Green
 
Wireshark
WiresharkWireshark
Wiresharkbtohara
 
An Introduction and Comparison of Dante, AVB and CobraNet Methodologies
An Introduction and Comparison of Dante, AVB and CobraNet MethodologiesAn Introduction and Comparison of Dante, AVB and CobraNet Methodologies
An Introduction and Comparison of Dante, AVB and CobraNet MethodologiesrAVe [PUBS]
 
Network analysis Using Wireshark 4: Capture Filters
Network analysis Using Wireshark 4: Capture FiltersNetwork analysis Using Wireshark 4: Capture Filters
Network analysis Using Wireshark 4: Capture FiltersYoram Orzach
 
Troubleshooting Network and Network Utilities
Troubleshooting Network and Network UtilitiesTroubleshooting Network and Network Utilities
Troubleshooting Network and Network UtilitiesRubal Sagwal
 
NetFlow Monitoring for Cyber Threat Defense
NetFlow Monitoring for Cyber Threat DefenseNetFlow Monitoring for Cyber Threat Defense
NetFlow Monitoring for Cyber Threat DefenseCisco Canada
 
SSL basics and SSL packet analysis using wireshark
SSL basics and SSL packet analysis using wiresharkSSL basics and SSL packet analysis using wireshark
SSL basics and SSL packet analysis using wiresharkAl Imran, CISA
 

What's hot (20)

Wireshark ppt
Wireshark pptWireshark ppt
Wireshark ppt
 
Future Internet protocols
Future Internet protocolsFuture Internet protocols
Future Internet protocols
 
CapAnalysis - Deep Packet Inspection
CapAnalysis - Deep Packet InspectionCapAnalysis - Deep Packet Inspection
CapAnalysis - Deep Packet Inspection
 
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)
 
redGuardian DP100 large scale DDoS mitigation solution
redGuardian DP100 large scale DDoS mitigation solutionredGuardian DP100 large scale DDoS mitigation solution
redGuardian DP100 large scale DDoS mitigation solution
 
Open stackdaykorea2016 wedge
Open stackdaykorea2016 wedgeOpen stackdaykorea2016 wedge
Open stackdaykorea2016 wedge
 
Network Analysis Using Wireshark -10- arp and ip analysis
Network Analysis Using Wireshark -10- arp and ip analysis Network Analysis Using Wireshark -10- arp and ip analysis
Network Analysis Using Wireshark -10- arp and ip analysis
 
An Introduction to BGP Flow Spec
An Introduction to BGP Flow SpecAn Introduction to BGP Flow Spec
An Introduction to BGP Flow Spec
 
Building the Internet of Things with Thingsquare and Contiki - day 2 part 2
Building the Internet of Things with Thingsquare and Contiki - day 2 part 2Building the Internet of Things with Thingsquare and Contiki - day 2 part 2
Building the Internet of Things with Thingsquare and Contiki - day 2 part 2
 
Wireshark course, Ch 02: Introduction to wireshark
Wireshark course, Ch 02: Introduction to wiresharkWireshark course, Ch 02: Introduction to wireshark
Wireshark course, Ch 02: Introduction to wireshark
 
Building day 2 upload Building the Internet of Things with Thingsquare and ...
Building day 2   upload Building the Internet of Things with Thingsquare and ...Building day 2   upload Building the Internet of Things with Thingsquare and ...
Building day 2 upload Building the Internet of Things with Thingsquare and ...
 
Pyretic - A new programmer friendly language for SDN
Pyretic - A new programmer friendly language for SDNPyretic - A new programmer friendly language for SDN
Pyretic - A new programmer friendly language for SDN
 
16.) layer 3 (basic tcp ip routing)
16.) layer 3 (basic tcp ip routing)16.) layer 3 (basic tcp ip routing)
16.) layer 3 (basic tcp ip routing)
 
Wireshark
WiresharkWireshark
Wireshark
 
An Introduction and Comparison of Dante, AVB and CobraNet Methodologies
An Introduction and Comparison of Dante, AVB and CobraNet MethodologiesAn Introduction and Comparison of Dante, AVB and CobraNet Methodologies
An Introduction and Comparison of Dante, AVB and CobraNet Methodologies
 
Network analysis Using Wireshark 4: Capture Filters
Network analysis Using Wireshark 4: Capture FiltersNetwork analysis Using Wireshark 4: Capture Filters
Network analysis Using Wireshark 4: Capture Filters
 
Netflow slides
Netflow slidesNetflow slides
Netflow slides
 
Troubleshooting Network and Network Utilities
Troubleshooting Network and Network UtilitiesTroubleshooting Network and Network Utilities
Troubleshooting Network and Network Utilities
 
NetFlow Monitoring for Cyber Threat Defense
NetFlow Monitoring for Cyber Threat DefenseNetFlow Monitoring for Cyber Threat Defense
NetFlow Monitoring for Cyber Threat Defense
 
SSL basics and SSL packet analysis using wireshark
SSL basics and SSL packet analysis using wiresharkSSL basics and SSL packet analysis using wireshark
SSL basics and SSL packet analysis using wireshark
 

Viewers also liked

how to decrypt SSL/TLS without PrivateKey of servers
how to decrypt SSL/TLS without PrivateKey of servershow to decrypt SSL/TLS without PrivateKey of servers
how to decrypt SSL/TLS without PrivateKey of servers@ otsuka752
 
Of knights-and-drawbridges-nat-behaviour
Of knights-and-drawbridges-nat-behaviourOf knights-and-drawbridges-nat-behaviour
Of knights-and-drawbridges-nat-behaviourAuro Tripathy
 
Mobile Movies with HTTP Live Streaming (CocoaConf DC, March 2013)
Mobile Movies with HTTP Live Streaming (CocoaConf DC, March 2013)Mobile Movies with HTTP Live Streaming (CocoaConf DC, March 2013)
Mobile Movies with HTTP Live Streaming (CocoaConf DC, March 2013)Chris Adamson
 
Back-propagation Primer
Back-propagation PrimerBack-propagation Primer
Back-propagation PrimerAuro Tripathy
 
CTF超入門 (for 第12回セキュリティさくら)
CTF超入門 (for 第12回セキュリティさくら)CTF超入門 (for 第12回セキュリティさくら)
CTF超入門 (for 第12回セキュリティさくら)kikuchan98
 

Viewers also liked (8)

how to decrypt SSL/TLS without PrivateKey of servers
how to decrypt SSL/TLS without PrivateKey of servershow to decrypt SSL/TLS without PrivateKey of servers
how to decrypt SSL/TLS without PrivateKey of servers
 
Of knights-and-drawbridges-nat-behaviour
Of knights-and-drawbridges-nat-behaviourOf knights-and-drawbridges-nat-behaviour
Of knights-and-drawbridges-nat-behaviour
 
Mobile Movies with HTTP Live Streaming (CocoaConf DC, March 2013)
Mobile Movies with HTTP Live Streaming (CocoaConf DC, March 2013)Mobile Movies with HTTP Live Streaming (CocoaConf DC, March 2013)
Mobile Movies with HTTP Live Streaming (CocoaConf DC, March 2013)
 
Back-propagation Primer
Back-propagation PrimerBack-propagation Primer
Back-propagation Primer
 
GoogLeNet Insights
GoogLeNet InsightsGoogLeNet Insights
GoogLeNet Insights
 
TLS, HTTP/2演習
TLS, HTTP/2演習TLS, HTTP/2演習
TLS, HTTP/2演習
 
HTTP Live Streaming
HTTP Live StreamingHTTP Live Streaming
HTTP Live Streaming
 
CTF超入門 (for 第12回セキュリティさくら)
CTF超入門 (for 第12回セキュリティさくら)CTF超入門 (for 第12回セキュリティさくら)
CTF超入門 (for 第12回セキュリティさくら)
 

Similar to Silverlight Wireshark Analysis

Adobe HTTP Streaming
Adobe HTTP StreamingAdobe HTTP Streaming
Adobe HTTP StreamingYoss Cohen
 
Serverless Media Workflow
Serverless Media WorkflowServerless Media Workflow
Serverless Media WorkflowMooYeol Lee
 
Streaming video to html
Streaming video to htmlStreaming video to html
Streaming video to htmljeff tapper
 
Sm west 2010-microsoft-workshop
Sm west 2010-microsoft-workshopSm west 2010-microsoft-workshop
Sm west 2010-microsoft-workshopPrashant Ohal
 
AWS powered online classes platform
AWS powered online classes platformAWS powered online classes platform
AWS powered online classes platformUjjavalVerma4
 
Encoding Video for the Web - Webinar from ReelSEO.com
Encoding Video for the Web  - Webinar from ReelSEO.comEncoding Video for the Web  - Webinar from ReelSEO.com
Encoding Video for the Web - Webinar from ReelSEO.comMark Robertson ⏩
 
Media Source Extensions
Media Source ExtensionsMedia Source Extensions
Media Source ExtensionsFITC
 
HTML5 Video Presentation
HTML5 Video PresentationHTML5 Video Presentation
HTML5 Video Presentationsith33
 
ReproNow—Save Time Reproducing and Triaging Security Bugs
ReproNow—Save Time Reproducing and Triaging Security BugsReproNow—Save Time Reproducing and Triaging Security Bugs
ReproNow—Save Time Reproducing and Triaging Security BugsPriyanka Aash
 
PAC 2019 virtual Mark Tomlinson
PAC 2019 virtual Mark TomlinsonPAC 2019 virtual Mark Tomlinson
PAC 2019 virtual Mark TomlinsonNeotys
 
Encoding Video for Microsoft Silverlight
Encoding Video for Microsoft SilverlightEncoding Video for Microsoft Silverlight
Encoding Video for Microsoft Silverlightgoodfriday
 
HTML5 Programming
HTML5 ProgrammingHTML5 Programming
HTML5 Programminghotrannam
 
Media Content Delivery Systems
Media Content Delivery SystemsMedia Content Delivery Systems
Media Content Delivery Systemsashbyb
 
IBC Content Everywhere Hub Presentation: HTML5 And Fastest Encoding
IBC Content Everywhere Hub Presentation: HTML5 And Fastest EncodingIBC Content Everywhere Hub Presentation: HTML5 And Fastest Encoding
IBC Content Everywhere Hub Presentation: HTML5 And Fastest EncodingBitmovin Inc
 
Media Content Delivery Systems: 2nd Presentation
Media Content Delivery Systems: 2nd PresentationMedia Content Delivery Systems: 2nd Presentation
Media Content Delivery Systems: 2nd Presentationashbyb
 
AMF Flash and .NET
AMF Flash and .NETAMF Flash and .NET
AMF Flash and .NETYaniv Uriel
 

Similar to Silverlight Wireshark Analysis (20)

Adobe HTTP Streaming
Adobe HTTP StreamingAdobe HTTP Streaming
Adobe HTTP Streaming
 
Serverless Media Workflow
Serverless Media WorkflowServerless Media Workflow
Serverless Media Workflow
 
Streaming video to html
Streaming video to htmlStreaming video to html
Streaming video to html
 
Sm west 2010-microsoft-workshop
Sm west 2010-microsoft-workshopSm west 2010-microsoft-workshop
Sm west 2010-microsoft-workshop
 
Multimedia streaming
Multimedia streamingMultimedia streaming
Multimedia streaming
 
AWS powered online classes platform
AWS powered online classes platformAWS powered online classes platform
AWS powered online classes platform
 
Apan media encoding
Apan media encodingApan media encoding
Apan media encoding
 
Pycon2013
Pycon2013Pycon2013
Pycon2013
 
Encoding Video for the Web - Webinar from ReelSEO.com
Encoding Video for the Web  - Webinar from ReelSEO.comEncoding Video for the Web  - Webinar from ReelSEO.com
Encoding Video for the Web - Webinar from ReelSEO.com
 
Mm sys 2013-demo
Mm sys 2013-demoMm sys 2013-demo
Mm sys 2013-demo
 
Media Source Extensions
Media Source ExtensionsMedia Source Extensions
Media Source Extensions
 
HTML5 Video Presentation
HTML5 Video PresentationHTML5 Video Presentation
HTML5 Video Presentation
 
ReproNow—Save Time Reproducing and Triaging Security Bugs
ReproNow—Save Time Reproducing and Triaging Security BugsReproNow—Save Time Reproducing and Triaging Security Bugs
ReproNow—Save Time Reproducing and Triaging Security Bugs
 
PAC 2019 virtual Mark Tomlinson
PAC 2019 virtual Mark TomlinsonPAC 2019 virtual Mark Tomlinson
PAC 2019 virtual Mark Tomlinson
 
Encoding Video for Microsoft Silverlight
Encoding Video for Microsoft SilverlightEncoding Video for Microsoft Silverlight
Encoding Video for Microsoft Silverlight
 
HTML5 Programming
HTML5 ProgrammingHTML5 Programming
HTML5 Programming
 
Media Content Delivery Systems
Media Content Delivery SystemsMedia Content Delivery Systems
Media Content Delivery Systems
 
IBC Content Everywhere Hub Presentation: HTML5 And Fastest Encoding
IBC Content Everywhere Hub Presentation: HTML5 And Fastest EncodingIBC Content Everywhere Hub Presentation: HTML5 And Fastest Encoding
IBC Content Everywhere Hub Presentation: HTML5 And Fastest Encoding
 
Media Content Delivery Systems: 2nd Presentation
Media Content Delivery Systems: 2nd PresentationMedia Content Delivery Systems: 2nd Presentation
Media Content Delivery Systems: 2nd Presentation
 
AMF Flash and .NET
AMF Flash and .NETAMF Flash and .NET
AMF Flash and .NET
 

More from Yoss Cohen

Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsYoss Cohen
 
open platform for swarm training
open platform for swarm training open platform for swarm training
open platform for swarm training Yoss Cohen
 
Deep Learning - system view
Deep Learning - system viewDeep Learning - system view
Deep Learning - system viewYoss Cohen
 
Dspip deep learning syllabus
Dspip deep learning syllabusDspip deep learning syllabus
Dspip deep learning syllabusYoss Cohen
 
IoT consideration selection
IoT consideration selectionIoT consideration selection
IoT consideration selectionYoss Cohen
 
Nvidia jetson nano bringup
Nvidia jetson nano bringupNvidia jetson nano bringup
Nvidia jetson nano bringupYoss Cohen
 
Autonomous car teleportation architecture
Autonomous car teleportation architectureAutonomous car teleportation architecture
Autonomous car teleportation architectureYoss Cohen
 
Motion estimation overview
Motion estimation overviewMotion estimation overview
Motion estimation overviewYoss Cohen
 
Computer Vision - Image Filters
Computer Vision - Image FiltersComputer Vision - Image Filters
Computer Vision - Image FiltersYoss Cohen
 
Intro to machine learning with scikit learn
Intro to machine learning with scikit learnIntro to machine learning with scikit learn
Intro to machine learning with scikit learnYoss Cohen
 
DASH and HTTP2.0
DASH and HTTP2.0DASH and HTTP2.0
DASH and HTTP2.0Yoss Cohen
 
HEVC Definitions and high-level syntax
HEVC Definitions and high-level syntaxHEVC Definitions and high-level syntax
HEVC Definitions and high-level syntaxYoss Cohen
 
Introduction to HEVC
Introduction to HEVCIntroduction to HEVC
Introduction to HEVCYoss Cohen
 
FFMPEG on android
FFMPEG on androidFFMPEG on android
FFMPEG on androidYoss Cohen
 
Hands-on Video Course - "RAW Video"
Hands-on Video Course - "RAW Video" Hands-on Video Course - "RAW Video"
Hands-on Video Course - "RAW Video" Yoss Cohen
 
Video quality testing
Video quality testingVideo quality testing
Video quality testingYoss Cohen
 
HEVC / H265 Hands-On course
HEVC / H265 Hands-On courseHEVC / H265 Hands-On course
HEVC / H265 Hands-On courseYoss Cohen
 
Web video standards
Web video standardsWeb video standards
Web video standardsYoss Cohen
 
Product wise computer vision development
Product wise computer vision developmentProduct wise computer vision development
Product wise computer vision developmentYoss Cohen
 

More from Yoss Cohen (20)

Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platforms
 
open platform for swarm training
open platform for swarm training open platform for swarm training
open platform for swarm training
 
Deep Learning - system view
Deep Learning - system viewDeep Learning - system view
Deep Learning - system view
 
Dspip deep learning syllabus
Dspip deep learning syllabusDspip deep learning syllabus
Dspip deep learning syllabus
 
IoT consideration selection
IoT consideration selectionIoT consideration selection
IoT consideration selection
 
IoT evolution
IoT evolutionIoT evolution
IoT evolution
 
Nvidia jetson nano bringup
Nvidia jetson nano bringupNvidia jetson nano bringup
Nvidia jetson nano bringup
 
Autonomous car teleportation architecture
Autonomous car teleportation architectureAutonomous car teleportation architecture
Autonomous car teleportation architecture
 
Motion estimation overview
Motion estimation overviewMotion estimation overview
Motion estimation overview
 
Computer Vision - Image Filters
Computer Vision - Image FiltersComputer Vision - Image Filters
Computer Vision - Image Filters
 
Intro to machine learning with scikit learn
Intro to machine learning with scikit learnIntro to machine learning with scikit learn
Intro to machine learning with scikit learn
 
DASH and HTTP2.0
DASH and HTTP2.0DASH and HTTP2.0
DASH and HTTP2.0
 
HEVC Definitions and high-level syntax
HEVC Definitions and high-level syntaxHEVC Definitions and high-level syntax
HEVC Definitions and high-level syntax
 
Introduction to HEVC
Introduction to HEVCIntroduction to HEVC
Introduction to HEVC
 
FFMPEG on android
FFMPEG on androidFFMPEG on android
FFMPEG on android
 
Hands-on Video Course - "RAW Video"
Hands-on Video Course - "RAW Video" Hands-on Video Course - "RAW Video"
Hands-on Video Course - "RAW Video"
 
Video quality testing
Video quality testingVideo quality testing
Video quality testing
 
HEVC / H265 Hands-On course
HEVC / H265 Hands-On courseHEVC / H265 Hands-On course
HEVC / H265 Hands-On course
 
Web video standards
Web video standardsWeb video standards
Web video standards
 
Product wise computer vision development
Product wise computer vision developmentProduct wise computer vision development
Product wise computer vision development
 

Recently uploaded

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 

Recently uploaded (20)

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 

Silverlight Wireshark Analysis

  • 1. Silverlight smooth streaming Wireshark analysis Yossi Cohen DSP-IP Fast Forward Your Development www.dsp-ip.com
  • 2. SILVERLIGHT INTRODUCTION Fast Forward Your Development www.dsp-ip.com
  • 3. Smooth Streaming • Microsoft’s implementation of HTTP-based adaptive streaming • A hybrid media delivery method that acts like streaming but is in fact a series of short progressive downloads • Leverages existing HTTP caches • Client can seamlessly switch video quality and bit rate based on perceived network bandwidth and CPU resources Fast Forward Your Development www.dsp-ip.com
  • 4. Streaming or Progressive Download? Traditional Progressive Streaming Download • Responsive User • Works from a Experience Web Server • Bandwidth Use • World-wide • User Tracking scale w/HTTP Challenges Challenges • No cache-ability • Limited User • Separate, Experience smaller • User tracking streaming • Bandwidth Use networks (20% watched) Fast Forward Your Development www.dsp-ip.com
  • 5. Smooth Streaming Design • Smooth Streaming File Format based on MP4 (ISO Base Media File Format) • Video is encoded and stored on disk as one contiguous MP4 file ▫ Separate file for each bit rate • Each video Group of Pictures (GOP) is stored in a Movie Fragment box ▫ This allows easy fragmentation at key frames • Contiguous file is virtually split up into chunks when responding to a client request Fast Forward Your Development www.dsp-ip.com
  • 6. Content Provider Benefits • Cheaper to deploy ▫ Can utilize any generic HTTP caches/proxies ▫ Doesn’t require specialized servers at every node • Better scalability and reach ▫ Reduces “last mile” issues because it can dynamically adapt to inferior network conditions • Audience can adapt to the content, rather than requiring the content providers to guess which bit rates are most likely to be accessible to their audience Fast Forward Your Development www.dsp-ip.com
  • 7. End User Benefits • Fast start-up and seek times ▫ Start-up/seeking can be initiated on the lowest bit rate before moving up to a higher bit rate • No buffering, no disconnects, no playback stutter ▫ As long as the user meets the minimum bit rate requirement • Seamless bit rate switching based on network conditions and CPU capabilities. • A generally consistent, smooth playback experience Fast Forward Your Development www.dsp-ip.com
  • 8. Evolution • Previous versions of MS streaming divide the file into many chunkc 0001.vid 0002.vid etc • Problematic in caching, CDNs, CMS etc • Today all fragments of a file are contained in a single bitstream container. Typically 1 fragment = 1 video GOP. Fast Forward Your Development www.dsp-ip.com
  • 9. SILVERLIGHT FILES Containers & Configuration files Fast Forward Your Development www.dsp-ip.com
  • 10. Format options • ASF/WMV – native Microsoft Format • MPEG4 File-Format • AVI • OGG Fast Forward Your Development www.dsp-ip.com
  • 11. MP4 over ASF file format • MP4 is a lightweight container format with less overhead than ASF • MP4 is easier to parse in managed (.NET) code • MP4 is based on a widely used standard, making 3rd party adoption and support easier • MP4 has native H.264 video support • MP4 was designed to natively support payload fragmentation within the file Fast Forward Your Development www.dsp-ip.com
  • 12. MP4 File format • MP4 has two format types ▫ Disk Format - for file storage ▫ Wire format - for transport • Wire format enables easy CDN support and integration Fast Forward Your Development www.dsp-ip.com
  • 13. Smooth Streaming File Format Fast Forward Your Development www.dsp-ip.com
  • 14. Smooth Streaming Wire Format Fast Forward Your Development www.dsp-ip.com
  • 15. File extensions • Media Files ▫ *.ismv - Audio & Video ▫ *.isma – Audio only • Manifest Files ▫ *.ism – Server manifest. Describes to the server Relation between tracks, bitrates & files on disk. Based on SMIL 2.0 XML format specification ▫ *.ismc – Describes to the client the available streams, CODECS used, bitrates encoded, video resolutions, markers, captions. First file delivered to client. It’s the first file delivered to client (“SDP” like). Fast Forward Your Development www.dsp-ip.com
  • 16. Directory Structure Media file in different Manifest Files bitrates Fast Forward Your Development www.dsp-ip.com
  • 17. Manifest files • VC-1, WMA, H.264 and AAC codecs • Text streams • Multi-language audio tracks • Alternate video & audio tracks (i.e. multiple camera angles, director’s commentary, etc.) • Multiple hardware profiles (i.e. same bitrates targeted at different playback devices) • Script commands, markers/chapters, captions • Client manifest Gzip compression • URL obfuscation • Live encoding and streaming Fast Forward Your Development www.dsp-ip.com
  • 18. ISM file sample <?xml version="1.0" encoding="utf-16" ?> - <!-- Created with Expression Encoder version 2.1.1206.0 --> - <smil xmlns="http://www.w3.org/2001/SMIL20/Language"> - <head> <meta name="clientManifestRelativePath" content="NBA.ismc" /> </head> - <body> - <switch> - <video src="NBA_3000000.ismv" systemBitrate="3000000"> <param name="trackID" value="2" valuetype="data" /> </video> - <video src="NBA_2400000.ismv" systemBitrate="2400000"> <param name="trackID" value="2" valuetype="data" /> </video> - <video src="NBA_1800000.ismv" systemBitrate="1800000"> <param name="trackID" value="2" valuetype="data" /> </video> Fast Forward Your Development www.dsp-ip.com
  • 19. ISM file sample - <video src="NBA_1300000.ismv" systemBitrate="1300000"> <param name="trackID" value="2" valuetype="data" /> </video> - <video src="NBA_800000.ismv" systemBitrate="800000"> <param name="trackID" value="2" valuetype="data" /> </video> - <video src="NBA_500000.ismv" systemBitrate="500000"> <param name="trackID" value="2" valuetype="data" /> </video> - <audio src="NBA_3000000.ismv" systemBitrate="64000"> <param name="trackID" value="1" valuetype="data" /> </audio> </switch> </body> </smil> Fast Forward Your Development www.dsp-ip.com
  • 20. *.ISMC sample <?xml version="1.0" encoding="utf-16" ?> - <!-- Created with Expression Encoder version 2.1.1206.0 --> - <SmoothStreamingMedia MajorVersion="1" MinorVersion="0" Duration="4084405506"> - <StreamIndex Type="video" Subtype="WVC1" Chunks="208" Url="QualityLevels({bitrate})/Fragments(video={start time})"> <QualityLevel Bitrate="3000000" FourCC="WVC1" Width="1280" Height="720" CodecPrivateData="250000010FD3FE27F1678A27F859E80C9082DB8D44A9 C00000010E5A67F840" /> <QualityLevel Bitrate="2400000" FourCC="WVC1" Width="1056" Height="592" CodecPrivateData="250000010FD3FE20F1278A20F849E80C9082493DEDDC C00000010E5A67F840" /> <QualityLevel Bitrate="1800000" FourCC="WVC1" Width="848" Height="480" CodecPrivateData="250000010FCBF81A70EF8A1A783BE80C908236EE52654 00000010E5A67F840" /> <QualityLevel Bitrate="1300000" FourCC="WVC1" Width="640" Height="352" CodecPrivateData="250000010FCBE813F0AF8A13F82BE80C9081A7ABF704 400000010E5A67F840" /> Fast Forward Your Development www.dsp-ip.com
  • 21. SILVERLIGHT SESSION Initiation and Flow Fast Forward Your Development www.dsp-ip.com
  • 22. Smooth Streaming Protocol • Smooth Streaming Protocol uses HTTP [RFC2616] as its underlying transport . • The Server role in the protocol is stateless ▫ Enabling (potentially) different instance of the server to handle client requests ▫ Request can utilize any generic HTTP caches/proxies - > Lowering CDN costs Fast Forward Your Development www.dsp-ip.com
  • 23. Messages • Smooth Streaming Protocol uses 4 different messages: ▫ Manifest Request ▫ Manifest Response ▫ Fragment Request ▫ Fragment Response • All messages follow the HTTP/1.1 specification Fast Forward Your Development www.dsp-ip.com
  • 24. Messages Flow Server Client Manifest Request Manifest Response Fragment Request Fragment Response Fragment Request(s) Fast Forward Your Development www.dsp-ip.com
  • 25. Messages • Manifest Request and Fragment Request message MUST use the HTTP "GET" method, generated by the client. • Manifest Request and Fragment Request message use the HTTP Response messages. Status-Code SHOULD be 200. Fast Forward Your Development www.dsp-ip.com
  • 26. Smooth Streaming Transport Protocol Session Details Manifest Request Manifest Response Video Fragment Request Audio Fragment Request Fragment Response Fast Forward Your Development www.dsp-ip.com
  • 27. Session Details - Manifest Request • In order to initiate a presentation the Client MUST send the server a Manifest Request using the HTTP GET method. Fast Forward Your Development www.dsp-ip.com
  • 28. Session Details - Manifest Response • The Response is a ISMC Manifest file describing the session. - <SmoothStreamingMedia MajorVersion="1" MinorVersion="0" Duration="5965419999"> - <StreamIndex Type="video" Subtype="WVC1" Chunks="299" Url="QualityLevels({bitrate})/Fragments(video={start time})"> <QualityLevel Bitrate="2750000" FourCC="WVC1" Width="1280" Height="720" CodecPrivateData="250000010FD3BE27F1678A27F859E804508253EBE8E6C00000010E5AE7F840" /> ….. <c n="0" d="20000000" /> <c n="1" d="20000000" /> ..... <c n="297" d="20000000" /> <c n="298" d="5000001" /> </StreamIndex> - <StreamIndex Type="audio" Subtype="WmaPro" Chunks="299" Url="QualityLevels({bitrate})/Fragments(audio={start time})"> <QualityLevel Bitrate="64000" WaveFormatEx="6201020044AC0000451F0000CF05100012001000030000000000000000000000E00042C0" /> <c n="0" d="20433560" /> .... <c n="297" d="20433560" /> <c n="298" d="4393197" /> </StreamIndex> </SmoothStreamingMedia> Fast Forward Your Development www.dsp-ip.com
  • 29. Manifest Response reviewed • We can see in the ISMC file that the server can support 8 different levels of quality (bitrate) for the client can chose from between 2.75Mbit to 0.35 Mbit. - <SmoothStreamingMedia MajorVersion="1" MinorVersion="0" Duration="5965419999"> - <StreamIndex Type="video" Subtype="WVC1" Chunks="299" Url="QualityLevels({bitrate})/Fragments(video={start time})"> <QualityLevel Bitrate="2750000" FourCC="WVC1" Width="1280" Height="720" CodecPrivateData="250000010FD3BE27F1678A27F859E804508253EBE8E6C00000010E5AE7F840" /> <QualityLevel Bitrate="2040000" FourCC="WVC1" Width="1056" Height="592" CodecPrivateData="250000010FD3BE20F1278A20F849E80450823E414DD1400000010E5AE7F840" /> <QualityLevel Bitrate="1520000" FourCC="WVC1" Width="848" Height="480" CodecPrivateData="250000010FCBAE1A70EF8A1A783BE8045081AE62F3F7400000010E5AE7F840" /> <QualityLevel Bitrate="1130000" FourCC="WVC1" Width="704" Height="400" CodecPrivateData="250000010FCBA215F0C78A15F831E8045081A27BD635C00000010E5AE7F840" /> <QualityLevel Bitrate="845000" FourCC="WVC1" Width="576" Height="320" CodecPrivateData="250000010FCB9A11F09F8A11F827E804508199C94077400000010E5AE7F840" /> <QualityLevel Bitrate="630000" FourCC="WVC1" Width="448" Height="256" CodecPrivateData="250000010FCB920DF07F8A0DF81FE804508113396020C00000010E5AE7F840" /> <QualityLevel Bitrate="470000" FourCC="WVC1" Width="368" Height="208" CodecPrivateData="250000010FC38E0B70678A0B7819E80450810E5747B6C00000010E5AE7F840" /> <QualityLevel Bitrate="350000" FourCC="WVC1" Width="320" Height="176" CodecPrivateData="250000010FC38A09F0578A09F815E80450808AADEACF400000010E5AE7F840" /> Fast Forward Your Development www.dsp-ip.com
  • 30. Manifest Response – reviewed • The client also receives the number of chunks for audio and video tracks and the duration of each chunk so it can request the chunk which fits the desired position in the file <c n="0" d="20000000" /> <c n="1" d="20000000" /> <c n="2" d="20000000" /> <c n="3" d="20000000" /> .... <c n="297" d="20000000" /> <c n="298" d="5000001" /> </StreamIndex> - <StreamIndex Type="audio" Subtype="WmaPro" Chunks="299" Url="QualityLevels({bitrate})/Fragments(audio={start time})"> <QualityLevel Bitrate="64000" WaveFormatEx="6201020044AC0000451F0000CF05100012001000030000000000000000000000E00042C0" /> <c n="0" d="20433560" /> <c n="1" d="19969161" /> <c n="2" d="19969161" /> <c n="3" d="20433560" /> <c n="4" d="20433560" /> <c n="297" d="20433560" /> <c n="298" d="4393197" /> </StreamIndex> </SmoothStreamingMedia> Fast Forward Your Development www.dsp-ip.com
  • 31. Session Details – Fragment Request • Client-Server requests are based on RESTFull URLs: GET /mediadl/iisnet/smoothmedia/Experience/BigBuckBunny_720p.ism/QualityLevels(350000)/Fragments(video=0) • The URL includes reference to: ▫ Bitrate as QualityLevels which maps to a media file ▫ Fragment number Fast Forward Your Development www.dsp-ip.com
  • 32. Session Details – Fragment Response • The Server: ▫ checks “BigBuckBunny_720p.ism” server manifest file to find the media file associated with the quality level(350000) ▫ Opens and parses the associated media file to get the chunk with requested time offset (0). ▫ Sends the requested media fragment to the client as HTTP response with status code set to 200 Fast Forward Your Development www.dsp-ip.com
  • 33. DSP-IP Contact information For Course materials licensing & lecture request contact: Adi Yakov Training and Courses Manager adi@dsp- adi@dsp-ip.com +972-9-8651933 972- For projects development services contact: Alona Ashkenazi Technology Management Services : alona@dsp- alona@dsp-ip.com +972- +972-9-8850956 www.dsp-ip. www.dsp-ip.com Mail : info@dsp-ip.com info@dsp-ip. Phone: 972- 8850956, Phone: +972-9-8850956, Fax : +972-50- 8962910 972-50- Fast Forward Your Development www.dsp-ip.com
  • 34. Refrences • Most valuable refrence: http://alexzambelli.com/blog/2009/02/10/smo oth-streaming-architecture/ Fast Forward Your Development www.dsp-ip.com
  • 35. DSP-IP Contact information For Course materials licensing & lecture request contact: Adi Yakov Training and Courses Manager adi@dsp- adi@dsp-ip.com +972- +972-9-8651933 For projects development services contact: Alona Ashkenazi Technology Management Services : alona@dsp- alona@dsp-ip.com +972- +972-9-8850956 www.dsp-ip. www.dsp-ip.com Mail : info@dsp-ip.com info@dsp-ip. Phone: 972- 8850956, Phone: +972-9-8850956, Fax : +972-50- 8962910 972-50- Fast Forward Your Development www.dsp-ip.com