Apple's live http streaming

4,043 views

Published on

Review of Apples live HTTP Streaming technology

0 Comments
9 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,043
On SlideShare
0
From Embeds
0
Number of Embeds
40
Actions
Shares
0
Downloads
2
Comments
0
Likes
9
Embeds 0
No embeds

No notes for slide

Apple's live http streaming

  1. 1. Apple’s HTTP Live Streaming
  2. 2. Agenda <ul><li>System Overview </li></ul><ul><li>Components </li></ul><ul><li>Session </li></ul>
  3. 3. Apple’s Note <ul><li>Note: Many existing streaming services require specialized servers to distribute content to end users. It requires specialized skills to set up and maintain these servers, and in a large-scale deployment these servers can be costly. Apple has designed a system that avoids this by using standard HTTP to deliver the streams. </li></ul>
  4. 4. System Overview
  5. 5. Components Review <ul><li>Server </li></ul><ul><ul><li>Encoder </li></ul></ul><ul><ul><li>Segmenter </li></ul></ul><ul><li>Distributer </li></ul><ul><ul><li>Basic HTTP Server </li></ul></ul><ul><li>Client </li></ul>
  6. 6. Server <ul><li>Receives Digital / Analog input stream </li></ul><ul><li>Encodes / Transcode video/audio </li></ul><ul><ul><li>H.264 Video </li></ul></ul><ul><ul><li>AAC audio (HE-AAC or AAC-LC) </li></ul></ul><ul><li>Encodes / Transcode audio only: </li></ul><ul><ul><li>MPEG-2 elementary streams, HE-AAC or AAC-LC files, or MP3 files </li></ul></ul><ul><li>Encapsulate in MPEG2 </li></ul><ul><ul><li>Transport Stream </li></ul></ul><ul><ul><li>Program Stream </li></ul></ul>
  7. 7. Segmenter <ul><li>All segments should be with the same duration </li></ul><ul><li>All segments are placed in a separate file </li></ul><ul><li>Creates Index file with references to segment files </li></ul><ul><li>For protection, the Segmenter might encrypt each media segment and create a key file </li></ul>
  8. 8. Distribution <ul><li>Distribution system is a regular HTTP Server </li></ul><ul><li>Could be Apache or small embedded Server </li></ul>
  9. 9. Files <ul><li>Segments – stored as *.ts files </li></ul><ul><li>Index files – stored as *.m3u8 </li></ul><ul><li>Index file format example: </li></ul>#EXTM3U #EXT-X-TARGETDURATION:10 #EXTINF:10, http://media.example.com/segment1.ts #EXTINF:10, http://media.example.com/segment2.ts #EXTINF:10, http://media.example.com/segment3.ts #EXT-X-ENDLIST
  10. 10. Session types <ul><li>Live Stream Broadcast </li></ul><ul><ul><li>Index file is continues updated </li></ul></ul><ul><ul><li>Include a moving window of segments around “live” part of the session </li></ul></ul><ul><ul><li>Client should continuously refresh the Index file </li></ul></ul><ul><li>VoD Session </li></ul><ul><ul><li>Index file static </li></ul></ul><ul><ul><li>Includes ALL the segments of the file </li></ul></ul><ul><ul><li>Enables “Seek” operation </li></ul></ul>
  11. 11. Multi-bitrate multi–device support <ul><li>Multi-bitrate is enabled via multiple index files </li></ul><ul><li>Index files are pointed by a global index files </li></ul><ul><li>Client can select a stream according to: </li></ul><ul><ul><li>Device properties </li></ul></ul><ul><ul><li>Available bit rate </li></ul></ul><ul><li>This method is less efficient than Silverlight Global File </li></ul>
  12. 12. Test yourself <ul><li>What are the two Live streaming file types? </li></ul><ul><li>What is the role of the Segmenter? </li></ul><ul><li>On which delivery protocol is the live streaming based? </li></ul>
  13. 13. DSP-IP Contact information For Course materials licensing & lecture request contact: For projects development services contact: <ul><ul><li>Adi Yakov </li></ul></ul><ul><ul><li>Training and Courses Manager </li></ul></ul><ul><ul><li>[email_address] </li></ul></ul><ul><ul><li>+972-9-8651933 </li></ul></ul>www.dsp-ip.com Mail : [email_address] Phone: +972-9-8850956, Fax : +972-50- 8962910 <ul><ul><li>Alona Ashkenazi </li></ul></ul><ul><li>Technology Management Services : [email_address] +972-9-8850956 </li></ul>

×