SlideShare uma empresa Scribd logo
1 de 104
Baixar para ler offline
五藤 佑典
YUSUKE GOTO
https://ygoto3.com/
@ygoto3_
● California State University, San Bernardino グラフィックデザイン専攻
● ソフトウェアエンジニア @ サイバーエージェント
● ABEMA 開発本部
○ Cross Device チーム
あらゆるデバイスにABEMA を展開するための技術を提供するチーム
○ Streaming Client チーム
ABEMA の再生品質を軸にUX エンジニアリングにコミットするチーム
○ 動画技術エバンジェリスト
世界各国に足を運び動画技術に関する情報をキャッチアップし、
社内外の動画サービスの発展に貢献するロール
○ DesignOps 推進バックエンド
大規模組織でスケールできるプロダクトデザイン開発組織を構築する活動
in Video Technology and Product Design
本セッションの内容に関連する資料
信頼性エンジニアリング
信頼性エンジニアリング
元々はインフラ領域の運用上の問題に
拡張性と信頼性を作り出すためのエンジニアリング分野
● 開発と運用のバランスを取るソリューションを生み出す
● この領域の開拓者は Google
https://sre.google/books/
動画視聴領域への転用
動画視聴に関わるシステムも日々拡張しながら運用されている
ABEMA に必要な価値
24 / 365 日の可用性
新しい未来のテレビ
に必要な機能拡張
リソースは有限
開発
? %
保守
? %
有限なリソースでどう攻めるか
リソースは有限
開発
? %
保守
? %
信頼性エンジニアリングの適用によって
保守すべきタイミングと新機能を開発して攻めるべきタイミングを教えてくれる
有限なリソースでどう攻めるか
信頼性エンジニアリングの基本
計測する SLI を決める SLO を定める 課題を見つける
計測する
信頼性エンジニアリングの基本
計測する
システムのメトリックの変化を
監視する
配信サーバーを監視するの?
配信サーバーで監視できるもの
配信サーバーを監視するの?
配信サーバーで監視できるもの
HTTP レスポンスのステータス
サーバー側で検知できない不具合
正常なレスポンスを返しても視聴に失敗するケースは多くある
● 特定のバージョンでのみ発生
● 特定の環境でのみ発生
● 特定のデバイスでのみ発生
● サーバーがリクエストを受け取る前にクラッシュ
● 出力マニフェストの変更によりリバッファリングの頻度増加
● エンコーディングパラメータの変更によりデコード失敗
● コンテンツ特性である区間だけ高ビットレート
配信サーバーを監視するの?
ABEMA の動画配信の仕組みは複雑
配信の仕組み
Encoded files
Transcoder
HLS ingest
Virtual manifests
Manifest playout
ABEMA ストリーミングの特徴
2 つのストリーミングプロトコル
2 つのメディアフォーマット
20 以上のサポートプラットフォーム
● HTTP Live Streaming
● MPEG-DASH
● MPEG-2 TS
● fragmented MP4
...
20 以上のサポートデバイス
● iPhone
● iPad
● Apple TV
● Android Smartphone
● Android Tablet
● Android TV
● Fire Tablet
● Amazon Fire TV
● Google Chrome
● Mozilla Firefox
● Internet Explorer
● Microsoft Edge
● Apple Safari
● Google Chromecast
● Google Daydream View
● Amazon Echo
● LINE Clova Desk
● SONY BRAVIA
● Panasonic VIERA
● TOSHIBA REGZA
● LEOPALACE21 Life Stick
● CCCAIR Air Stick
● ...
DRM の組み合わせ
HLS +
TS
MPEG-
DASH +
fMP4
FairPlay Streaming
iOS
Microsoft
PlayReady
低遅延のニュース
● 短いセグメント長
○ 通常ストリーム: 5 秒セグメント → 低遅延ストリーム: 1 秒セグメント
● アグレッシブなインジェスト方式
○ 通常ストリーム: Pull 型インジェスト → 低遅延ストリーム: Push 型インジェスト
パーソナライズされた広告挿入
● ユーザーによって異なるマニフェスト
○ 再生されるコンテンツの順番が異なる
○ 再生される動画コンテンツ自体が異なる
● 通常経路と異なるメディアコンテンツ生成フロー
○ 動画のエンコードパスが異なる
ABEMA の動画配信パターンは複雑
プロトコルのパターン
デバイスのパターン
DRM のパターン
特殊ストリームのパターン
ABEMA の動画配信パターンは複雑
プロトコルのパターン
デバイスのパターン
DRM のパターン
特殊ストリームのパターン
ユーザーが体験した
事実
実際のユーザー環境で計測する
実際のユーザー環境で計測する
RUM
Real User Monitoring
何を計測するか?
実ユーザー環境の動画再生クライアントつまりプレイヤーの状態遷移イベント
動画プレイヤーの状態
動画プレイヤーの状態
● Joining
● Playing
● Buffering
● Crashed
● Ended
https://developer.apple.com/documentation/webkitjs/htmlmediaelement
動画プレイヤーの状態遷移を計測
Joining Playing
プレイヤーの状態遷移
Buffering Buffering
Playing
Playing Ended
状態遷移から算出可能なメトリック例
● Quality of Service を計測するメトリック
○ Startup Failure
○ In-stream Crash
● Quality of Experience を計測するメトリック
○ Buffer Ratio
○ Buffering Events
○ Join Time
○ Average Bitrate
複合指標でユーザー
● メトリックの組み合わせでユーザーエンゲージメントを計測することも可能
● Playtime
● Plays
● Join time
● Buffering ratio
● Buffering event %
メトリックをどう使うか
メトリックをどう使うか
視聴体験の品質をメトリックで表現する
低品質な視聴体験
Joining Playing
長い Join Time 短いが頻繁な
バッファリングイベント
Ended
Buffering
1 回だけだが
長いバッファリング時間
低品質な視聴体験
Joining Playing
長い Join Time 短いが頻繁な
バッファリングイベント
Ended
Buffering
1 回だけだが
長いバッファリング時間
ユーザーにストレスを与える状態遷移
低品質な視聴体験
Joining Playing
再生開始前にクラッシュ = Startup Failure
Ended
低品質な視聴体験
Joining Playing
再生開始前にクラッシュ = Startup Failure
Ended
ユーザーはコンテンツを視聴できていない
低品質な視聴体験
Joining Playing
再生中にクラッシュ = In-Stream Crash
Ended
低品質な視聴体験
Joining Playing
再生中にクラッシュ = In-Stream Crash
Ended
ユーザーはコンテンツを最後まで視聴できていない
高品質な視聴体験
Joining Playing
短かい Join Time クラッシュもバッファリングもなく再生終了
Ended
高品質な視聴体験
Joining Playing
短かい Join Time クラッシュもバッファリングもなく再生終了
Ended
メトリックをこの状態に近付ける
SLI を決める
SLI を決めるコツ
ABEMA の視聴者にとって直接的な意味を持つキークエスチョンを用意する
● 視聴開始に成功したか?
● 最後まで視聴できたか?
● 映像/音声品質は良かったか?
● 再生開始まで長い時間待つことはなかったか?
SLI を決めるコツ
ABEMA の視聴者にとって直接的な意味を持つキークエスチョンを用意する
● 視聴開始に成功したか?
● 最後まで視聴できたか?
● 映像/音声品質は良かったか?
● 再生開始まで長い時間待つことはなかったか?
キークエスチョンをメトリックを
組み合わせた数式で表現する
再生開始に成功したか
再生セッションのうち Startup failure がないものと定義
再生は完了したか
再生セッションのうち In-stream crash がないものと定義
良い映像品質で視聴できたか
再生セッションのうち意図した Rendition の再生時間が全体の再生時間の対して一定の割
合を上回っているものと定義
再生開始までの時間は短かったか
再生セッションのうち Join time が意図した時間より短かったものと定義
SLI が決まった
SLI が決まった
目指す SLO を定める
SLO を定める
SLO を定める
1. いま現在のファクトをデータで収集する
2. いま現在のサービスレベルを維持するための閾値を定める
3. 目指すべき理想の目標値を定める
現在のファクト
SLO ドキュメントを作る
Category SLI SLO
<In-action>
SLO
<Ideal>
QoS Startup success rate 99% 99%
QoS Playback completion rate 95% 99%
QoE Rendition distribution success (>= 1080p 60%) rate
for TV
70% 90%
QoE Join time success (<= 3 secs) rate
for Linear
70% 90%
課題を見つける
信頼性エンジニアリング実践の課題
定めた SLO を下回らないように何ができるのか
● SLO を下回るリスク
○ 障害により SLO を下回るリスク
○ 徐々に品質が低下して定常的に SLO を下回るような状態になるリスク
○ 外れ値的なノイズやサンプルサイズの揺れにより SLO を下回るリスク
信頼性エンジニアリング実践
障害により SLO を下回るリスクに対策する
信頼性エンジニアリング実践
障害により SLO を下回るリスクに対策する
障害の避難訓練を行う
避難訓練を行う
頻度が少ないイベント時の
手順は誰も覚えていない
避難訓練を行う
頻度が少ないイベント時の
手順は誰も覚えていない
障害時の Runbook に従った
シミュレートを定期的に行う
避難訓練を行う
どうやるか?
ロールプレイで手を動かす
避難訓練を行う
臨場感を出す
Wheel of Misfortune 方式による
ランダムアサインメントで
避難訓練実施者が決まる
信頼性エンジニアリング実践
徐々に品質が低下して定常的に SLO を下回るような状態になるリスク
信頼性エンジニアリング実践
徐々に品質が低下して定常的に SLO を下回るような状態になるリスク
定期的に SLO を振り返る
SLO を振り返る
十分に短い間隔で振り返る
定点観測でゆるやかな品質低下に
早めに対応できる
月次での振り返り
SLO を振り返る
適切にセグメントを切り、
SLO を比較する
SLO を振り返る
SLO を振り返る
月の振り返りのタイミングに
SLO を割っていることに気付く
SLO を割りそうな兆候があったら
振り返りを待たずに知りたい
SLO アラートを設定する
● Burn Rate を設定する
https://sre.google/workbook/alerting-on-slos/
適切な Burn Rate をシミュレート
適切な Burn Rate を探る
過敏に反応しすぎても
徒労に終わってしまう
SLO を振り返る
分析して課題を見つける
原因が特定できるケースばかりではない
● Startup Failure
● In-stream Crash
● Buffer Ratio
● Buffering Events
● Join Time
● Average Bitrate
RUM で計測できるメトリクスは表面的
RUM が得意とするところ
● 統計的な分析ができる
○ 地域条件や端末種別などの複数のセグメントの組み合わせを比較できる
● ユースケースを絞る必要がない
○ 実際にユーザーが使った事実のみが記録される
● 優先順位が高い課題が検知できる
○ 条件にあてはまるユーザーシェアなどを基準に優先順位を決定できる
RUM が苦手とするところ
● 分析やデバッグに必要な詳細情報は取得できない
○ プロファイリングなど解析が必要な情報はユーザー端末に負荷をかける
○ 分析/デバッグする情報が不足する
● 実ユーザーのアクセスがなければデータを得られない
○ データから発見できる事柄は常に事後になる
● 特定条件に対するベンチマーク
RUM が苦手とするところ
● 分析やデバッグに必要な詳細情報は取得できない
○ プロファイリングなど解析が必要な情報はユーザー端末に負荷をかける
○ 分析/デバッグする情報が不足する
● 実ユーザーのアクセスがなければデータを得られない
○ データから発見できる事柄は常に事後になる
● 特定条件に対するベンチマーク
RUM の不得手な部分の監視を
補完する手段が必要
STM による補完
STM(Synthetic Transaction Monitoring)
● スクリプト等によるユーザー活動をシミュレートし、その結果を監視する手法
STM が得意とするところ
● 事前に課題を検知できる
○ 想定シナリオを事前にシミュレーションできる
● 数字の中身を詳細に分析できる
○ 実ユーザー環境への負荷をかけることなく、ウォーターフォールチャートのように数
字を可視化できる
● 複雑なユースケースを定点観測可能できる
○ 観測ポイントを自由に設定でき、複数のアクションで構成されるユースケースを何
回も繰り返すシミュレートが可能
STM が苦手とするところ
● ユーザーの実体験を反映していない
○ あくまでシミュレーションによる結果であり、ユーザーに同じ結果が起きる/起きて
いるとは限らない
● 予測不能な変数による課題発見に弱い
○ 人が考えうるシミュレーション条件が網羅の限界になる
STM が苦手とするところ
● ユーザーの実体験を反映していない
○ あくまでシミュレーションによる結果であり、ユーザーに同じ結果が起きる/起きて
いるとは限らない
● 予測不能な変数による課題発見に弱い
○ 人が考えうるシミュレーション条件が網羅の限界になる
RUM 同様 STM も得手不得手がある
RUM と STM 両者の強みを活かす
● RUM による受動的/俯瞰的な監視
○ 実ユーザーが得ている視聴品質の事実を
統計的に監視
● STM による能動的/詳細な監視
○ システム変更に対するユーザー影響の事前シミュレーション
○ 重要なユースケースにおける詳細データの収集
○ 複数のユーザー行動が伴う複雑なユースケースの定点監視
STM システムを構築する
ユーザー活動をシミュレーションする環境を構築する
● デバイスファーム
● スクリプトによるトランザクション自動実行
● パフォーマンス計測
● 主観指標の計測
STM システムを構築する w/
● デバイスファーム
○ Android / iOS / Web ブラウザに対応したデバイスファーム
● スクリプトによるトランザクション自動実行
○ Appium / Selenium によるスクリプト実行機能
● パフォーマンス計測
○ コンピューティング、通信のパフォーマンス計測
● 主観指標の計測
○ AI エンジンによる映像品質の Mean Opinion Score 推測
定期的な視聴セッション実行
定期的な視聴セッション実行
映像に対する主観指標計測
ドメイン別の通信パフォーマンス計測
STM によって何が可能になるか
● 主観指標のシミュレーション
● ステージング環境での事前監視
● 限定条件下の動画視聴品質監視
● 異常/障害発生時の能動的デバッグ情報の収集/解析
主観指標のシミュレーション
映像の不体裁などの客観指標では気付けない品質のシミュレーション
動画サービスにとっての最重要な品質の 1 つであるが
強く属人的な作業を要する
従来は人の目で確認するしか方法がなかった
MOS (Mean Opinion Score)
受信側で知覚されるメディアの品質の評価を数値で表す古くからある方法
5 Excellent
4 Good
3 Fair
2 Poor
1 Bad
人々に実際に映像を見てもらい映像品質を 5 段階評価された
評点を算術平均する
AI にパターンを学習させて
自動的に算出する
- 平均オピニオン評点
主観指標のシミュレーション
主観指標のシミュレーション
ステージング環境での事前監視
視聴品質は動画配信の入りから出までの全ての変更に影響を受ける
● アプライアンス/物理的設備の変更
● エンコードパラメータの調整
● 配信経路の変更
● プレイリスト/マニフェストの変更
● 動画再生クライアントの再生アルゴリズム変更
● ...
ステージング環境での事前監視
ステージング環境を定点的に監視
異常を検知した場合には
問題の切り分けに
パフォーマンス解析情報を利用
異常/障害発生時の能動的デバッグ情報の収集
RUM で異常/障害を検知した際に条件に応じてデバッグ情報を収集
視聴セッションを開始し
障害中の状態を記録
オンコール担当にページ
異常/障害発生時の能動的デバッグ情報の収集
限定条件下の動画視聴品質監視
固定する変数例
● 実行デバイス
● アプリケーション実装
変動的な環境とアプリケーション実装から切り離したリファレンス動画視聴
可変させる変数例
● 通信速度
● 地域
● 配信アルゴリズム
● 動画プレイヤー
外部要因と動画視聴課題を切り分けて、調査の初期速度を上げる
まとめ
● 信頼性エンジニアリングの動画視聴領域への転用で開発の攻めと守りを決定する
● SLI は RUM メトリックからユーザーに直接意味があるインジケータを作る
● RUM の受動的/表面的な情報では SLO を達成するための課題発見に課題がある
● STM で RUM の弱い側面を補完して SLO の達成率を上げる
五藤 佑典
YUSUKE GOTO
https://ygoto3.com/
@ygoto3_
ありがとうございました
RUM と STM で実現する動画視聴における信頼性エンジニアリング

