{"id":2724,"date":"2010-09-01T22:09:29","date_gmt":"2010-09-02T02:09:29","guid":{"rendered":"http:\/\/mjtsai.com\/blog\/?p=2724"},"modified":"2010-09-01T22:09:34","modified_gmt":"2010-09-02T02:09:34","slug":"http-live-streaming","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2010\/09\/01\/http-live-streaming\/","title":{"rendered":"HTTP Live Streaming"},"content":{"rendered":"<p><a href=\"http:\/\/www.subfurther.com\/blog\/?p=1184\">Chris Adamson<\/a>:<\/p>\n<blockquote cite=\"http:\/\/www.subfurther.com\/blog\/?p=1184\"><p>To summarize <a href=\"http:\/\/tools.ietf.org\/html\/draft-pantos-http-live-streaming-04\">the spec<\/a>: a client retrieves a playlist (an .m3u8, which is basically a UTF-8&#8242;ed version of the old WinAmp playlist format) that lists segments of the stream as flat files (often .m4a&#8217;s for audio, and .ts for video, which is an MPEG-2 transport stream, though Apple&#8217;s payload is presumably H.264\/AAC). The client downloads these flat files and sends them to its local media player, and refreshes the playlist periodically to see if there are new files to fetch.  The sizing and timing is configurable, but I think the defaults are like a 60-second refresh cycle on the playlist, and segments of about 10 seconds each.<\/p><\/blockquote>","protected":false},"excerpt":{"rendered":"<p>Chris Adamson: To summarize the spec: a client retrieves a playlist (an .m3u8, which is basically a UTF-8&#8242;ed version of the old WinAmp playlist format) that lists segments of the stream as flat files (often .m4a&#8217;s for audio, and .ts for video, which is an MPEG-2 transport stream, though Apple&#8217;s payload is presumably H.264\/AAC). The [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"apple_news_api_created_at":"","apple_news_api_id":"","apple_news_api_modified_at":"","apple_news_api_revision":"","apple_news_api_share_url":"","apple_news_coverimage":0,"apple_news_coverimage_caption":"","apple_news_is_hidden":false,"apple_news_is_paid":false,"apple_news_is_preview":false,"apple_news_is_sponsored":false,"apple_news_maturity_rating":"","apple_news_metadata":"\"\"","apple_news_pullquote":"","apple_news_pullquote_position":"","apple_news_slug":"","apple_news_sections":"\"\"","apple_news_suppress_video_url":false,"apple_news_use_image_component":false,"footnotes":""},"categories":[2],"tags":[],"class_list":["post-2724","post","type-post","status-publish","format-standard","hentry","category-technology"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/2724","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/comments?post=2724"}],"version-history":[{"count":1,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/2724\/revisions"}],"predecessor-version":[{"id":2725,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/2724\/revisions\/2725"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=2724"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=2724"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=2724"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}