ストリーミングのげんざい

Tetsuya Morimoto
ストリーミングのげんざい 
“No man ever steps in the same river twice” 
~ Heraclitus 
2014-11-11 
Tetsuya Morimoto
がいよう 
● 技術背景 
– ビデオコーデックと特許料 
– Adaptive bitrate streaming 
● HTTP ストリーミングの進化 
● まとめ 
Streaming media 
RTMP 
HTTP 
Progressive download 
Adaptive bitrate streaming 
HTTP Live Streaming 
HTTP Dynamic Streaming 
Smooth Streaming 
MPEG-DASH
こーでっく
こーでっく 
● 動画ファイルには様々なフォーマットがある 
– mp4, flv, webm, mov, wmv, 3gp, ... 
● 動画ファイルを利用する場合、 
– 提供する側があるフォーマットでエンコードして、 
– 再生する側があるフォーマットでデコードする 
ことで内容を見聞きできる 
● 何のためにエンコードするか? 
– 圧縮してサイズを小さくするため 
● エンコード ⇔ デコードが双方向にできる装置や 
ソフトウェアまたはアルゴリズムのことをコーデックと呼ぶ
えいちにーろくよん 
● 広範囲に利用されているビデオコーデックの規格 
– いろんなベンダーが参加して作ったため、多数の特許権が含まれている 
● パテントプールであるMPEG LAに特許料を支払わないといけない 
– エンドユーザーが無料で視聴できるインターネットビデオのみ免除 
(YouTubeのようなサービス) 
● コーデック変換が発生する箇所で特許料の支払い義務が生じる 
– ストリーミング/トランスコードサーバー、ブラウザ、メディアプレイヤー 
– 一般的にH.264を扱うプロダクトを販売/購入する場合、 
その販売/購入代金にその特許料も含まれる 
● その販売企業がMPEG LAに特許料を支払う 
– H.264の特許料はキャップ制で、上限額を支払えば不特定多数へ提供できる 
● Adobe Flash Player 
● Cisco OpenH264
えいちにーろくよんのとっきょりょう 
● MPEG LA の AVC/H.264 情報 
– AVC Patent Portfolio License Briefing 
● ライセンスの要約をまとめた資料 
● Manufacture and Saleの価格帯も書いてある 
● あくまで2008年時点での参考情報 
– いまのライセンスとは違うかもしれない 
● 特許料は年間キャップ制 
– この資料では$6.5 million per year 2011-2015 
– H.264 をプロダクトで商用利用するには 
MPEG LA とライセンスを締結しないといけない
おーぷんえいちにーろくよん 
● CiscoのOpenH264プロジェクトとは? 
– Cisco曰く、WebRTCを促進する目的らしい 
– CiscoがMPEG LAへ特許料を支払っているため、 
Ciscoがビルドしたバイナリを使ってライセンス条項に従えば、特許料の支払いは免除される 
– オープンソースとしてgithubでホスティング: openh264 
● RELEASEファイルにライブラリのダウンロード先がある 
– 2014-05-23 1.0.0 リリース 
– 2014-07-09 1.1.0 リリース 
– 2014-10-28 1.2.0 リリース 
● ライセンスについて 
– サーバーでの商用利用: License question on server-side for commercial use 
– クライアントでの商用利用: License question. 
– 2014-10-14 シスコの OpenH264 が Firefox の一部に 
● EricssonはOpenH264を利用するWebRTC実装をオープンソース化 
● Mozilla 
– 2014-10-14 OpenH264 Now in Firefox 
● Firefox33からOpenH264を組み込み
うぇぶえむ 
● GoogleのWebMプロジェクトとは? 
– 2010年からGoogleが開発 
– open-source, royalty-free, Webに特化したフォーマット 
– コンテナー: webm (Matroskaのサブセット) 
● ビデオコーデック: VP8→VP9 
● オーディオコーデック: Vorbis 
ビデオとオーディオの圧縮技術はそれぞれ違うため 
それらを1つにまとめることを「多重化」すると言う 
また、このまとめたものをコンテナーと呼ぶ 
– 姉妹プロジェクトとして画像フォーマット: webp 
– YouTubeにアップロードされた動画はwebmでエンコードされる 
● 普及を妨げる要因? 
– MPEG LAがH.264をインターネットの無料動画に限り無料に変更 
– VP8がMPEG LAの管理する特許に抵触の可能性 
● 2013-03-07: Google and MPEG LA make a deal over VP8 codec 
– IE 、Safariで未サポート (別途プラグインが必要)
すとりーみんぐ
はやり 
● Streaming方式 (リアル・ストリーミング) 
– RTMPによるストリーミング 
– キャッシュが端末に残らない (CDNには残るかも?) 
– 専用サーバー/クライアントが必要 
– (相対的に)帯域制御やサービス品質の保証が容易 
● Progressive download方式 (擬似ストリーミング) 
– HTTPによるストリーミング(ダウンロード) 
– 端末や途中経路にキャッシュとしてファイルが残る 
– Webサーバーから配信、ブラウザ(html5対応)で再生できる 
● Webアプリのノウハウでスケールアウトが容易 
● Adaptive bitrate streaming方式 
– HTTPストリーミングの進化系 
– デバイスや帯域に適したストリーミングを提供 
HTTP ストリーミング 
HTTP ストリーミング 
あらかじめそれぞれのデバイス、 
ビットレートにトランスコードした 
メディアファイルを用意する 
1つのメディアファイルを 
リアルタイムエンコードする
さいきん 
● Adobe 
– 2009年RTMPの仕様を公開する 
● CDNサービスが可能となり、Flash技術がエンタープライズ分野でも利用される 
– 2010年HTTP Dynamic Streaming (HDS)を提供 (FMS 4.0) 
– 2011年HLSをサポート (Flash Player 11+) 
● Apple 
– 2009年HTTP Live Streaming (HLS)を提供 
● 対応ビデオコーデックはH.264のみ 
● Google 
– 2010年WebMプロジェクトを開始 
● royalty-freeなオープンなストリーミングの世界 
– 2011年Android 3.0 HoneycombでHLSをサポート (スマートフォン4.0) 
● Microsoft 
– 2010年Smooth Streamingを提供 (IIS Media Service 4.0) 
Red5: FMSのOSS実装 
2005年プロジェクトを開始 
2009年に0.8.0 をリリース 
2012年に1.0 をリリース 
Wowza: FMSの競合プロダクト 
2007年1.0 をリリース 
2009年2.0 をリリース(HTTP ストリーミング開始) 
Adaptive bitrate streaming 
2010年ぐらいから始まった 
html5 
2008年First Public Working Draft 
2011年Last Call 
Mozilla (Firefox) 
2010 WebM サポートを支持 
2012 スマートデバイスで H.264 サポート開始 
2014.10 H.264 サポート (OpenH264)
えいちえるえす 
● HTTP Live Streaming ドキュメント 
– Appleが提唱/実装 
– IETFで標準化が進められている 
● HTTP Live Streaming draft-pantos-http-live-streaming 
–現時点ではDraft 14 (2014-10-14) 
– 6ヶ月ごとに更新されるため、標準化が決まるのはまだまだ先になりそう? 
– プレイリストと小さく分割したセグメントファイルを使う 
● プレイリスト: M3Uフォーマット (m3u8) 
– M3UをUTF-8でエンコードしたのを指して.m3u8という拡張子で保存する 
● コンテナー: MPEG-2 TS 
–世界的に採用されてる地上波/BSデジタル放送の規格、日本も同様 
– ビデオコーデックやオーディオコーデックについてはIETFのDraftには書いてない 
–余談: MatchStick Developer's Guideから未来の展望? 
– AESを使った暗号化の仕組みもある 
● HTTP上で暗号化されたファイルを送信 
小さく分割したメディアファイルを 
プレイリストから順番に再生 
Adobe社の戦略? 
2009年RTMP仕様公開 
2010年FMS4.0 をリリース 
- HDS をサポート 
※ Flash Player 11以上H.264 をサポート(IE6 は10 まで)
すまーとでばいす 
● HTTP Live Streaming 対応状況 by JW Player 
● サポートしているストリーミング方式 
– iPhone/iPad 
● iOS 3.0 (iPhone OS) から HLS をサポート 
● 但し、m3uフォーマットの拡張タグなどでバージョン間の違いはある 
– Example Playlist Files for use with HTTP Live Streaming 
– Android 
● 2.3 Gingerbread 
– WebM フォーマットをサポート 
● 3.0 Honeycomb 
プレイリストを書いたりして何でもできる 
– HLS をサポート (MPEG4/H.264) 
– Windows Phone/Tablet 
● Windows8 
プレイリストの中に 
– Smooth Streamingをサポート (MPEG4/H.264)
ぱそこんぶらうざ 
● http://caniuse.com/ 
● ブラウザが<video> タグでサポートしているフォーマット 
IE8 IE9+ Chrome Firefox Safari Opera 
MPEG4 
/H.264 ☓ ○ ○ ○ ○ ☓ 
WebM ☓ ☓ ○ ○ ☓ ○ 
Ogg ☓ ☓ ○ ○ ☓ ○ 
・IE8はFlash player または Silverlight を使う以外にストリーミングする方法はない 
・IE9+でWebMプラグインをインストールすればWebM フォーマットが再生可能 
・Safariのみ、HLS をブラウザがサポートしている
すまーとでばいすとぱそこんぶらうざ 
● http://caniuse.com/ 
● スマートデバイスとパソコンを一緒くたにしてみた 
IE8 
(PC) 
IE9+ 
(PC) 
Chrome 
(PC) 
Firefox 
(PC) 
Safari 
(PC) 
Opera 
(PC) iOS Android 
2.3 
Android 
4.0+ 
Windows 
8+ 
MPEG4 
/H.264 ☓ ○ ○ ○ ○ ☓ ○ ☓ ○ ○ 
WebM ☓ ☓ ○ ○ ☓ ○ ☓ ○ ○ ☓ 
Ogg ☓ ☓ ○ ○ ☓ ○ ☓ ☓ ☓ ☓ 
HLS ☓ ☓ ☓ ☓ ○ ☓ ○ ☓ ○ ☓ 
要件に応じて最適なフォーマット/方式を選択しないといけない 
・IE8は<video> タグをサポートしない 
・SafariはWebM(VP8) をサポートしない
ぶらうざのもんだい 
● HLSのMPEG-2 TS コンテナーにビデオコーデックの指定 
はない 
– iOS (Safari)がVP8 (WebM) をサポートしない 
– 事実上、HLSのビデオコーデックはH.264のみ 
● IE8 (サポートは2016年1月まで)が<video> タグをサ 
ポートしない 
– ストリーミングするにはFlash Player またはSilverlight 
を使うしかない
めでぃあぷれいやー 
● Video.js 
– html5とswfプレイヤーを備えたマルチブラウザ/マルチデバイス対応 
● PC向け: IE8+ 、Firefox 、Chrome 
● スマートデバイス: iOS 、Android 、Windows Tablet/SmartPhone 
– ライセンス: Apache License 2.0 
– プラガブルなアーキテクチャ 
● hls/mediasourceプラグインでHLSに対応 
– flashhlsプレイヤーの1つ (要flash) 
● MPEG-DASHの開発も最近始まった 
– videojs-osmf 
– DASH Everywhere-ish 
– 実績 
● Google Media Frameworkのプレイヤーに採用 
● twitpicやairbnbなどでも採用されているらしい
なぜふらっしゅなのか 
● PC向けブラウザは多くがHLSをサポートしていない 
● (2014-11時点で) HLSをサポートするのはSafariのみ 
– 再生する(H.264デコード)には特許問題の不透明感 
– ブラウザベンダーの思惑? 
● WindowsはSmooth Streamingあるし 
● Chrome/FirefoxはWebMを推進しているし 
● そうだ! Flash Playerを使おう 
– マルチプラットフォーム/ブラウザで動作し、 
H.264デコードの特許問題にも抵触しない唯一のソリューション 
● IE8が<video>タグに対応していない問題も解決? 
MPEG-DASHの普及まで
びでおじぇーえすのあーきてくちゃ 
● video.js 
– プレイヤー本体、ブラウザの<video>タグを使う 
● video-js-swf 
– Flash Playerを使うswfプレイヤーの実装 
– RTMP/HTTPの両方をサポート 
● videojs-contrib-hls 
– HLSをサポートするプラグイン 
● クライアント駆動のビットレートスイッチをサポート 
● 但し、IEのサポートは10+ (要Typed Arrays, Cross-Origin Resource Sharing) 
– プレイリストのパースやh264ストリームを扱う機能を提供 
● videojs-contrib-media-source 
– Media Source Extensionsを扱うためのプラグイン 
● video要素のデータを直接的に扱う 
● ソースから読み込んだデータをbase64でエンコードして直接swfへバッファとしてinvokeする 
– まだまだ荒削りな実装にみえる (- -# 
このバッファリングがピーキー、特にIE10
ぼくのかんがえたさいきょうの 
● ストリーミングサーバー 
– Webサーバーをスケールアウトする形態でHLSを提供 
● 将来的にはMPEG-DASHへ移行 
– RTMPストリーミングは以下の要件がない限り使わない 
(いまの時点では) 
HLS を中心に据え、 
対応できないケースを 
限定的に対応 
● 端末にキャッシュを残せない 
● IE6がサポート対象である (Flash Player 10はHTTPストリーミングを未サポート) 
– IE8サポートが不要ならWebMを提供するのも1つの方法 
● IE、SafariはWebMプラグインのインストールが必要 
● ブラウザ/各種デバイス 
– flashhlsでPC/スマートデバイス全てHLSでストリーミング再生 
● MPEG-DASHでWindows Tablet/SmartPhoneも 
– HLSに対応できないブラウザ (IE8やIE9など)はどうする? 
Flash Playerは必須 
● MPEG4/H.264をFlash Playerで再生 (なくなるのは時間の問題) 
● 要件/構成によってはWebMで代用することも
だっしゅ 
● dashif.org 
– Dynamic Adaptive Streaming over HTTP, aka MPEG-DASH 
– Adobe HDSとMicrosoft Smooth Streamingはこれに移行 
– ベンダーロックインではないAdaptive bitrate streaming ⇔ HLS 
– DRM (デジタル著作権管理)も扱える 
● 標準化 
– 2012-03: 1st Edition of MPEG-DASH, ISO/IEC 23009-1:2012 
– 2014-05: 2nd Edition of MEPG-DASH, ISO/IEC 23009-1:2014 
● HTML5 Media Source Extensionsからも使えるらしい 
● コンテナー: MP4, WebM, MPEG-2 TSなど 
● ISO base media file format (MP4も含む) 
● Matroska/WebM in MPEG DASH 
● OS/ブラウザベンダーの動向 
標準化はされているから 
これからの普及待ち 
– Apple: Safari8+(Yosemite), Adobe Primetime Support for MPEG-DASH 
iOSは? 
– Google: Android 4.4から対応、Chrome23+ 
– Mozilla: Firefox31+(Partial support), DASH Adaptive Streaming for HTML 5 Video (バグ修正中?) 
– Microsoft: IE11+, Building a simple MPEG-DASH streaming player 
– Opera: 20以降 (Only WebM?)
まとめ 
● ストリーミングプロトコルはHTTP一択へ 
– Adaptive bitrate streamingはいまのところ2つに集約化 
● HTTP Live Streaming 
● MPEG-DASH (将来的にはこっち?) 
HLSの展望はApple次第 
● H.264の特許問題はこれらを使うことで一応は回避可能 
– OpenH264やFlash Playerなどエンコード/デコード対応 
– 但し、アプリの作り込みが必要 
● MPEG-DASHでWebMが普及? 
– HLSのコンテナー: MPEG-2 TS 
OS/ ブラウザベンダーの対応次第 
● ビデオコーデック: 仕様にはないけど、事実上はH.264 
– MPEG-DASHのコンテナー: MP4, WebM, MPEG-2 TSなど 
– WebRTCのコーデック: H.264 or VP8(VP9) ?
1 of 22

Recommended

AWSのログ管理ベストプラクティス by
AWSのログ管理ベストプラクティスAWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAkihiro Kuwano
77.3K views57 slides
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern by
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design PatternAWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design PatternAmazon Web Services Japan
58.2K views73 slides
Redisの特徴と活用方法について by
Redisの特徴と活用方法についてRedisの特徴と活用方法について
Redisの特徴と活用方法についてYuji Otani
101.6K views65 slides
20191112 AWS Black Belt Online Seminar AWS Media Services で始めるライブ動画配信 by
20191112 AWS Black Belt Online Seminar AWS Media Services で始めるライブ動画配信20191112 AWS Black Belt Online Seminar AWS Media Services で始めるライブ動画配信
20191112 AWS Black Belt Online Seminar AWS Media Services で始めるライブ動画配信Amazon Web Services Japan
6.8K views93 slides
AWS Amplify 入門 by
AWS Amplify 入門AWS Amplify 入門
AWS Amplify 入門Hideaki Aoyagi
2K views24 slides
BuildKitによる高速でセキュアなイメージビルド by
BuildKitによる高速でセキュアなイメージビルドBuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドAkihiro Suda
42.6K views27 slides

More Related Content

What's hot

本当は恐ろしい分散システムの話 by
本当は恐ろしい分散システムの話本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話Kumazaki Hiroki
686.3K views70 slides
20200331 AWS Black Belt Online Seminar AWS Elemental MediaConvert by
20200331 AWS Black Belt Online Seminar AWS Elemental MediaConvert20200331 AWS Black Belt Online Seminar AWS Elemental MediaConvert
20200331 AWS Black Belt Online Seminar AWS Elemental MediaConvertAmazon Web Services Japan
4.7K views72 slides
Boto3からの解放。python3の標準ライブラリのみでawsサービスを取り扱うには by
Boto3からの解放。python3の標準ライブラリのみでawsサービスを取り扱うにはBoto3からの解放。python3の標準ライブラリのみでawsサービスを取り扱うには
Boto3からの解放。python3の標準ライブラリのみでawsサービスを取り扱うにはKoitabashi Yoshitaka
423 views37 slides
20200930 AWS Black Belt Online Seminar Amazon Kinesis Video Streams by
20200930 AWS Black Belt Online Seminar Amazon Kinesis Video Streams20200930 AWS Black Belt Online Seminar Amazon Kinesis Video Streams
20200930 AWS Black Belt Online Seminar Amazon Kinesis Video StreamsAmazon Web Services Japan
5.4K views93 slides
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM) by
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)Amazon Web Services Japan
7K views62 slides
WebSocketのキホン by
WebSocketのキホンWebSocketのキホン
WebSocketのキホンYou_Kinjoh
24.1K views63 slides

