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
Flexible FEC: Encoding in RTP
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Varun Singh
November 10, 2014
Technology
0
230
Flexible FEC: Encoding in RTP
Payload WG, IETF91, Honolulu
Varun Singh
November 10, 2014
Tweet
Share
More Decks by Varun Singh
See All by Varun Singh
WebRTC Application interactions API
vr000m
0
91
XRBLOCK Yokohama: update to various drafts
vr000m
0
76
Statistics and Metrics in WebRTC
vr000m
0
770
Flexible FEC
vr000m
0
130
WebRTC Statistics Identifier
vr000m
0
63
Multipath RTP Updates
vr000m
0
94
Protocols and Algorithms for Adaptive Multimedia Systems
vr000m
0
110
Gearbox: Cache-friendly Congestion Control for DASH
vr000m
0
140
Flexible FEC Update
vr000m
0
87
Other Decks in Technology
See All in Technology
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1.1k
8万デプロイ
iwamot
PRO
2
170
クラウド時代における一時権限取得
krrrr38
1
170
問い合わせ自動化の技術的挑戦
recruitengineers
PRO
2
170
Digitization部 紹介資料
sansan33
PRO
1
7k
ブラックボックス観測に基づくAI支援のプロトコルのリバースエンジニアリングと再現~AIを用いたリバースエンジニアリング~ @ SECCON 14 電脳会議 / Reverse Engineering and Reproduction of an AI-Assisted Protocol Based on Black-Box Observation @ SECCON 14 DENNO-KAIGI
chibiegg
0
150
Kaggleの経験が実務にどう活きているか / kaggle_findy
sansan_randd
6
950
Data Hubグループ 紹介資料
sansan33
PRO
0
2.8k
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
3k
Devinを導入したら予想外の人たちに好評だった
tomuro
0
930
Windows ネットワークを再確認する
murachiakira
PRO
0
290
タスク管理も1on1も、もう「管理」じゃない ― KiroとBedrock AgentCoreで変わった"判断の仕事"
yusukeshimizu
2
1.3k
Featured
See All Featured
It's Worth the Effort
3n
188
29k
Raft: Consensus for Rubyists
vanstee
141
7.3k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
340
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
170
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.4k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
0
450
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.4k
Prompt Engineering for Job Search
mfonobong
0
180
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
190
Transcript
flexible-FEC Ali C Begen Varun Singh Mo Zanaty AVTCore, IETF
91 draft-singh-payload-rtp-1d2d-parity-scheme-00
Motivation • Scalability issues with – RFC 5109 – SMPTE 2022-1 – RFC
2733
Row FEC (1D) 1 2 3 7 8 9 4
5 6 R1 R2 R3 ! 1 2 3 7 8 9 4 5 6 R1 R2 R3 ! !
Column FEC (1D) 1 2 3 7 8 9 4
5 6 C1 C2 C3 1 2 3 7 8 9 4 5 6 C1 C2 C3 ! ! ! ! ! ! !
2-D FEC 1 2 3 7 8 9 4 5
6 C1 C2 C3 R1 R2 R3 ! ! ! ! 1 2 3 7 8 9 4 5 6 C1 C2 C3 R1 R2 R3 ! ! ! ! !
RFC 6363: FEC Framework RTP Packets FEC Code FEC Module
RTP (De)mux Transport Layer (UDP) IP Repair RTP Source RTP
Format of repair packets IP Transport RTP header FEC header
Repair Symbol RTP payload
FEC payload 0
1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+ |MSK|P|X| CC |M| PT recovery | SN base | +-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+ | TS recovery | +-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+ | length recovery |M or Mask[8-‐15]| N or Mask[0-‐7]| +-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+ | Mask [16-‐47] (optional) | +-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+ | | + Mask [48-‐111] (optional) + | | +-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+-‐+
MSK values (1/2) • 00 à 16-bit mask • 01
à 48-bit mask • 10 à 112-bit mask • 11 à variable length mask, see M and N values
MSK values (2/2) • M=0, N=0 à fixed values indicated
in SDP • M>0, N=0 à non-interleaved of M packets starting from SN_base – FEC = SN, SN+1, SN+2,…, SN+(M-‐1), SN+M. • M>0, N>0 à interleaved with M offset starting from SN_base in a group of N packets – FEC = SN+(Mx0), SN+(Mx1),…, SN+(MxN).
Next steps • Discussion in MMUSIC about SDP • Adoption
as PAYLOAD WG-item