Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
動画配信技術について
Search
Shumpei Urabe
May 08, 2022
Technology
1
1.5k
動画配信技術について
NAXA, Inc. 社内勉強会資料
https://www.naxa.co.jp
Shumpei Urabe
May 08, 2022
Tweet
Share
More Decks by Shumpei Urabe
See All by Shumpei Urabe
AIを活用した放送技術スタートアップの制作現場改革について
yaminoma
0
14k
Multimedia Security Topics
yaminoma
0
2.3k
コロナ禍でのライブストリーミングの変化とテレビ放送の規格について
yaminoma
0
1k
今日から分かる Android Audioの全て
yaminoma
0
450
Apple Low-Latency HLSを使った 超低遅延配信について
yaminoma
4
5k
今日から分かる AVAudioEngineの全て
yaminoma
4
6.1k
Cross Platform Video Player
yaminoma
0
480
PHPとRustを組み合わせて音声ファイルをエンコードする話
yaminoma
0
3.5k
字幕のはなし
yaminoma
4
1.8k
Other Decks in Technology
See All in Technology
JavaScript 研修
recruitengineers
PRO
6
1.3k
250905 大吉祥寺.pm 2025 前夜祭 「プログラミングに出会って20年、『今』が1番楽しい」
msykd
PRO
1
150
攻撃と防御で実践するプロダクトセキュリティ演習~導入パート~
recruitengineers
PRO
3
1.7k
DDD集約とサービスコンテキスト境界との関係性
pandayumi
2
110
【 LLMエンジニアがヒューマノイド開発に挑んでみた 】 - 第104回 Machine Learning 15minutes! Hybrid
soneo1127
0
230
知られざるprops命名の慣習 アクション編
uhyo
11
2.8k
実践アプリケーション設計 ②トランザクションスクリプトへの対応
recruitengineers
PRO
4
1.2k
衝突して強くなる! BLUE GIANTと アジャイルチームの共通点とは ― いきいきと活気に満ちたグルーヴあるチームを作るコツ ― / BLUE GIANT and Agile Teams
naitosatoshi
0
280
制約理論(ToC)入門
recruitengineers
PRO
8
3.6k
実運用で考える PGO
kworkdev
PRO
0
130
VPC Latticeのサービスエンドポイント機能を使用した複数VPCアクセス
duelist2020jp
0
350
まだ間に合う! StrandsとBedrock AgentCoreでAIエージェント構築に入門しよう
minorun365
PRO
10
680
Featured
See All Featured
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
61k
Agile that works and the tools we love
rasmusluckow
330
21k
GitHub's CSS Performance
jonrohan
1032
460k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
51
5.6k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Imperfection Machines: The Place of Print at Facebook
scottboms
268
13k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
[RailsConf 2023] Rails as a piece of cake
palkan
56
5.8k
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はキャッシュとして動画がダウンロードされるため避けられる場合もある ・ライセンスサーバから暗号化解除のキーを取得し再生 ・スクリーンショットや画面録画の制限も可能