Successfully reported this slideshow.
Your SlideShare is downloading. ×

An Introduction To HLS (HTTP live streaming)

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Upcoming SlideShare
HTTP Live Streaming
HTTP Live Streaming
Loading in …3
×

Check these out next

1 of 10 Ad
Advertisement

More Related Content

Recently uploaded (20)

Advertisement

An Introduction To HLS (HTTP live streaming)

  1. 1. Intro To HLS (http live streaming) Rand Graham rmcore.com
  2. 2. Why Should You Care About HLS? Used to stream the 2014 World Cup Advantages ◦ Uses Standard Web Server ◦ ABR (Adaptive Bit Rate) ◦ Built into iOS and OS X photo courtesy: warrenski
  3. 3. Overview See: Draft of RFC Pass a URL to a play list file Transport stream .TS container Preferred codecs: H.264 AAC Block Diagram from Apple
  4. 4. Sample Playlist File .m3u8 #EXTM3U #EXT-X-TARGETDURATION:10 #EXT-X-VERSION:3 #EXT-X-MEDIA-SEQUENCE:0 #EXT-X-PLAYLIST-TYPE:VOD #EXT-X-INDEPENDENT-SEGMENTS #EXTINF:8.40000, bb0.ts #EXTINF:7.68000, bb1.ts #EXTINF:9.68000, bb2.ts #EXT-X-ENDLIST
  5. 5. Tools To Create Stream Files ffmpeg Apple Tools: mediastreamsegmenter mediafilesegmenter mediastreamvalidator
  6. 6. Actual ffmpeg command $ ffmpeg -re -i input.mkv -vcodec libx264 -preset veryfast -maxrate 3000k -bufsize 6000k -pix_fmt yuv420p -g 50 -acodec libmp3lame -b:a 128k -ac 2 -ar 44100 -f flv rtmp://live.justin.tv/app/<stream key> -ZOMG! if you think this is complicated -have you tried reading the ffmpeg source code?
  7. 7. Is it cross platform? Built into iOS JavaScript: videojs, clappr Android: ExoPlayer Desktop: VLC
  8. 8. Thanks! ANY QUESTIONS?
  9. 9. Connect with me on twitter: @rdg_rmcore Read more at my website: http://rmcore.com/
  10. 10. CREDITS Special thanks to all the people who made and released these awesome resources for free: ◦ Presentation template by SlidesCarnival ◦ Photo Credits: ◦ World Cup photo by warrenski ◦ HLS block diagram by Apple ◦ Ultimate swiss army knife ◦ Will It Blend on Youtube

Editor's Notes

  • Write up of World Cup streaming architecture:
    http://leandromoreira.com.br/2015/04/26/fifa-2014-world-cup-live-stream-architecture/
    For testing the simple web server that comes with python is sufficient.
    python -m SimpleHTTPServer
  • Segments are not exactly 10 seconds due to video compression algorithms.
    The files are broken on a “key frame” boundary.
    Key frames are full video frames other frames are computed as a diff against the key frame.
  • Be sure to read the reviews of the ultimate swiss army knife:
    http://www.amazon.com/Wenger-16999-Swiss-Knife-Giant/dp/B001DZTJRQ/

×