Mais conteúdo relacionado

Mais procurados

SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】
SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】
SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】DeNA
 
どうやらテスト駆動型開発は死んだようです。これからのCI
どうやらテスト駆動型開発は死んだようです。これからのCIどうやらテスト駆動型開発は死んだようです。これからのCI
どうやらテスト駆動型開発は死んだようです。これからのCIKoichiro Sumi
 
.NETアプリケーションのクラウド最適化
.NETアプリケーションのクラウド最適化.NETアプリケーションのクラウド最適化
.NETアプリケーションのクラウド最適化Takeshi Fukuhara
 
2019 年後半 海外動画技術動向
2019 年後半 海外動画技術動向2019 年後半 海外動画技術動向
2019 年後半 海外動画技術動向Yusuke Goto
 
AbemaTVの動画配信を支えるサーバーサイドシステム
AbemaTVの動画配信を支えるサーバーサイドシステムAbemaTVの動画配信を支えるサーバーサイドシステム
AbemaTVの動画配信を支えるサーバーサイドシステムyuichiro nakazawa
 
コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話Yuta Shimada
 
DeNAの大規模ライブ配信基盤を支える技術
DeNAの大規模ライブ配信基盤を支える技術DeNAの大規模ライブ配信基盤を支える技術
DeNAの大規模ライブ配信基盤を支える技術DeNA
 
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)Yasuharu Nishi
 
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 で始めるライブ動画配信
20191112 AWS Black Belt Online Seminar AWS Media Services で始めるライブ動画配信Amazon Web Services Japan
 
