<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>hls on Drake&#39;s Weblog</title>
    <link>https://drakeguan.org/tags/hls/</link>
    <description>Recent content in hls on Drake&#39;s Weblog</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <lastBuildDate>Thu, 13 Apr 2017 16:01:45 +0800</lastBuildDate><atom:link href="https://drakeguan.org/tags/hls/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>CMAF 的提出，還無解的 Video Streaming 的規格聖戰</title>
      <link>https://drakeguan.org/blog/2017/03/video-streaming-formats-war-is-not-done-yet/</link>
      <pubDate>Thu, 13 Apr 2017 16:01:45 +0800</pubDate>
      
      <guid>https://drakeguan.org/blog/2017/03/video-streaming-formats-war-is-not-done-yet/</guid>
      <description>&lt;p&gt;所有的影音串流服務的營運單位都曉得，
日常的營運費用（OPEX）支出裏頭，
前三大的是支出分別是：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;內容版權費&lt;/li&gt;
&lt;li&gt;流量費&lt;/li&gt;
&lt;li&gt;人事成本&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;內容版權費是大老闆與首席內容官（Chief Content Officer）的事；
人事成本是營運長（Chief Operation Officer）與研發主管的事；
至於流量費嘛（以及與它高度相關的儲存空間費用），
我們都曉得這是影音服務有別於其它網路業的最大支出。
流量費也是這一篇 blog 或這個 CMAF 標準在關心的議題。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://drakeguan.org/drakeguan_29331377634.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;從多媒體技術的觀點來看的話，現在的影音串流服務是怎麼做到的呢？
以我微薄的知識與見聞來看，目前成熟的技術市場，大概是有以下的幾塊：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;(Adaptive) streaming protocols: MPEG-DASH, HLS, HDS, MSS, RTMP, &amp;hellip;&lt;/li&gt;
&lt;li&gt;Container format: MP4, fMP4, TS, MOV, &amp;hellip;&lt;/li&gt;
&lt;li&gt;Video codec: H.264, HEVC, VP9, &amp;hellip;&lt;/li&gt;
&lt;li&gt;DRM: PlayReady, Widevine, FairPlay, &amp;hellip;&lt;/li&gt;
&lt;li&gt;Caption: SRT, WebVtt, &amp;hellip;&lt;/li&gt;
&lt;li&gt;Ad: VAST, VPAID, &amp;hellip;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;以一家有點規模，
平台有至少包含 Android, iOS, Web, STB, &amp;hellip; 的 VOD (Video-on-Demand）服務來看，
一部影片，會因為上述的 1, 2, 4 這三點，少則要準備個 2 份，多則要個 3, 4 份。
然後 1 份裏頭，又會因為有 adaptive streaming 而有很多的 profiles，
然後一個 profile 又可能因為 media segmentation 而有很多的檔案。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;以一部 60 分鐘的影片，10 個 profiles，5 秒為一個 media segment 來看：

video duration: 1 hour
segment duration: 5 seconds
adaptive profiles: 10 (audio and video)
media segments: 60 * 60 * 10 / 5 = 7,200

一份會有 7,200 個檔。
如果來個 3, 4 份的話，就是會有 21,600 ~ 28,800 個檔案。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;這對於儲存空間來說，是一筆支出，但更嚴重的，是對於流量的支出。
原本，一部影片，CDN 只要 cache 個一份，
現在因為上述的原因，變成要 cache 個兩三四份，糟透了。
理論上，網路流量的支出是要高於儲存的支出的，而且高很多。
除非，你在經營一家沒有人看的影音服務…&lt;/p&gt;
&lt;p&gt;2015 ~ 2016 年之間，兩大巨頭，Microsoft &amp;amp; Apple，坐下來談一件事。
他們針對上述的問題，做了初步的努力，這個產物就是
CMAF (Common Media Application Format)。
CMAF 繼續了 MAF 的特性（或說是美德也行），
它並沒有定義任何新的技術或規格，
相反的，它是基於現在的技術規格下，
*挑選（或限制）*出了一些規範（ex, profiles）來符合當下的軟硬體需求。&lt;/p&gt;</description>
    </item>
    
  </channel>
</rss>
