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
tcで遊ぶ!WebRTC配信をわざと崩してみた話
Search
Takafumi Akiba
July 26, 2025
1
45
tcで遊ぶ!WebRTC配信をわざと崩してみた話
TechRAMEN 2025 でLT登壇発表を行った際の資料です.
Takafumi Akiba
July 26, 2025
Tweet
Share
More Decks by Takafumi Akiba
See All by Takafumi Akiba
ip_address_show_自作実装から学ぶNetlinkソケットプログラミング
tarry
0
21
新雪プログラム 学内説明会
tarry
0
11
人の移動を活用した電子ペーパー更新システムの開発
tarry
0
220
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
600
YesSQL, Process and Tooling at Scale
rocio
173
14k
The Power of CSS Pseudo Elements
geoffreycrofte
78
6k
The Pragmatic Product Professional
lauravandoore
36
6.9k
Designing Experiences People Love
moore
142
24k
Building Adaptive Systems
keathley
43
2.8k
Code Reviewing Like a Champion
maltzj
525
40k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
61k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.2k
Testing 201, or: Great Expectations
jmmastey
45
7.7k
Transcript
tcで遊ぶ!WebRTC配信をわざと崩してみた話 北海道情報大学大学院 経営情報学研究科 修士課程2年 湯村研究室 秋葉貴文
自己紹介 2 秋葉 貴文 所属 • 北海道情報大学大学院 修士2年 湯村研究室 好きなもの
• 電子ペーパー,ネットワーク,プログラミング 好きなラーメン • 麺屋 壱福 (味玉つけめん)
背景 • 自動運転の普及が全世界的に進む • レベル4自動運転には遠隔監視が必要 • 遠隔監視システムのUIには改善の余地あり • UI設計を行うために自動運転車の実機を運行をするこ とはコスト面で難しい
• 実際の自動運転監視システムでは、通信状況の低 下で映像が乱れる • 通信品質の低下を再現したい 3 永平寺町の遠隔監視室 横山利夫, 胡内健一, 新谷幸太郎. 自動運転レベル4 等先進モビリティサービス研究開発・社会実装プロ ジェクト(road to the l4) の紹介. IATSS Review (国 際交通安全学会誌), Vol. 48, No. 2, pp. 88–96, 2023. より引用. 石川県小松市の自動運転バス 「Minubus」(ティアフォー社製)
背景 バーチャル都市を構築し, 車載カメラ映像を外部へストリーミングする 4
実験環境 バーチャル都市 • ゲームエンジンUnityでバーチャル都市を構築 • 都市建築モデルにはPLATEAUを用いた • 札幌駅付近のLOD2建築モデル • バーチャル都市内の車載カメラ映像をストリーミング
• 外部へのストリーミングはWebRTCを用いて行う • Unity Render Streamingを用いて実装 • 自動運転車はあらかじめ決められたルートを走行 5
実験環境 クライアント • Webブラウザで閲覧可能なWebサービスとして実装 • 2本の車載カメラ映像を受信し,個別ウィンドウに表示する • ウィンドウはマウスでドラックして任意の位置に配置可能 6
WebRTCとは • Web Real-Time Communicationの略 • ブラウザやアプリ間で音声や映像をリアルタイムにやり取りできる技術 7 主な特徴 •
リアルタイム性 • 低遅延での通信 • P2P通信 • サーバーを経由せず端末同士で接続 • 標準化 • W3C/IETFによって標準化 • オープンソース • 多くのブラウザが標準サポート 代表的な利用例 • ビデオ会議・音声通話 • 低遅延での通信 • オンラインゲームの低遅延通信 • ライブ配信・監視カメラ映像転送 • ファイル共有やIoTデータ送信
実験環境 設計 • クライアントのネットワークインターフェースを利用し、 パケットを制御することで通信品質を動的に調整する • Linuxのネットワークトラフィック制御ツールである tc (traffic control)
コマンドを使用する 機能 • 任意のネットワークパラメータを指定することで通信品質 の変動を再現する • 今回は,事前に用意したネットワークパラメータを手動実 行した 8 クライアント 車載カメラ映像のストリーミング (WebRTC) バーチャル都市 車載カメラ映像 tcコマンドを使用
通信品質の壊し方 • tc (traffic control command) とは • Linux 標準のネットワーク帯域制御コマンド
• qdisc (キューイングディシプリン) を用いて 遅延・ロス・帯域制限 などを再現可能 • ネットワーク実験・検証・開発環境で利用される • スループットとは • 一定時間あたりに転送できるデータ量 • 例:1Mbpsに制限すると大量送信が難しくなる • 遅延とは • パケットが送信されてから届くまでの時間 • パケット待たせることでリアルタイム性を低下させる • パケットロスとは • パケットが途中で失われる現象 • 一部のパケットを破棄して再送や品質低下を発生させる 9
配信映像を崩してみる 10 番号 スループット (Mbps) 遅延 (ms) ロス (%) 特徴
パターン0 none none none パラメータ指定なし パターン1 3 60 1.1 車載通信の実測値 [7]を引用 パターン2 5 30 5 ロスが大きい パターン3 5 30 10 ロスが大きい パターン4 5 200 1 遅延が大きい パターン5 5 200 5 ロスと遅延が大きい 7)金子直矢, 伊東孝紘, 勝田肇, 渡辺敏暢, 阿部博, 大西亮吉ほか. 複数回線を冗長併用する通信技術のwebrtc 映像伝送への適用と評価. 情報処理学会論文誌デジタルプラクティス(TDP), Vol. 3, No. 3, pp. 21–31, 2022. 色々なパターンを試してみる
配信映像を崩してみる 11 パターン1(車載通信の実測値を参考) パターン3(ロスが大きい)
まとめ tcと遊ぶ!WebRTC配信をわざと崩してみた 目的 • 自動運転の遠隔監視 UI 改善を目指す • 通信品質低下を再現するための実験を実施 方法
• Unity + PLATEAUでバーチャル都市を構築 • WebRTC(Unity Render Streaming)で車載カメラ映像を配信 • tc コマンドで 帯域・遅延・ロス を制御して通信品質を変化 実験結果 • さまざまなパターン(実測値・高ロス・高遅延など)を適用 • 映像品質がどのように変化するかを確認 成果 • コストをかけずに 現実的な通信劣化 を再現可能 • 遠隔監視UIの設計・評価に活用できる知見を獲得 12 車載カメラ映像のストリーミング (WebRTC) バーチャル都市 車載カメラ映像 tcコマンドを使用