Wowzaを用いた配信基盤 Takusuta tech conf01
Wowzaを用いた配信基盤 Takusuta tech conf01Wowzaを用いた配信基盤 Takusuta tech conf01
Wowzaを用いた配信基盤 Takusuta tech conf01Kazuhiro Ota
 
AbemaTV が対峙する技術的課題と開発の現場
AbemaTV が対峙する技術的課題と開発の現場AbemaTV が対峙する技術的課題と開発の現場
AbemaTV が対峙する技術的課題と開発の現場Yusuke Goto
 
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編Masahito Zembutsu
 
HTML5 + JavaScriptでDRMつきMPEG-DASHを再生させる
HTML5 + JavaScriptでDRMつきMPEG-DASHを再生させるHTML5 + JavaScriptでDRMつきMPEG-DASHを再生させる
HTML5 + JavaScriptでDRMつきMPEG-DASHを再生させるGaprot
 
インターネットにおける動画配信の仕組み
インターネットにおける動画配信の仕組みインターネットにおける動画配信の仕組み
インターネットにおける動画配信の仕組みRyosuke Kubo
 
AWS Amplify - Auth/API Category & Vue 構築ハンズオン
AWS Amplify - Auth/API Category & Vue 構築ハンズオンAWS Amplify - Auth/API Category & Vue 構築ハンズオン
AWS Amplify - Auth/API Category & Vue 構築ハンズオンEiji KOMINAMI
 