What's hot(20)

本当は恐ろしい分散システムの話 by Kumazaki Hiroki
本当は恐ろしい分散システムの話本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
Kumazaki Hiroki686.3K views
Boto3からの解放。python3の標準ライブラリのみでawsサービスを取り扱うには by Koitabashi Yoshitaka
Boto3からの解放。python3の標準ライブラリのみでawsサービスを取り扱うにはBoto3からの解放。python3の標準ライブラリのみでawsサービスを取り扱うには
Boto3からの解放。python3の標準ライブラリのみでawsサービスを取り扱うには
WebSocketのキホン by You_Kinjoh
WebSocketのキホンWebSocketのキホン
WebSocketのキホン
You_Kinjoh24.1K views
20200219 AWS Black Belt Online Seminar オンプレミスとAWS間の冗長化接続 by Amazon Web Services Japan
20200219 AWS Black Belt Online Seminar オンプレミスとAWS間の冗長化接続20200219 AWS Black Belt Online Seminar オンプレミスとAWS間の冗長化接続
20200219 AWS Black Belt Online Seminar オンプレミスとAWS間の冗長化接続
Azure Cosmos DB のキホンと使いドコロ by Kazuyuki Miyake
Azure Cosmos DB のキホンと使いドコロAzure Cosmos DB のキホンと使いドコロ
Azure Cosmos DB のキホンと使いドコロ
Kazuyuki Miyake11.2K views
ライブストリーミングの基礎知識 by kumaryu
ライブストリーミングの基礎知識ライブストリーミングの基礎知識
ライブストリーミングの基礎知識
kumaryu47.4K views
Amazon SageMaker 推論エンドポイントを利用したアプリケーション開発 by Amazon Web Services Japan
Amazon SageMaker 推論エンドポイントを利用したアプリケーション開発Amazon SageMaker 推論エンドポイントを利用したアプリケーション開発
Amazon SageMaker 推論エンドポイントを利用したアプリケーション開発
はじめてのDynamoDBスキーマ設計 by Yoichi Toyota
はじめてのDynamoDBスキーマ設計はじめてのDynamoDBスキーマ設計
はじめてのDynamoDBスキーマ設計
Yoichi Toyota504 views
人生がときめくAPIテスト自動化 with Karate by Takanori Suzuki
人生がときめくAPIテスト自動化 with Karate人生がときめくAPIテスト自動化 with Karate
人生がときめくAPIテスト自動化 with Karate
Takanori Suzuki9.3K views
マイクロにしすぎた結果がこれだよ! by mosa siru
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
mosa siru132.7K views
グラフデータベース入門 by Masaya Dake
グラフデータベース入門グラフデータベース入門
グラフデータベース入門
Masaya Dake20.8K views
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス by Amazon Web Services Japan
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス

