SlideShare una empresa de Scribd logo
1 de 72
Descargar para leer sin conexión
AbemaTVの動画配信を支える
サーバーサイドシステム
自己紹介
中澤 優一郎
プロジェクト経歴
- 2012/06~ AmebaスマートフォンPF
- 2014/01~ 『タップル誕生』
- 2015/12~ 『AbemaTV』
担当領域
- サーバーサイド全般
好きな言語
- golang
@hase_xpw
株式会社 AbemaTV
2015 年 4 月 : 設立
「インターネットTV局」
2016 年 4 月 11 日 本開局
約 30 チャンネル
24 時間放送
対応デバイス
A. TV のような体験 B. Internet
コンテンツとしての体験
AbemaTV の特性
ザッピング
受動型視聴
シェア
コメント
特徴その1
受動型視聴
「リニア型放送」
番組表通りの
時間にだけ配信。
「TV」を再現!!
特徴その2
ザッピング
テレビのチャンネルを
次々変えていく動作…
「ザッピング」
フリックで
「ザッピング」
を再現!!
特徴その3
コメント
インターネットで
おなじみの
コメント機能を
TV に融合!!
切り抜き
10 秒程度
シェア
インターネットTV局
アジェンダ
- 動画配信の基礎
- AbemaTVの動画配信システム
- AbemaTVのシステム構成
- 全体アーキテクチャ
- AbemaTV の開発スピード
動画配信の基礎
動画配信の歴史
2000
現在
【 1998 年頃〜】
主に UDP 上の
Server Push型
Streaming
【 2006 年頃〜】
HTTP による
動画サービスへ
【 2008 年〜】
各社独自の
HTTP Adaptive
Streaming
【 2010 年】
MPEG-DASH
(ISO/IEC 23009)
2010
【 1998 年】
Akamai 創業
CDN を活用したい
通信環境に
あわせて
配信したい
プログレッシブダウンロード
メディアファイルのうち、
ダウンロードできたところから再生
メディアファイル
プログレッシブダウンロード
メディアファイルのうち、
ダウンロードできたところから再生
メディアファイル
HTTP サーバに
ファイルを置くだけ。
簡単!!!
ストリーミング
時間分割したデータを
クライアントに順次転送・再生
元データ
時間分割
ストリーミング
撮影機材
時間分割したデータを
クライアントに順次転送・再生
オンラインで
映像が生成される
生配信形態も可能!!
Adaptive Bitrate Streaming
元データ
時間分割
帯域心配…。
最初は画質低め。
Adaptive Bitrate Streaming
元データ
時間分割
まだ余裕があるぞ!
Adaptive Bitrate Streaming
元データ
時間分割
高画質へ
シームレスに
切り替え!!
初期のストリーミング
元データ
時間分割
TCP or UDP の専用プロトコル
専用サーバ・専用クライアントが必要。
大規模サービスのリソース用意するの大変。
HTTP Adaptive Streaming
元データ
時間分割
ファイルの集まりとして
HTTP で転送
HTTP 関連のソリューションが使える!
ライブラリ、CDN、リバースプロキシ など
HTTP Adaptive Streaming の
具体的な規格は…?
HLS (HTTP Live Streaming)
TS
TS
TS
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:100
#EXTINF:5.005,
100.ts
#EXTINF:5.005,
101.ts
#EXTINF:5.005,
102.ts
M3U8
(M3U + utf8)
動画ファイル
(MPEG2-TS)
過去
未来
HLS (HTTP Live Streaming)
TS
TS
TS
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:100
#EXTINF:5.005,
100.ts
#EXTINF:5.005,
101.ts
#EXTINF:5.005,
102.ts
過去
未来
M3U8
(M3U + utf8)
動画ファイル
(MPEG2-TS)
HLS (HTTP Live Streaming)
TS
TS
TS
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:100
#EXTINF:5.005,
100.ts
#EXTINF:5.005,
101.ts
#EXTINF:5.005,
102.ts
過去
未来
M3U8
(M3U + utf8)
動画ファイル
(MPEG2-TS)
HLS (HTTP Live Streaming)
TS
TS
TS
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:100
#EXTINF:5.005,
100.ts
#EXTINF:5.005,
101.ts
#EXTINF:5.005,
102.ts
過去
未来
M3U8
(M3U + utf8)
動画ファイル
(MPEG2-TS)
ストリーミングサーバより
後ろでは何をしているの?
映像が配信されるまで
映像処理
パッケージン
グ
配信入力
映像が配信されるまで
映像処理
パッケージン
グ
配信入力
映像が配信されるまで
エンコード
- 入力映像の変換
映像の合成
- テロップ挿入
映像処理
パッケージン
グ
配信入力
映像が配信されるまで
パッケージング
- 映像配信可能なAssetを生成する
- m3u8+ts (HLS), mpd+fmp4 (MPEG-DASH) etc...
- 映像ファイルの暗号化 (DRM)
- 広告挿入
映像処理
パッケージン
グ
配信入力
映像が配信されるまで
配信
- クライアントに映像を配信する
- HTTPだとCDNがよく使われる
映像処理
パッケージン
グ
配信入力
AbemaTV の動画配信システム
録画済み番組
広告
生放送
Streaming-Server
管理システム
live
encoder
collector
collector
live
encoder
パッケージング入力 映像処理 配信
encoder
CDN
AbemaTVにおける配信システム
AbemaTVにおける配信システム
録画済み番組
広告
生放送A
Streaming-Server
encoder
CDN
collector
生放送B encoder collector
管理システム
encoder
配信の切り替え
自前開発
AbemaTVにおける配信システム
録画済み番組
広告
生放送A
Streaming-Server
encoder collector
Schedule 録画済み番組 生放送A 生放送B
10:00 10:30 11:00
生放送B encoder collector
管理システム
encoder 放送中
CDN
AbemaTVにおける配信システム
録画済み番組
広告
生放送A
Streaming-Server
encoder collector
生放送B encoder collector
管理システム
encoder
Schedule 録画済み番組 生放送A 生放送B
10:00 10:30 11:00
放送終了
放送開始
CDN
AbemaTVにおける配信システム
録画済み番組
広告
生放送A
Streaming-Server
encoder collector
生放送B encoder collector
管理システム
encoder
Schedule 録画済み番組 生放送A 生放送B
10:00 10:30 11:00
放送中
CDN
AbemaTVにおける配信システム
録画済み番組
広告
生放送A
Streaming-Server
encoder collector
生放送B encoder collector
管理システム
encoder
Schedule 録画済み番組 生放送A 生放送B
10:00 10:30 11:00
広告挿入
広告
CDN
Playlist はどうなっているのか
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:100
#EXTINF:5.005,
program_a_1000.ts
#EXTINF:5.005,
program_a_1001.ts
#EXTINF:5.005,
program_a_1002.ts
#EXTINF:5.005,
program_a_1003.ts
Playlist はどうなっているのか
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:100000
#EXTINF:5.005,
program_a_1000.ts
#EXTINF:5.005,
program_a_1001.ts
#EXTINF:5.005,
program_a_1002.ts
#EXTINF:5.005,
program_a_1003.ts
Schedule 番組A 番組B
10:00 10:30 11:00
Playlist はどうなっているのか
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:100838
#EXTINF:5.005,
program_a_1838.ts
#EXTINF:5.005,
program_a_1839.ts
#EXT-X-DISCONTINUITY
#EXTINF:5.005,
program_b_0001.ts
#EXTINF:5.005,
program_b_0002.ts
Schedule 番組A 番組B
10:00 10:30 11:00
Playlist はどうなっているのか
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:100840
#EXTINF:5.005,
program_b_0001.ts
#EXTINF:5.005,
program_b_0002.ts
#EXTINF:5.005,
program_b_0003.ts
#EXTINF:5.005,
program_b_0004.ts
Schedule 番組A 番組B
10:00 10:30 11:00
SEQUENCE
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:100840
#EXTINF:5.005,
program_b_0001.ts
#EXTINF:5.005,
program_b_0002.ts
#EXTINF:5.005,
program_b_0003.ts
#EXTINF:5.005,
program_b_0004.ts
SEQUENCE
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:100840
#EXTINF:5.005,
program_b_0001.ts
#EXTINF:5.005,
program_b_0002.ts
#EXTINF:5.005,
program_b_0003.ts
#EXTINF:5.005,
program_b_0004.ts
SEQUENCE
セグメント103
セグメント102
セグメント101
セグメント100
SEQUENCE
100
セグメント104
セグメント103
セグメント102
セグメント101
SEQUENCE
101
セグメント105
セグメント104
セグメント103
セグメント102
SEQUENCE
102
セグメント104
セグメント103
セグメント102
セグメント101
セグメント100
セグメント105
プレイリスト プレイヤのメモリ上
時間
時間
SEQUENCE の計算
LB
SEQUENCE の計算
LB
DB
AbemaTV の全体アーキテクチャ
配信を取り巻く機能たち
リニア型
配信
シェア
コメント
通知
On-Demand
(課金)
検索
ランキング
AbemaTVの全体アーキテクチャ
AbemaTVの全体アーキテクチャ
AbemaTVの全体アーキテクチャ
AbemaTVの全体アーキテクチャ
AbemaTVの全体アーキテクチャ
AbemaTVの全体アーキテクチャ
AbemaTVの全体アーキテクチャ
AbemaTVの全体アーキテクチャ
AbemaTVの全体アーキテクチャ
AbemaTV の開発スピード
AbemaTV 開局まで
1月 4月2月 3月
3 月 1 日
先行配信
4 月 11 日
本開局
サーバ開発
本格始動
AbemaTV 開局まで
1月 4月2月 3月
3 月 1 日
先行配信
4 月 11 日
本開局
サーバ開発
本格始動
配信サーバ
開発開始
AbemaTV 開局まで
1月 4月2月 3月
3 月 1 日
先行配信
4 月 11 日
本開局
サーバ開発
本格始動
生配信コンテンツ
配信の開発
録画コンテンツ
配信の開発
AbemaTV 開局まで
1月 4月2月 3月
3 月 1 日
先行配信
4 月 11 日
本開局
サーバ開発
本格始動
Abema
News
FRESH!
経由
生配信
録画コンテンツ
配信の開発
AbemaTV 開局まで
1月 4月2月 3月
3 月 1 日
先行配信
4 月 11 日
本開局
サーバ開発
本格始動
Abema
News
FRESH!
経由
生配信
録画コンテンツ
配信の開発
シェア
コメント
ランキン
グ
On Demand
課金
管理システム
短期間で仕上げられた背景
GCPに助けられたこと
- 各種機能の充実
- logging
- monitoring
- alert
- クライアントライブラリの充実
- ドキュメント
GKEに助けられたこと
- インテグレーション
- スケールアウト
今日の内容
- 動画配信の基礎
- AbemaTVの動画配信システム
- AbemaTVのシステム構成
- 全体アーキテクチャ
- AbemaTV の開発スピード
ご静聴ありがとうございました

