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
36
tcで遊ぶ!WebRTC配信をわざと崩してみた話
TechRAMEN 2025 でLT登壇発表を行った際の資料です.
Takafumi Akiba
July 26, 2025
Tweet
Share
More Decks by Takafumi Akiba
See All by Takafumi Akiba
新雪プログラム説明会_秋葉
tarry
0
6
人の移動を活用した電子ペーパー更新システムの開発
tarry
0
200
Featured
See All Featured
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
The World Runs on Bad Software
bkeepers
PRO
70
11k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Java REST API Framework Comparison - PWX 2021
mraible
31
8.7k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.9k
A Tale of Four Properties
chriscoyier
160
23k
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コマンドを使用