Similar to ストリーミングのげんざい

HTML5 VIDEO on Chromecast by
HTML5 VIDEO on ChromecastHTML5 VIDEO on Chromecast
HTML5 VIDEO on ChromecastKatsumi Onishi
7.7K views33 slides
Windows Azure Media Serviceで作成する割と普通な動画サイト by
Windows Azure Media Serviceで作成する割と普通な動画サイトWindows Azure Media Serviceで作成する割と普通な動画サイト
Windows Azure Media Serviceで作成する割と普通な動画サイトnormalian
7.6K views35 slides
インターネットにおける動画配信の仕組み by
インターネットにおける動画配信の仕組みインターネットにおける動画配信の仕組み
インターネットにおける動画配信の仕組みRyosuke Kubo
12.9K views30 slides
Adobe HTTP Dynamic Streaming LT by
Adobe HTTP Dynamic Streaming LTAdobe HTTP Dynamic Streaming LT
Adobe HTTP Dynamic Streaming LTYutaka Hoshino
1.7K views23 slides
より高品質なメディアサービスを目指す ABEMA の技術進化 by
より高品質なメディアサービスを目指す ABEMA の技術進化より高品質なメディアサービスを目指す ABEMA の技術進化
より高品質なメディアサービスを目指す ABEMA の技術進化Yusuke Goto
1.9K views164 slides
Perl で作るメディアストリーミングサーバー by
Perl で作るメディアストリーミングサーバーPerl で作るメディアストリーミングサーバー
Perl で作るメディアストリーミングサーバーHideo Kimura
18.4K views35 slides