WebRTCを利用した遠隔リアルタイム映像処理フレームワークの実装
WebRTCを利用した遠隔リアルタイム映像処理フレームワークの実装WebRTCを利用した遠隔リアルタイム映像処理フレームワークの実装
WebRTCを利用した遠隔リアルタイム映像処理フレームワークの実装tnoho
 
WebRTC入門+最新動向
WebRTC入門+最新動向WebRTC入門+最新動向
WebRTC入門+最新動向Ryosuke Otsuya
 
WebRTC mediasoup on raspberrypi3
WebRTC mediasoup on raspberrypi3WebRTC mediasoup on raspberrypi3
WebRTC mediasoup on raspberrypi3mganeko
 

Mais procurados (20)

SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】
SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】
SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】
 
どうやらテスト駆動型開発は死んだようです。これからのCI
どうやらテスト駆動型開発は死んだようです。これからのCIどうやらテスト駆動型開発は死んだようです。これからのCI
どうやらテスト駆動型開発は死んだようです。これからのCI
 
監視論
監視論監視論
監視論
 
.NETアプリケーションのクラウド最適化
.NETアプリケーションのクラウド最適化.NETアプリケーションのクラウド最適化
.NETアプリケーションのクラウド最適化
 
2019 年後半 海外動画技術動向
2019 年後半 海外動画技術動向2019 年後半 海外動画技術動向
2019 年後半 海外動画技術動向
 
AbemaTVの動画配信を支えるサーバーサイドシステム
AbemaTVの動画配信を支えるサーバーサイドシステムAbemaTVの動画配信を支えるサーバーサイドシステム
AbemaTVの動画配信を支えるサーバーサイドシステム
 
コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話
 
DeNAの大規模ライブ配信基盤を支える技術
DeNAの大規模ライブ配信基盤を支える技術DeNAの大規模ライブ配信基盤を支える技術
DeNAの大規模ライブ配信基盤を支える技術
 
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
 
Confluence と SharePoint 何が違う?
Confluence と SharePoint 何が違う?Confluence と SharePoint 何が違う?
Confluence と SharePoint 何が違う?
 
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 で始めるライブ動画配信
20191112 AWS Black Belt Online Seminar AWS Media Services で始めるライブ動画配信
 
Wowzaを用いた配信基盤 Takusuta tech conf01
Wowzaを用いた配信基盤 Takusuta tech conf01Wowzaを用いた配信基盤 Takusuta tech conf01
Wowzaを用いた配信基盤 Takusuta tech conf01
 
AbemaTV が対峙する技術的課題と開発の現場
AbemaTV が対峙する技術的課題と開発の現場AbemaTV が対峙する技術的課題と開発の現場
AbemaTV が対峙する技術的課題と開発の現場
 
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編
 
HTML5 + JavaScriptでDRMつきMPEG-DASHを再生させる
HTML5 + JavaScriptでDRMつきMPEG-DASHを再生させるHTML5 + JavaScriptでDRMつきMPEG-DASHを再生させる
HTML5 + JavaScriptでDRMつきMPEG-DASHを再生させる
 
インターネットにおける動画配信の仕組み
インターネットにおける動画配信の仕組みインターネットにおける動画配信の仕組み
インターネットにおける動画配信の仕組み
 
AWS Amplify - Auth/API Category & Vue 構築ハンズオン
AWS Amplify - Auth/API Category & Vue 構築ハンズオンAWS Amplify - Auth/API Category & Vue 構築ハンズオン
AWS Amplify - Auth/API Category & Vue 構築ハンズオン
 
WebRTCを利用した遠隔リアルタイム映像処理フレームワークの実装
WebRTCを利用した遠隔リアルタイム映像処理フレームワークの実装WebRTCを利用した遠隔リアルタイム映像処理フレームワークの実装
WebRTCを利用した遠隔リアルタイム映像処理フレームワークの実装
 
WebRTC入門+最新動向
WebRTC入門+最新動向WebRTC入門+最新動向
WebRTC入門+最新動向
 
WebRTC mediasoup on raspberrypi3
WebRTC mediasoup on raspberrypi3WebRTC mediasoup on raspberrypi3
WebRTC mediasoup on raspberrypi3
 

Semelhante a RUM と STM で実現する動画視聴における信頼性エンジニアリング

2021 年春 ABEMA が Internet Explorer 11 の サポートを終了
2021 年春 ABEMA が Internet Explorer 11 の サポートを終了2021 年春 ABEMA が Internet Explorer 11 の サポートを終了
2021 年春 ABEMA が Internet Explorer 11 の サポートを終了Yusuke Goto
 
AbemaTV の課題と Demuxed 2019
AbemaTV の課題と Demuxed 2019AbemaTV の課題と Demuxed 2019
AbemaTV の課題と Demuxed 2019Yusuke Goto
 
conte - ABEMA's Design System
conte - ABEMA's Design Systemconte - ABEMA's Design System
conte - ABEMA's Design SystemYusuke Goto
 
AbemaTV プロダクトデザイン 2.0
AbemaTV プロダクトデザイン 2.0AbemaTV プロダクトデザイン 2.0
AbemaTV プロダクトデザイン 2.0Yusuke Goto
 
QualityとDeliveryを両立させるために僕らがやったこと
QualityとDeliveryを両立させるために僕らがやったことQualityとDeliveryを両立させるために僕らがやったこと
QualityとDeliveryを両立させるために僕らがやったことTakeshi Sekiguchi
 
Story-Assured Design で開発チーム全員でデザインする
Story-Assured Design で開発チーム全員でデザインするStory-Assured Design で開発チーム全員でデザインする
Story-Assured Design で開発チーム全員でデザインするYusuke Goto
 
Jasst12九州 倉貫資料:アジャイル・Ruby・クラウド(ARC)を活用したビジネスにおけるテストの実践 #jasst12Q
Jasst12九州 倉貫資料:アジャイル・Ruby・クラウド(ARC)を活用したビジネスにおけるテストの実践 #jasst12QJasst12九州 倉貫資料:アジャイル・Ruby・クラウド(ARC)を活用したビジネスにおけるテストの実践 #jasst12Q
Jasst12九州 倉貫資料:アジャイル・Ruby・クラウド(ARC)を活用したビジネスにおけるテストの実践 #jasst12QYoshihito Kuranuki
 
201805 webcast and kollective digital media proposal west
201805 webcast and kollective digital media proposal west201805 webcast and kollective digital media proposal west
201805 webcast and kollective digital media proposal westHiroyuki Yokota
 
プログラミング生放送@プログラミング生放送勉強会 第20回@品川
プログラミング生放送@プログラミング生放送勉強会 第20回@品川プログラミング生放送@プログラミング生放送勉強会 第20回@品川
プログラミング生放送@プログラミング生放送勉強会 第20回@品川jz5 MATSUE
 