Más contenido relacionado

La actualidad más candente

AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)Trainocate Japan, Ltd.
 
Prometeusについてはじめてみよう / Let's start Prometeus
Prometeusについてはじめてみよう / Let's start PrometeusPrometeusについてはじめてみよう / Let's start Prometeus
Prometeusについてはじめてみよう / Let's start PrometeusTakeo Noda
 
ここが良かったDatadog
ここが良かったDatadogここが良かったDatadog
ここが良かったDatadogtyamane
 
Kubernetesによる機械学習基盤への挑戦
Kubernetesによる機械学習基盤への挑戦Kubernetesによる機械学習基盤への挑戦
Kubernetesによる機械学習基盤への挑戦Preferred Networks
 
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjugYahoo!デベロッパーネットワーク
 
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方Yoshiyasu SAEKI
 
ゲームアーキテクチャパターン (Aurora Serverless / DynamoDB)
ゲームアーキテクチャパターン (Aurora Serverless / DynamoDB)ゲームアーキテクチャパターン (Aurora Serverless / DynamoDB)
ゲームアーキテクチャパターン (Aurora Serverless / DynamoDB)Amazon Web Services Japan
 
ABEMA の視聴品質向上戦術
ABEMA の視聴品質向上戦術ABEMA の視聴品質向上戦術
ABEMA の視聴品質向上戦術Yusuke Goto
 
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~NTT Communications Technology Development
 