Similar to ストリーミングのげんざい(20)

HTML5 VIDEO on Chromecast by Katsumi Onishi
HTML5 VIDEO on ChromecastHTML5 VIDEO on Chromecast
HTML5 VIDEO on Chromecast
Katsumi Onishi7.7K views
Windows Azure Media Serviceで作成する割と普通な動画サイト by normalian
Windows Azure Media Serviceで作成する割と普通な動画サイトWindows Azure Media Serviceで作成する割と普通な動画サイト
Windows Azure Media Serviceで作成する割と普通な動画サイト
normalian7.6K views
インターネットにおける動画配信の仕組み by Ryosuke Kubo
インターネットにおける動画配信の仕組みインターネットにおける動画配信の仕組み
インターネットにおける動画配信の仕組み
Ryosuke Kubo12.9K views
Adobe HTTP Dynamic Streaming LT by Yutaka Hoshino
Adobe HTTP Dynamic Streaming LTAdobe HTTP Dynamic Streaming LT
Adobe HTTP Dynamic Streaming LT
Yutaka Hoshino1.7K views
より高品質なメディアサービスを目指す ABEMA の技術進化 by Yusuke Goto
より高品質なメディアサービスを目指す ABEMA の技術進化より高品質なメディアサービスを目指す ABEMA の技術進化
より高品質なメディアサービスを目指す ABEMA の技術進化
Yusuke Goto1.9K views
Perl で作るメディアストリーミングサーバー by Hideo Kimura
Perl で作るメディアストリーミングサーバーPerl で作るメディアストリーミングサーバー
Perl で作るメディアストリーミングサーバー
Hideo Kimura18.4K views
第1回 html5j TV部 勉強会 MPEG-DASH向けの動画配信。 by Daiyu Hatakeyama
第1回 html5j TV部 勉強会 MPEG-DASH向けの動画配信。第1回 html5j TV部 勉強会 MPEG-DASH向けの動画配信。
第1回 html5j TV部 勉強会 MPEG-DASH向けの動画配信。
Daiyu Hatakeyama15.5K views
HTML5 + JavaScriptでDRMつきMPEG-DASHを再生させる by Gaprot
HTML5 + JavaScriptでDRMつきMPEG-DASHを再生させるHTML5 + JavaScriptでDRMつきMPEG-DASHを再生させる
HTML5 + JavaScriptでDRMつきMPEG-DASHを再生させる
Gaprot24.5K views
HTML5ビデオ導入編 by Yuki Naotori
HTML5ビデオ導入編HTML5ビデオ導入編
HTML5ビデオ導入編
Yuki Naotori5.4K views
<初級> Windows Azure Media Services を活用したマルチデバイスへの動画配信 - Community OpenDay 2013 by 満徳 関
<初級> Windows Azure Media Services を活用したマルチデバイスへの動画配信 - Community OpenDay 2013<初級> Windows Azure Media Services を活用したマルチデバイスへの動画配信 - Community OpenDay 2013
<初級> Windows Azure Media Services を活用したマルチデバイスへの動画配信 - Community OpenDay 2013
満徳 関4.4K views
クラウドサービスを使って作る動画サイト? by Daichi Isami
クラウドサービスを使って作る動画サイト?クラウドサービスを使って作る動画サイト?
クラウドサービスを使って作る動画サイト?
Daichi Isami4.8K views
WebRTC SFU mediasoup sample by mganeko
WebRTC SFU mediasoup sampleWebRTC SFU mediasoup sample
WebRTC SFU mediasoup sample
mganeko5.1K views
ライブストリーミングの基礎知識その2 by kumaryu
ライブストリーミングの基礎知識その2ライブストリーミングの基礎知識その2
ライブストリーミングの基礎知識その2
kumaryu22.2K views
Azure vs aws比較 エンコード ace用 by 裕之 木下
Azure vs aws比較 エンコード ace用Azure vs aws比較 エンコード ace用
Azure vs aws比較 エンコード ace用
裕之 木下683 views
DEV-019_Programmable Video ~Azure Media Services でのビデオ サービス開発~ by decode2016
DEV-019_Programmable Video ~Azure Media Services でのビデオ サービス開発~DEV-019_Programmable Video ~Azure Media Services でのビデオ サービス開発~
DEV-019_Programmable Video ~Azure Media Services でのビデオ サービス開発~
decode2016256 views
IT エンジニアのための 流し読み Windows 10 - Windows のネットワーク最適化機能 by TAKUYA OHTA
IT エンジニアのための 流し読み Windows 10 - Windows のネットワーク最適化機能IT エンジニアのための 流し読み Windows 10 - Windows のネットワーク最適化機能
IT エンジニアのための 流し読み Windows 10 - Windows のネットワーク最適化機能
TAKUYA OHTA5.1K views
ABEMA を次のフェーズへ進化させる技術への取り組み by Yusuke Goto
ABEMA を次のフェーズへ進化させる技術への取り組みABEMA を次のフェーズへ進化させる技術への取り組み
ABEMA を次のフェーズへ進化させる技術への取り組み
Yusuke Goto1.2K views