Spring Security 5.0 解剖速報
Spring Security 5.0 解剖速報Spring Security 5.0 解剖速報
Spring Security 5.0 解剖速報Takuya Iwatsuka
 
高信頼性を確保するソフトウェア開発手法と実践 -組込み製品の潜在的価値を今以上に高めるために-
高信頼性を確保するソフトウェア開発手法と実践-組込み製品の潜在的価値を今以上に高めるために-高信頼性を確保するソフトウェア開発手法と実践-組込み製品の潜在的価値を今以上に高めるために-
高信頼性を確保するソフトウェア開発手法と実践 -組込み製品の潜在的価値を今以上に高めるために-Yoshio SAKAI
 
Windows Azure Media Serviceで作成する割と普通な動画サイト
Windows Azure Media Serviceで作成する割と普通な動画サイトWindows Azure Media Serviceで作成する割と普通な動画サイト
Windows Azure Media Serviceで作成する割と普通な動画サイトnormalian
 
Microsoft ではじめる AI DLラボ パートナープログラムご紹介
Microsoft ではじめる AI DLラボ パートナープログラムご紹介Microsoft ではじめる AI DLラボ パートナープログラムご紹介
Microsoft ではじめる AI DLラボ パートナープログラムご紹介Hirono Jumpei
 
Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを...
Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを...Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを...
Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを...Shinichiro Arai
 
Xcodeの管理を楽に - Jenkins編 -
Xcodeの管理を楽に - Jenkins編 -Xcodeの管理を楽に - Jenkins編 -
Xcodeの管理を楽に - Jenkins編 -Toshiyuki Hirata
 
ソフトウェア開発の現場風景
ソフトウェア開発の現場風景ソフトウェア開発の現場風景
ソフトウェア開発の現場風景Koichi ITO
 
Automation with SoftLayer and Zabbix
Automation with SoftLayer and ZabbixAutomation with SoftLayer and Zabbix
Automation with SoftLayer and Zabbixsoftlayerjp
 
DevOps and Compliance and Security
DevOps and Compliance and SecurityDevOps and Compliance and Security
DevOps and Compliance and SecurityKazushi Kamegawa
 
Clarity 2019 で デザインシステムの課題は人なんだと痛感した話
Clarity 2019 で デザインシステムの課題は人なんだと痛感した話Clarity 2019 で デザインシステムの課題は人なんだと痛感した話
Clarity 2019 で デザインシステムの課題は人なんだと痛感した話Yusuke Goto
 

Semelhante a RUM と STM で実現する動画視聴における信頼性エンジニアリング (20)

2021 年春 ABEMA が Internet Explorer 11 の サポートを終了
2021 年春 ABEMA が Internet Explorer 11 の サポートを終了2021 年春 ABEMA が Internet Explorer 11 の サポートを終了
2021 年春 ABEMA が Internet Explorer 11 の サポートを終了
 
AbemaTV の課題と Demuxed 2019
AbemaTV の課題と Demuxed 2019AbemaTV の課題と Demuxed 2019
AbemaTV の課題と Demuxed 2019
 
conte - ABEMA's Design System
conte - ABEMA's Design Systemconte - ABEMA's Design System
conte - ABEMA's Design System
 
AbemaTV プロダクトデザイン 2.0
AbemaTV プロダクトデザイン 2.0AbemaTV プロダクトデザイン 2.0
AbemaTV プロダクトデザイン 2.0
 
QualityとDeliveryを両立させるために僕らがやったこと
QualityとDeliveryを両立させるために僕らがやったことQualityとDeliveryを両立させるために僕らがやったこと
QualityとDeliveryを両立させるために僕らがやったこと
 
Story-Assured Design で開発チーム全員でデザインする
Story-Assured Design で開発チーム全員でデザインするStory-Assured Design で開発チーム全員でデザインする
Story-Assured Design で開発チーム全員でデザインする
 
Jasst12九州 倉貫資料:アジャイル・Ruby・クラウド(ARC)を活用したビジネスにおけるテストの実践 #jasst12Q
Jasst12九州 倉貫資料:アジャイル・Ruby・クラウド(ARC)を活用したビジネスにおけるテストの実践 #jasst12QJasst12九州 倉貫資料:アジャイル・Ruby・クラウド(ARC)を活用したビジネスにおけるテストの実践 #jasst12Q
Jasst12九州 倉貫資料:アジャイル・Ruby・クラウド(ARC)を活用したビジネスにおけるテストの実践 #jasst12Q
 
201805 webcast and kollective digital media proposal west
201805 webcast and kollective digital media proposal west201805 webcast and kollective digital media proposal west
201805 webcast and kollective digital media proposal west
 
プログラミング生放送@プログラミング生放送勉強会 第20回@品川
プログラミング生放送@プログラミング生放送勉強会 第20回@品川プログラミング生放送@プログラミング生放送勉強会 第20回@品川
プログラミング生放送@プログラミング生放送勉強会 第20回@品川
 
Spring Security 5.0 解剖速報
Spring Security 5.0 解剖速報Spring Security 5.0 解剖速報
Spring Security 5.0 解剖速報
 
高信頼性を確保するソフトウェア開発手法と実践 -組込み製品の潜在的価値を今以上に高めるために-
高信頼性を確保するソフトウェア開発手法と実践-組込み製品の潜在的価値を今以上に高めるために-高信頼性を確保するソフトウェア開発手法と実践-組込み製品の潜在的価値を今以上に高めるために-
高信頼性を確保するソフトウェア開発手法と実践 -組込み製品の潜在的価値を今以上に高めるために-
 