Python 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそうPython 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそうRyuji Tsutsui
 
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAkihiro Kuwano
 
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなKentaro Matsui
 
HLSについて知っていることを話します
HLSについて知っていることを話しますHLSについて知っていることを話します
HLSについて知っていることを話しますMoriyoshi Koizumi
 
AWS Elemental MediaConvert で動画変換
AWS Elemental MediaConvert で動画変換AWS Elemental MediaConvert で動画変換
AWS Elemental MediaConvert で動画変換虎の穴 開発室
 
5分で出来る!イケてるconfluenceページ
5分で出来る!イケてるconfluenceページ5分で出来る!イケてるconfluenceページ
5分で出来る!イケてるconfluenceページCLARA ONLINE, Inc.
 
SageMakerでもAUTOMATIC1111したい
SageMakerでもAUTOMATIC1111したいSageMakerでもAUTOMATIC1111したい
SageMakerでもAUTOMATIC1111したい真吾 吉田
 
インターネットの仕組みとISPの構造
インターネットの仕組みとISPの構造インターネットの仕組みとISPの構造
インターネットの仕組みとISPの構造Taiji Tsuchiya
 
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティスAmazon Web Services Japan
 
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織Takafumi ONAKA
 

La actualidad más candente (20)

AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
 
Prometeusについてはじめてみよう / Let's start Prometeus
Prometeusについてはじめてみよう / Let's start PrometeusPrometeusについてはじめてみよう / Let's start Prometeus
Prometeusについてはじめてみよう / Let's start Prometeus
 