More from Tetsuya Morimoto

ビジネスパーソン x プログラミング by
ビジネスパーソン x プログラミングビジネスパーソン x プログラミング
ビジネスパーソン x プログラミングTetsuya Morimoto
499 views22 slides
チケット駆動開発のススメ by
チケット駆動開発のススメチケット駆動開発のススメ
チケット駆動開発のススメTetsuya Morimoto
525 views23 slides
Pythonと型チェッカー by
Pythonと型チェッカーPythonと型チェッカー
Pythonと型チェッカーTetsuya Morimoto
12.4K views72 slides
PyLadies Tokyo 二周年記念パーティ LT by
PyLadies Tokyo 二周年記念パーティ LTPyLadies Tokyo 二周年記念パーティ LT
PyLadies Tokyo 二周年記念パーティ LTTetsuya Morimoto
1K views7 slides
PyCon JP 2016 ビギナーセッション by
PyCon JP 2016 ビギナーセッションPyCon JP 2016 ビギナーセッション
PyCon JP 2016 ビギナーセッションTetsuya Morimoto
1.4K views6 slides
Python と型ヒント (Type Hints) by
Python と型ヒント (Type Hints)Python と型ヒント (Type Hints)
Python と型ヒント (Type Hints)Tetsuya Morimoto
38.1K views39 slides

More from Tetsuya Morimoto(17)

