Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
動画配信技術について
Shumpei Urabe
May 08, 2022
Technology
0
270
動画配信技術について
NAXA, Inc. 社内勉強会資料
https://www.naxa.co.jp
Shumpei Urabe
May 08, 2022
Tweet
Share
More Decks by Shumpei Urabe
See All by Shumpei Urabe
Multimedia Security Topics
yaminoma
0
560
コロナ禍での ライブストリーミングの変化と テレビ放送の規格について
yaminoma
0
430
今日から分かる Android Audioの全て
yaminoma
0
150
Apple Low-Latency HLSを使った 超低遅延配信について
yaminoma
3
1.9k
今日から分かる AVAudioEngineの全て
yaminoma
3
3.2k
Cross Platform Video Player
yaminoma
0
190
PHPとRustを組み合わせて音声ファイルをエンコードする話
yaminoma
0
1.6k
Androidで スクリーン配信をする技術
yaminoma
0
200
字幕のはなし
yaminoma
4
1.1k
Other Decks in Technology
See All in Technology
モブに早く慣れたい人のためのガイド / A Guide to Getting Started Quickly with Mob Programming
cybozuinsideout
PRO
2
1.9k
拡散確率モデルと音声波形生成
yumakoizumi
0
500
Google Cloud Updates 2022/05/16-05/31
no24oka
2
110
FastConnect 冗長性のベスト・プラクティス
ocise
0
140
俺の Laravel がこんなに速いわけがない! / My Laravel Too Fast
hanhan1978
0
120
GeoLocationAnchor and MKTileOverlay
toyship
0
110
Security Hub のマルチアカウント 管理・運用をサーバレスでやってみる
ch6noota
0
950
雑な攻撃からELBを守る一工夫 +おまけ / Know-how to protect servers from miscellaneous attacks
hiroga
0
740
Meet passkeys
satotakeshi
1
130
DeepL の用語集が(いつのまにか)日本語に対応してたので試してみた
irokawah0
0
180
インフラのCI/CDはGitHub Actionsに任せた
mihyon
0
120
XRとシビックテック
satoshirobatofujimoto
0
110
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
499
110k
Build The Right Thing And Hit Your Dates
maggiecrowley
19
1.2k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
105
16k
Building a Scalable Design System with Sketch
lauravandoore
448
30k
JazzCon 2018 Closing Keynote - Leadership for the Reluctant Leader
reverentgeek
172
8.5k
The Brand Is Dead. Long Live the Brand.
mthomps
46
2.7k
Scaling GitHub
holman
451
140k
GraphQLの誤解/rethinking-graphql
sonatard
28
6.6k
Navigating Team Friction
lara
175
11k
Done Done
chrislema
174
14k
Practical Orchestrator
shlominoach
178
8.6k
Building Applications with DynamoDB
mza
83
4.7k
Transcript
動画配信技術について NAXA, Inc. All Rights Reserved
・動画・ライブ配信の形態 ・配信プロトコルについて ・プロトコルのメディア対応について ・AWSにおけるライブ配信について ・著作権保護について 本日の内容 2
・動画・ライブ配信の形態 ・配信プロトコルについて ・プロトコルのメディア対応について ・AWSにおけるライブ配信について ・著作権保護について 本日の内容 3
4 近年の動画・ライブ配信プラットフォーム
5 一般的なライブ配信の流れ 映像ソース 音声ソース エンコード エンコード H.264,MPEG-2... AAC,MP3... コンテナ MP4,AVI...
Mux RTMP HLS,DASH... 視聴者 配信システム 配信ソフトウェア (OBSなど)
6 音声コーデック MP3 ・非可逆圧縮 ・音楽ファイルで最も利用されている AAC ・非可逆圧縮 ・MP3に比べ圧縮効率が良い ・H.264とセットでよく利用されている FLAC
・可逆圧縮 ・音質が良い
7 動画コーデック MPEG-2 ・DVDや地上デジタル放送で利用 H.264(AVC) ・現在主流のコーデック ・MPEG-2の2倍の圧縮効率 ・4Kサポート H.265(HEVC) ・H.264の2倍の圧縮効率
・8Kサポート AV1 ・ロイヤリティーフリー ・H.265の2倍の圧縮効率 ・今後の主流になる可能性大 VP9 ・Google開発 ・YouTubeで採用
8 コンテナ AVI ・昔から使用されている形式で有名 ・ストリーミング配信には不向き MP4 ・最近主流の形式 ・H.264で多く利用 MPEG2-PS ・DVDで採用
MPEG2-TS ・地上デジタル放送やBlu-rayで利用 ・ファイルを分割 FLV ・フラッシュビデオ ・Flash Playerで再生可能 MPEG-2システム
・動画・ライブ配信の形態 ・配信プロトコルについて ・プロトコルのメディア対応について ・AWSにおけるライブ配信について ・著作権保護について 本日の内容 9
10 配信プロトコル HLS(HTTP Live Streaming) ・Apple開発 ・H.264,AAC,MPEG-2 TS ・Adaptive Bitrate(ABR)対応
・HTTPベース(CDNが使える) ・遅延がある RTMP(Real Time Messaging Protocol) ・Adobe開発 ・Flash Playerでの再生 ・TCPベース ・現在もインジェストにおいては主流 ・今後の代替としてはWebRTCやSRT DASH(Dynamic Adaptive Streaming over HTTP) ・ISO標準規格 ・コーデック・コンテナの依存がない ・Adaptive Bitrate(ABR)対応 ・HTTPベース ・遅延がある CMAF(Common Media Application Format) ・ISO標準規格 ・AppleとMicrosoft共通規格 ・HLSやDASHに比べ低遅延 ・HTTPベース
11 HLSやDASHについて 動画コンテンツ(SD) .ts .ts .ts .ts プレイリスト 分割 HLS
: .m3u8 DASH : .mpd 1 2 3 4 動画コンテンツ(HD) .ts .ts .ts .ts プレイリスト 分割 1 2 3 マスタプレイリスト 4
12 HLSやDASHについて マスタプレイリスト プレイリスト #EXT-X-TARGETDURATION:7 →tsファイルの最大秒数 #EXT-X-MEDIA-SEQUENCE:1 →最初のtsファイルが全体で何番目か #EXTINF:6.006 →tsファイルの秒数
13 WebRTC(Web Real-Time Communication) ・P2Pでブラウザ間での通信が可能 ・遅延が小さい ・大規模配信には不向き(大規模配信の場合はSFUを利用) 配信側 視聴側 配信側
SFU 視聴側 WebRTC SFU (Selective Forwarding Unit ) WebRTC
14 WebRTCによるライブ配信 WebRTC 視聴側 WebRTC サーバ HLS変換 サーバ 配信 サーバ
WebRTC to HLS 配信側 HLS
・動画・ライブ配信の形態 ・配信プロトコルについて ・プロトコルのメディア対応について ・AWSにおけるライブ配信について ・著作権保護について 本日の内容 15
16 HLSとDASHのメディア対応 Chrome macOS Safari IE iOS Android HLS ―
◯ ― ◯ Chrome DASH ◯ ― ― ― ― HTML5のvideoタグ対応 ・ネイティブサポートはまだ少ないが,hls.jsやdash.jsでほとんどのブラウザで再生が可能 ・iOSアプリで動画配信などをする場合HLSはほぼ必須
・動画・ライブ配信の形態 ・配信プロトコルについて ・プロトコルのメディア対応について ・AWSにおけるライブ配信について ・著作権保護について 本日の内容 17
18 AWSの構成 ・出力はHLSとDASHに対応 ・MediaPackageでABRや広告挿入などのパッケージング ・CloudFrontでMediaPackageへのアクセスを最小限に
・動画・ライブ配信の形態 ・配信プロトコルについて ・プロトコルのメディア対応について ・AWSにおけるライブ配信について ・著作権保護について 本日の内容 19
20 HLSやDASHの著作権上の問題 ・URLが分かれば閲覧が可能 ・tsファイルを保存し繋ぎ合わせれば配信まるごとの保存が可能 ・署名付きURLもしくは署名付きCookieの利用(基本的にはCookie) →tsファイルにはアクセスできるので配信の保存は可能 ・HLS+AES →鍵自体は保護されないため鍵情報は取得可能 ・DRM(Digital Rights
Management) →特定のデバイスのみでしか再生できない
21 DRM(Digital Rights Management) ・HLSやDASHはキャッシュとして動画がダウンロードされるため避けられる場合もある ・ライセンスサーバから暗号化解除のキーを取得し再生 ・スクリーンショットや画面録画の制限も可能