Windows Azure Media Serviceで作成する割と普通な動画サイト
Windows Azure Media Serviceで作成する割と普通な動画サイトWindows Azure Media Serviceで作成する割と普通な動画サイト
Windows Azure Media Serviceで作成する割と普通な動画サイト
 
Microsoft ではじめる AI DLラボ パートナープログラムご紹介
Microsoft ではじめる AI DLラボ パートナープログラムご紹介Microsoft ではじめる AI DLラボ パートナープログラムご紹介
Microsoft ではじめる AI DLラボ パートナープログラムご紹介
 
Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを...
Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを...Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを...
Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを...
 
Klocworkのご紹介
Klocworkのご紹介Klocworkのご紹介
Klocworkのご紹介
 
Xcodeの管理を楽に - Jenkins編 -
Xcodeの管理を楽に - Jenkins編 -Xcodeの管理を楽に - Jenkins編 -
Xcodeの管理を楽に - Jenkins編 -
 
ソフトウェア開発の現場風景
ソフトウェア開発の現場風景ソフトウェア開発の現場風景
ソフトウェア開発の現場風景
 
Automation with SoftLayer and Zabbix
Automation with SoftLayer and ZabbixAutomation with SoftLayer and Zabbix
Automation with SoftLayer and Zabbix
 
DevOps and Compliance and Security
DevOps and Compliance and SecurityDevOps and Compliance and Security
DevOps and Compliance and Security
 
Clarity 2019 で デザインシステムの課題は人なんだと痛感した話
Clarity 2019 で デザインシステムの課題は人なんだと痛感した話Clarity 2019 で デザインシステムの課題は人なんだと痛感した話
Clarity 2019 で デザインシステムの課題は人なんだと痛感した話
 

Mais de Yusuke Goto

ABEMA を次のフェーズへ進化させる技術への取り組み
ABEMA を次のフェーズへ進化させる技術への取り組みABEMA を次のフェーズへ進化させる技術への取り組み
ABEMA を次のフェーズへ進化させる技術への取り組みYusuke Goto
 
Taipei Video Tech #5 talk : A Japanese Way to Maintain Constant Quality on St...
Taipei Video Tech #5 talk : A Japanese Way to Maintain Constant Quality on St...Taipei Video Tech #5 talk : A Japanese Way to Maintain Constant Quality on St...
Taipei Video Tech #5 talk : A Japanese Way to Maintain Constant Quality on St...Yusuke Goto
 
A Japanese Way to Maintain Constant Quality on Streaming Chaotically Supplied...
A Japanese Way to Maintain Constant Quality on Streaming Chaotically Supplied...A Japanese Way to Maintain Constant Quality on Streaming Chaotically Supplied...
A Japanese Way to Maintain Constant Quality on Streaming Chaotically Supplied...Yusuke Goto
 
Nab Show 2019 報告会 - ATSC 3.0 / MOS / Machine Learning / 映像合成技術 編
Nab Show 2019 報告会 - ATSC 3.0 / MOS / Machine Learning / 映像合成技術 編Nab Show 2019 報告会 - ATSC 3.0 / MOS / Machine Learning / 映像合成技術 編
Nab Show 2019 報告会 - ATSC 3.0 / MOS / Machine Learning / 映像合成技術 編Yusuke Goto
 
Atomic Design という名のデザイン整理術
Atomic Design という名のデザイン整理術Atomic Design という名のデザイン整理術
Atomic Design という名のデザイン整理術Yusuke Goto
 
既存のフローからアップデートするアジャイル・デザインフロー
既存のフローからアップデートするアジャイル・デザインフロー既存のフローからアップデートするアジャイル・デザインフロー
既存のフローからアップデートするアジャイル・デザインフローYusuke Goto
 
UI 開発をアジャイルに行うための Atomic Design
UI 開発をアジャイルに行うための Atomic DesignUI 開発をアジャイルに行うための Atomic Design
UI 開発をアジャイルに行うための Atomic DesignYusuke Goto
 