ビジネスパーソン x プログラミング by Tetsuya Morimoto
ビジネスパーソン x プログラミングビジネスパーソン x プログラミング
ビジネスパーソン x プログラミング
Tetsuya Morimoto499 views
チケット駆動開発のススメ by Tetsuya Morimoto
チケット駆動開発のススメチケット駆動開発のススメ
チケット駆動開発のススメ
Tetsuya Morimoto525 views
PyLadies Tokyo 二周年記念パーティ LT by Tetsuya Morimoto
PyLadies Tokyo 二周年記念パーティ LTPyLadies Tokyo 二周年記念パーティ LT
PyLadies Tokyo 二周年記念パーティ LT
Tetsuya Morimoto1K views
PyCon JP 2016 ビギナーセッション by Tetsuya Morimoto
PyCon JP 2016 ビギナーセッションPyCon JP 2016 ビギナーセッション
PyCon JP 2016 ビギナーセッション
Tetsuya Morimoto1.4K views
Python と型ヒント (Type Hints) by Tetsuya Morimoto
Python と型ヒント (Type Hints)Python と型ヒント (Type Hints)
Python と型ヒント (Type Hints)
Tetsuya Morimoto38.1K views
Python3 プログラミング勉強会 by Tetsuya Morimoto
Python3 プログラミング勉強会Python3 プログラミング勉強会
Python3 プログラミング勉強会
Tetsuya Morimoto13.2K views
Ikazuchi introduction for Europython 2011 LT by Tetsuya Morimoto
Ikazuchi introduction for Europython 2011 LTIkazuchi introduction for Europython 2011 LT
Ikazuchi introduction for Europython 2011 LT
Tetsuya Morimoto687 views
Python界隈の翻訳プロジェクト by Tetsuya Morimoto
Python界隈の翻訳プロジェクトPython界隈の翻訳プロジェクト
Python界隈の翻訳プロジェクト
Tetsuya Morimoto3.5K views

Recently uploaded

パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可 by
パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可
パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可Hitachi, Ltd. OSS Solution Center.
10 views22 slides
光コラボは契約してはいけない by
光コラボは契約してはいけない光コラボは契約してはいけない
光コラボは契約してはいけないTakuya Matsunaga
28 views17 slides
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」 by
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」PC Cluster Consortium
28 views36 slides
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向 by
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向Hitachi, Ltd. OSS Solution Center.
109 views26 slides
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」 by
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」PC Cluster Consortium
66 views12 slides

Recently uploaded(7)

光コラボは契約してはいけない by Takuya Matsunaga
光コラボは契約してはいけない光コラボは契約してはいけない
光コラボは契約してはいけない
Takuya Matsunaga28 views
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」 by PC Cluster Consortium
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」 by PC Cluster Consortium
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」