ここが良かったDatadog
ここが良かったDatadogここが良かったDatadog
ここが良かったDatadog
 
Kubernetesによる機械学習基盤への挑戦
Kubernetesによる機械学習基盤への挑戦Kubernetesによる機械学習基盤への挑戦
Kubernetesによる機械学習基盤への挑戦
 
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
 
ヤフー発のメッセージキュー「Pulsar」のご紹介
ヤフー発のメッセージキュー「Pulsar」のご紹介ヤフー発のメッセージキュー「Pulsar」のご紹介
ヤフー発のメッセージキュー「Pulsar」のご紹介
 
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方
 
ゲームアーキテクチャパターン (Aurora Serverless / DynamoDB)
ゲームアーキテクチャパターン (Aurora Serverless / DynamoDB)ゲームアーキテクチャパターン (Aurora Serverless / DynamoDB)
ゲームアーキテクチャパターン (Aurora Serverless / DynamoDB)
 
ABEMA の視聴品質向上戦術
ABEMA の視聴品質向上戦術ABEMA の視聴品質向上戦術
ABEMA の視聴品質向上戦術
 
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
 
Python 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそうPython 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそう
 
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティス
 
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
 
HLSについて知っていることを話します
HLSについて知っていることを話しますHLSについて知っていることを話します
HLSについて知っていることを話します
 
AWS Elemental MediaConvert で動画変換
AWS Elemental MediaConvert で動画変換AWS Elemental MediaConvert で動画変換
AWS Elemental MediaConvert で動画変換
 
5分で出来る!イケてるconfluenceページ
5分で出来る!イケてるconfluenceページ5分で出来る!イケてるconfluenceページ
5分で出来る!イケてるconfluenceページ
 
SageMakerでもAUTOMATIC1111したい
SageMakerでもAUTOMATIC1111したいSageMakerでもAUTOMATIC1111したい
SageMakerでもAUTOMATIC1111したい
 
インターネットの仕組みとISPの構造
インターネットの仕組みとISPの構造インターネットの仕組みとISPの構造
インターネットの仕組みとISPの構造
 
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
 
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
 

Destacado

リニア放送型動画サービスの 
Web フロントエンド
リニア放送型動画サービスの 
Web フロントエンドリニア放送型動画サービスの 
Web フロントエンド
リニア放送型動画サービスの 
Web フロントエンドYusuke Goto
 
マイクロサービス時代の動画配信基Ruby×go=∞
マイクロサービス時代の動画配信基Ruby×go=∞マイクロサービス時代の動画配信基Ruby×go=∞
マイクロサービス時代の動画配信基Ruby×go=∞DMM.com
 