(穴あり版) UI 開発をアジャイルに行うための Atomic Design (穴埋め解答版 → https://www.slideshare.net/y...
(穴あり版) UI 開発をアジャイルに行うための Atomic Design (穴埋め解答版 → https://www.slideshare.net/y...(穴あり版) UI 開発をアジャイルに行うための Atomic Design (穴埋め解答版 → https://www.slideshare.net/y...
(穴あり版) UI 開発をアジャイルに行うための Atomic Design (穴埋め解答版 → https://www.slideshare.net/y...Yusuke Goto
 
NAB Show 2018 Notes
NAB Show 2018 NotesNAB Show 2018 Notes
NAB Show 2018 NotesYusuke Goto
 
フェーズに応じて育てるデザインシステム
フェーズに応じて育てるデザインシステムフェーズに応じて育てるデザインシステム
フェーズに応じて育てるデザインシステムYusuke Goto
 
Web ブラウザで DRM
Web ブラウザで DRMWeb ブラウザで DRM
Web ブラウザで DRMYusuke Goto
 
リニア放送型動画サービスの 
Web フロントエンド
リニア放送型動画サービスの 
Web フロントエンドリニア放送型動画サービスの 
Web フロントエンド
リニア放送型動画サービスの 
Web フロントエンドYusuke Goto
 
Atomic Design powered by React @ AbemaTV
Atomic Design powered by React @ AbemaTVAtomic Design powered by React @ AbemaTV
Atomic Design powered by React @ AbemaTVYusuke Goto
 
Componentization with Gilgamesh
Componentization with GilgameshComponentization with Gilgamesh
Componentization with GilgameshYusuke Goto
 
Slides for Nonverbal Communication
Slides for Nonverbal CommunicationSlides for Nonverbal Communication
Slides for Nonverbal CommunicationYusuke Goto
 
Make a 1-minuite Presentation
Make a 1-minuite PresentationMake a 1-minuite Presentation
Make a 1-minuite PresentationYusuke Goto
 
Make Your Presentations More Effective
Make Your Presentations More EffectiveMake Your Presentations More Effective
Make Your Presentations More EffectiveYusuke Goto
 
Componentization for Reality
Componentization for RealityComponentization for Reality
Componentization for RealityYusuke Goto
 

Mais de Yusuke Goto (18)

ABEMA を次のフェーズへ進化させる技術への取り組み
ABEMA を次のフェーズへ進化させる技術への取り組みABEMA を次のフェーズへ進化させる技術への取り組み
ABEMA を次のフェーズへ進化させる技術への取り組み
 
Taipei Video Tech #5 talk : A Japanese Way to Maintain Constant Quality on St...
Taipei Video Tech #5 talk : A Japanese Way to Maintain Constant Quality on St...Taipei Video Tech #5 talk : A Japanese Way to Maintain Constant Quality on St...
Taipei Video Tech #5 talk : A Japanese Way to Maintain Constant Quality on St...
 
A Japanese Way to Maintain Constant Quality on Streaming Chaotically Supplied...
A Japanese Way to Maintain Constant Quality on Streaming Chaotically Supplied...A Japanese Way to Maintain Constant Quality on Streaming Chaotically Supplied...
A Japanese Way to Maintain Constant Quality on Streaming Chaotically Supplied...
 
Nab Show 2019 報告会 - ATSC 3.0 / MOS / Machine Learning / 映像合成技術 編
Nab Show 2019 報告会 - ATSC 3.0 / MOS / Machine Learning / 映像合成技術 編Nab Show 2019 報告会 - ATSC 3.0 / MOS / Machine Learning / 映像合成技術 編
Nab Show 2019 報告会 - ATSC 3.0 / MOS / Machine Learning / 映像合成技術 編
 
Atomic Design という名のデザイン整理術
Atomic Design という名のデザイン整理術Atomic Design という名のデザイン整理術
Atomic Design という名のデザイン整理術
 
既存のフローからアップデートするアジャイル・デザインフロー
既存のフローからアップデートするアジャイル・デザインフロー既存のフローからアップデートするアジャイル・デザインフロー
既存のフローからアップデートするアジャイル・デザインフロー
 
UI 開発をアジャイルに行うための Atomic Design
UI 開発をアジャイルに行うための Atomic DesignUI 開発をアジャイルに行うための Atomic Design
UI 開発をアジャイルに行うための Atomic Design
 
(穴あり版) UI 開発をアジャイルに行うための Atomic Design (穴埋め解答版 → https://www.slideshare.net/y...
(穴あり版) UI 開発をアジャイルに行うための Atomic Design (穴埋め解答版 → https://www.slideshare.net/y...(穴あり版) UI 開発をアジャイルに行うための Atomic Design (穴埋め解答版 → https://www.slideshare.net/y...
(穴あり版) UI 開発をアジャイルに行うための Atomic Design (穴埋め解答版 → https://www.slideshare.net/y...
 
NAB Show 2018 Notes
NAB Show 2018 NotesNAB Show 2018 Notes
NAB Show 2018 Notes
 
フェーズに応じて育てるデザインシステム
フェーズに応じて育てるデザインシステムフェーズに応じて育てるデザインシステム
フェーズに応じて育てるデザインシステム
 
Web ブラウザで DRM
Web ブラウザで DRMWeb ブラウザで DRM
Web ブラウザで DRM
 
リニア放送型動画サービスの 
Web フロントエンド
リニア放送型動画サービスの 
Web フロントエンドリニア放送型動画サービスの 
Web フロントエンド
リニア放送型動画サービスの 
Web フロントエンド
 
Atomic Design powered by React @ AbemaTV
Atomic Design powered by React @ AbemaTVAtomic Design powered by React @ AbemaTV
Atomic Design powered by React @ AbemaTV
 
Componentization with Gilgamesh
Componentization with GilgameshComponentization with Gilgamesh
Componentization with Gilgamesh
 
Slides for Nonverbal Communication
Slides for Nonverbal CommunicationSlides for Nonverbal Communication
Slides for Nonverbal Communication
 
Make a 1-minuite Presentation
Make a 1-minuite PresentationMake a 1-minuite Presentation
Make a 1-minuite Presentation
 
Make Your Presentations More Effective
Make Your Presentations More EffectiveMake Your Presentations More Effective
Make Your Presentations More Effective
 
Componentization for Reality
Componentization for RealityComponentization for Reality
Componentization for Reality
 

RUM と STM で実現する動画視聴における信頼性エンジニアリング