ストリーミングのげんざい

  • 1. ストリーミングのげんざい “No man ever steps in the same river twice” ~ Heraclitus 2014-11-11 Tetsuya Morimoto
  • 2. がいよう ● 技術背景 – ビデオコーデックと特許料 – Adaptive bitrate streaming ● HTTP ストリーミングの進化 ● まとめ Streaming media RTMP HTTP Progressive download Adaptive bitrate streaming HTTP Live Streaming HTTP Dynamic Streaming Smooth Streaming MPEG-DASH
  • 4. こーでっく ● 動画ファイルには様々なフォーマットがある – mp4, flv, webm, mov, wmv, 3gp, ... ● 動画ファイルを利用する場合、 – 提供する側があるフォーマットでエンコードして、 – 再生する側があるフォーマットでデコードする ことで内容を見聞きできる ● 何のためにエンコードするか? – 圧縮してサイズを小さくするため ● エンコード ⇔ デコードが双方向にできる装置や ソフトウェアまたはアルゴリズムのことをコーデックと呼ぶ
  • 5. えいちにーろくよん ● 広範囲に利用されているビデオコーデックの規格 – いろんなベンダーが参加して作ったため、多数の特許権が含まれている ● パテントプールであるMPEG LAに特許料を支払わないといけない – エンドユーザーが無料で視聴できるインターネットビデオのみ免除 (YouTubeのようなサービス) ● コーデック変換が発生する箇所で特許料の支払い義務が生じる – ストリーミング/トランスコードサーバー、ブラウザ、メディアプレイヤー – 一般的にH.264を扱うプロダクトを販売/購入する場合、 その販売/購入代金にその特許料も含まれる ● その販売企業がMPEG LAに特許料を支払う – H.264の特許料はキャップ制で、上限額を支払えば不特定多数へ提供できる ● Adobe Flash Player ● Cisco OpenH264
  • 6. えいちにーろくよんのとっきょりょう ● MPEG LA の AVC/H.264 情報 – AVC Patent Portfolio License Briefing ● ライセンスの要約をまとめた資料 ● Manufacture and Saleの価格帯も書いてある ● あくまで2008年時点での参考情報 – いまのライセンスとは違うかもしれない ● 特許料は年間キャップ制 – この資料では$6.5 million per year 2011-2015 – H.264 をプロダクトで商用利用するには MPEG LA とライセンスを締結しないといけない
  • 7. おーぷんえいちにーろくよん ● CiscoのOpenH264プロジェクトとは? – Cisco曰く、WebRTCを促進する目的らしい – CiscoがMPEG LAへ特許料を支払っているため、 Ciscoがビルドしたバイナリを使ってライセンス条項に従えば、特許料の支払いは免除される – オープンソースとしてgithubでホスティング: openh264 ● RELEASEファイルにライブラリのダウンロード先がある – 2014-05-23 1.0.0 リリース – 2014-07-09 1.1.0 リリース – 2014-10-28 1.2.0 リリース ● ライセンスについて – サーバーでの商用利用: License question on server-side for commercial use – クライアントでの商用利用: License question. – 2014-10-14 シスコの OpenH264 が Firefox の一部に ● EricssonはOpenH264を利用するWebRTC実装をオープンソース化 ● Mozilla – 2014-10-14 OpenH264 Now in Firefox ● Firefox33からOpenH264を組み込み
  • 8. うぇぶえむ ● GoogleのWebMプロジェクトとは? – 2010年からGoogleが開発 – open-source, royalty-free, Webに特化したフォーマット – コンテナー: webm (Matroskaのサブセット) ● ビデオコーデック: VP8→VP9 ● オーディオコーデック: Vorbis ビデオとオーディオの圧縮技術はそれぞれ違うため それらを1つにまとめることを「多重化」すると言う また、このまとめたものをコンテナーと呼ぶ – 姉妹プロジェクトとして画像フォーマット: webp – YouTubeにアップロードされた動画はwebmでエンコードされる ● 普及を妨げる要因? – MPEG LAがH.264をインターネットの無料動画に限り無料に変更 – VP8がMPEG LAの管理する特許に抵触の可能性 ● 2013-03-07: Google and MPEG LA make a deal over VP8 codec – IE 、Safariで未サポート (別途プラグインが必要)
  • 10. はやり ● Streaming方式 (リアル・ストリーミング) – RTMPによるストリーミング – キャッシュが端末に残らない (CDNには残るかも?) – 専用サーバー/クライアントが必要 – (相対的に)帯域制御やサービス品質の保証が容易 ● Progressive download方式 (擬似ストリーミング) – HTTPによるストリーミング(ダウンロード) – 端末や途中経路にキャッシュとしてファイルが残る – Webサーバーから配信、ブラウザ(html5対応)で再生できる ● Webアプリのノウハウでスケールアウトが容易 ● Adaptive bitrate streaming方式 – HTTPストリーミングの進化系 – デバイスや帯域に適したストリーミングを提供 HTTP ストリーミング HTTP ストリーミング あらかじめそれぞれのデバイス、 ビットレートにトランスコードした メディアファイルを用意する 1つのメディアファイルを リアルタイムエンコードする
  • 11. さいきん ● Adobe – 2009年RTMPの仕様を公開する ● CDNサービスが可能となり、Flash技術がエンタープライズ分野でも利用される – 2010年HTTP Dynamic Streaming (HDS)を提供 (FMS 4.0) – 2011年HLSをサポート (Flash Player 11+) ● Apple – 2009年HTTP Live Streaming (HLS)を提供 ● 対応ビデオコーデックはH.264のみ ● Google – 2010年WebMプロジェクトを開始 ● royalty-freeなオープンなストリーミングの世界 – 2011年Android 3.0 HoneycombでHLSをサポート (スマートフォン4.0) ● Microsoft – 2010年Smooth Streamingを提供 (IIS Media Service 4.0) Red5: FMSのOSS実装 2005年プロジェクトを開始 2009年に0.8.0 をリリース 2012年に1.0 をリリース Wowza: FMSの競合プロダクト 2007年1.0 をリリース 2009年2.0 をリリース(HTTP ストリーミング開始) Adaptive bitrate streaming 2010年ぐらいから始まった html5 2008年First Public Working Draft 2011年Last Call Mozilla (Firefox) 2010 WebM サポートを支持 2012 スマートデバイスで H.264 サポート開始 2014.10 H.264 サポート (OpenH264)
  • 12. えいちえるえす ● HTTP Live Streaming ドキュメント – Appleが提唱/実装 – IETFで標準化が進められている ● HTTP Live Streaming draft-pantos-http-live-streaming –現時点ではDraft 14 (2014-10-14) – 6ヶ月ごとに更新されるため、標準化が決まるのはまだまだ先になりそう? – プレイリストと小さく分割したセグメントファイルを使う ● プレイリスト: M3Uフォーマット (m3u8) – M3UをUTF-8でエンコードしたのを指して.m3u8という拡張子で保存する ● コンテナー: MPEG-2 TS –世界的に採用されてる地上波/BSデジタル放送の規格、日本も同様 – ビデオコーデックやオーディオコーデックについてはIETFのDraftには書いてない –余談: MatchStick Developer's Guideから未来の展望? – AESを使った暗号化の仕組みもある ● HTTP上で暗号化されたファイルを送信 小さく分割したメディアファイルを プレイリストから順番に再生 Adobe社の戦略? 2009年RTMP仕様公開 2010年FMS4.0 をリリース - HDS をサポート ※ Flash Player 11以上H.264 をサポート(IE6 は10 まで)
  • 13. すまーとでばいす ● HTTP Live Streaming 対応状況 by JW Player ● サポートしているストリーミング方式 – iPhone/iPad ● iOS 3.0 (iPhone OS) から HLS をサポート ● 但し、m3uフォーマットの拡張タグなどでバージョン間の違いはある – Example Playlist Files for use with HTTP Live Streaming – Android ● 2.3 Gingerbread – WebM フォーマットをサポート ● 3.0 Honeycomb プレイリストを書いたりして何でもできる – HLS をサポート (MPEG4/H.264) – Windows Phone/Tablet ● Windows8 プレイリストの中に – Smooth Streamingをサポート (MPEG4/H.264)
  • 14. ぱそこんぶらうざ ● http://caniuse.com/ ● ブラウザが<video> タグでサポートしているフォーマット IE8 IE9+ Chrome Firefox Safari Opera MPEG4 /H.264 ☓ ○ ○ ○ ○ ☓ WebM ☓ ☓ ○ ○ ☓ ○ Ogg ☓ ☓ ○ ○ ☓ ○ ・IE8はFlash player または Silverlight を使う以外にストリーミングする方法はない ・IE9+でWebMプラグインをインストールすればWebM フォーマットが再生可能 ・Safariのみ、HLS をブラウザがサポートしている
  • 15. すまーとでばいすとぱそこんぶらうざ ● http://caniuse.com/ ● スマートデバイスとパソコンを一緒くたにしてみた IE8 (PC) IE9+ (PC) Chrome (PC) Firefox (PC) Safari (PC) Opera (PC) iOS Android 2.3 Android 4.0+ Windows 8+ MPEG4 /H.264 ☓ ○ ○ ○ ○ ☓ ○ ☓ ○ ○ WebM ☓ ☓ ○ ○ ☓ ○ ☓ ○ ○ ☓ Ogg ☓ ☓ ○ ○ ☓ ○ ☓ ☓ ☓ ☓ HLS ☓ ☓ ☓ ☓ ○ ☓ ○ ☓ ○ ☓ 要件に応じて最適なフォーマット/方式を選択しないといけない ・IE8は<video> タグをサポートしない ・SafariはWebM(VP8) をサポートしない
  • 16. ぶらうざのもんだい ● HLSのMPEG-2 TS コンテナーにビデオコーデックの指定 はない – iOS (Safari)がVP8 (WebM) をサポートしない – 事実上、HLSのビデオコーデックはH.264のみ ● IE8 (サポートは2016年1月まで)が<video> タグをサ ポートしない – ストリーミングするにはFlash Player またはSilverlight を使うしかない
  • 17. めでぃあぷれいやー ● Video.js – html5とswfプレイヤーを備えたマルチブラウザ/マルチデバイス対応 ● PC向け: IE8+ 、Firefox 、Chrome ● スマートデバイス: iOS 、Android 、Windows Tablet/SmartPhone – ライセンス: Apache License 2.0 – プラガブルなアーキテクチャ ● hls/mediasourceプラグインでHLSに対応 – flashhlsプレイヤーの1つ (要flash) ● MPEG-DASHの開発も最近始まった – videojs-osmf – DASH Everywhere-ish – 実績 ● Google Media Frameworkのプレイヤーに採用 ● twitpicやairbnbなどでも採用されているらしい
  • 18. なぜふらっしゅなのか ● PC向けブラウザは多くがHLSをサポートしていない ● (2014-11時点で) HLSをサポートするのはSafariのみ – 再生する(H.264デコード)には特許問題の不透明感 – ブラウザベンダーの思惑? ● WindowsはSmooth Streamingあるし ● Chrome/FirefoxはWebMを推進しているし ● そうだ! Flash Playerを使おう – マルチプラットフォーム/ブラウザで動作し、 H.264デコードの特許問題にも抵触しない唯一のソリューション ● IE8が<video>タグに対応していない問題も解決? MPEG-DASHの普及まで
  • 19. びでおじぇーえすのあーきてくちゃ ● video.js – プレイヤー本体、ブラウザの<video>タグを使う ● video-js-swf – Flash Playerを使うswfプレイヤーの実装 – RTMP/HTTPの両方をサポート ● videojs-contrib-hls – HLSをサポートするプラグイン ● クライアント駆動のビットレートスイッチをサポート ● 但し、IEのサポートは10+ (要Typed Arrays, Cross-Origin Resource Sharing) – プレイリストのパースやh264ストリームを扱う機能を提供 ● videojs-contrib-media-source – Media Source Extensionsを扱うためのプラグイン ● video要素のデータを直接的に扱う ● ソースから読み込んだデータをbase64でエンコードして直接swfへバッファとしてinvokeする – まだまだ荒削りな実装にみえる (- -# このバッファリングがピーキー、特にIE10
  • 20. ぼくのかんがえたさいきょうの ● ストリーミングサーバー – Webサーバーをスケールアウトする形態でHLSを提供 ● 将来的にはMPEG-DASHへ移行 – RTMPストリーミングは以下の要件がない限り使わない (いまの時点では) HLS を中心に据え、 対応できないケースを 限定的に対応 ● 端末にキャッシュを残せない ● IE6がサポート対象である (Flash Player 10はHTTPストリーミングを未サポート) – IE8サポートが不要ならWebMを提供するのも1つの方法 ● IE、SafariはWebMプラグインのインストールが必要 ● ブラウザ/各種デバイス – flashhlsでPC/スマートデバイス全てHLSでストリーミング再生 ● MPEG-DASHでWindows Tablet/SmartPhoneも – HLSに対応できないブラウザ (IE8やIE9など)はどうする? Flash Playerは必須 ● MPEG4/H.264をFlash Playerで再生 (なくなるのは時間の問題) ● 要件/構成によってはWebMで代用することも
  • 21. だっしゅ ● dashif.org – Dynamic Adaptive Streaming over HTTP, aka MPEG-DASH – Adobe HDSとMicrosoft Smooth Streamingはこれに移行 – ベンダーロックインではないAdaptive bitrate streaming ⇔ HLS – DRM (デジタル著作権管理)も扱える ● 標準化 – 2012-03: 1st Edition of MPEG-DASH, ISO/IEC 23009-1:2012 – 2014-05: 2nd Edition of MEPG-DASH, ISO/IEC 23009-1:2014 ● HTML5 Media Source Extensionsからも使えるらしい ● コンテナー: MP4, WebM, MPEG-2 TSなど ● ISO base media file format (MP4も含む) ● Matroska/WebM in MPEG DASH ● OS/ブラウザベンダーの動向 標準化はされているから これからの普及待ち – Apple: Safari8+(Yosemite), Adobe Primetime Support for MPEG-DASH iOSは? – Google: Android 4.4から対応、Chrome23+ – Mozilla: Firefox31+(Partial support), DASH Adaptive Streaming for HTML 5 Video (バグ修正中?) – Microsoft: IE11+, Building a simple MPEG-DASH streaming player – Opera: 20以降 (Only WebM?)
  • 22. まとめ ● ストリーミングプロトコルはHTTP一択へ – Adaptive bitrate streamingはいまのところ2つに集約化 ● HTTP Live Streaming ● MPEG-DASH (将来的にはこっち?) HLSの展望はApple次第 ● H.264の特許問題はこれらを使うことで一応は回避可能 – OpenH264やFlash Playerなどエンコード/デコード対応 – 但し、アプリの作り込みが必要 ● MPEG-DASHでWebMが普及? – HLSのコンテナー: MPEG-2 TS OS/ ブラウザベンダーの対応次第 ● ビデオコーデック: 仕様にはないけど、事実上はH.264 – MPEG-DASHのコンテナー: MP4, WebM, MPEG-2 TSなど – WebRTCのコーデック: H.264 or VP8(VP9) ?