AbemaTV Developer Conference 2016
AbemaTV Developer Conference 2016AbemaTV Developer Conference 2016
AbemaTV Developer Conference 2016康洋 板敷
 
ニコニコ動画iOSアプリの UX・マネタイズ・技術の話
ニコニコ動画iOSアプリの UX・マネタイズ・技術の話ニコニコ動画iOSアプリの UX・マネタイズ・技術の話
ニコニコ動画iOSアプリの UX・マネタイズ・技術の話Kentaro Matsumae
 
ニコニコ生放送の配信基盤改善
ニコニコ生放送の配信基盤改善ニコニコ生放送の配信基盤改善
ニコニコ生放送の配信基盤改善takahiro_yachi
 
HTML5 + JavaScriptでDRMつきMPEG-DASHを再生させる
HTML5 + JavaScriptでDRMつきMPEG-DASHを再生させるHTML5 + JavaScriptでDRMつきMPEG-DASHを再生させる
HTML5 + JavaScriptでDRMつきMPEG-DASHを再生させるGaprot
 
Google Container Engine と Kubernetes で 無理をしないコンテナ管理
Google Container Engine と Kubernetes で 無理をしないコンテナ管理Google Container Engine と Kubernetes で 無理をしないコンテナ管理
Google Container Engine と Kubernetes で 無理をしないコンテナ管理Ryosuke Suto
 
Kubernetesを触ってみた
Kubernetesを触ってみたKubernetesを触ってみた
Kubernetesを触ってみたKazuto Kusama
 
AWS Black Belt Online Seminar 2017 動画配信 on AWS
AWS Black Belt Online Seminar 2017 動画配信 on AWSAWS Black Belt Online Seminar 2017 動画配信 on AWS
AWS Black Belt Online Seminar 2017 動画配信 on AWSAmazon Web Services Japan
 

Destacado (9)

リニア放送型動画サービスの 
Web フロントエンド
リニア放送型動画サービスの 
Web フロントエンドリニア放送型動画サービスの 
Web フロントエンド
リニア放送型動画サービスの 
Web フロントエンド
 
マイクロサービス時代の動画配信基Ruby×go=∞
マイクロサービス時代の動画配信基Ruby×go=∞マイクロサービス時代の動画配信基Ruby×go=∞
マイクロサービス時代の動画配信基Ruby×go=∞
 
AbemaTV Developer Conference 2016
AbemaTV Developer Conference 2016AbemaTV Developer Conference 2016
AbemaTV Developer Conference 2016
 
ニコニコ動画iOSアプリの UX・マネタイズ・技術の話
ニコニコ動画iOSアプリの UX・マネタイズ・技術の話ニコニコ動画iOSアプリの UX・マネタイズ・技術の話
ニコニコ動画iOSアプリの UX・マネタイズ・技術の話
 
ニコニコ生放送の配信基盤改善
ニコニコ生放送の配信基盤改善ニコニコ生放送の配信基盤改善
ニコニコ生放送の配信基盤改善
 
HTML5 + JavaScriptでDRMつきMPEG-DASHを再生させる
HTML5 + JavaScriptでDRMつきMPEG-DASHを再生させるHTML5 + JavaScriptでDRMつきMPEG-DASHを再生させる
HTML5 + JavaScriptでDRMつきMPEG-DASHを再生させる
 
Google Container Engine と Kubernetes で 無理をしないコンテナ管理
Google Container Engine と Kubernetes で 無理をしないコンテナ管理Google Container Engine と Kubernetes で 無理をしないコンテナ管理
Google Container Engine と Kubernetes で 無理をしないコンテナ管理
 
Kubernetesを触ってみた
Kubernetesを触ってみたKubernetesを触ってみた
Kubernetesを触ってみた
 
AWS Black Belt Online Seminar 2017 動画配信 on AWS
AWS Black Belt Online Seminar 2017 動画配信 on AWSAWS Black Belt Online Seminar 2017 動画配信 on AWS
AWS Black Belt Online Seminar 2017 動画配信 on AWS
 

AbemaTVの動画配信を支えるサーバーサイドシステム