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
Varun Singh
November 10, 2014
Technology
0
190
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
77
XRBLOCK Yokohama: update to various drafts
vr000m
0
62
Statistics and Metrics in WebRTC
vr000m
0
690
Flexible FEC
vr000m
0
110
WebRTC Statistics Identifier
vr000m
0
52
Multipath RTP Updates
vr000m
0
55
Protocols and Algorithms for Adaptive Multimedia Systems
vr000m
0
98
Gearbox: Cache-friendly Congestion Control for DASH
vr000m
0
120
Flexible FEC Update
vr000m
0
73
Other Decks in Technology
See All in Technology
comilioとCloudflare、そして未来へと向けて
oliver_diary
5
380
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
6
54k
MasterMemory v3 最速確認会
yucchiy
0
340
30分でわかるデータ分析者のためのディメンショナルモデリング #datatechjp / 20250120
kazaneya
PRO
17
4.3k
Storage Browser for Amazon S3を触ってみた + α
miura55
0
110
Cloudflareで実現する AIエージェント ワークフロー基盤
kmd09
0
240
3年でバックエンドエンジニアが5倍に増えても破綻しなかったアーキテクチャ そして、これから / Software architecture that scales even with a 5x increase in backend engineers in 3 years
euglena1215
11
4.3k
エンジニアリングマネージャー視点での、自律的なスケーリングを実現するFASTという選択肢 / RSGT2025
yoshikiiida
4
3.3k
OPENLOGI Company Profile
hr01
0
58k
I could be Wrong!! - Learning from Agile Experts
kawaguti
PRO
8
3k
テストを書かないためのテスト/ Tests for not writing tests
sinsoku
1
160
効率的な技術組織が作れる!書籍『チームトポロジー』要点まとめ
iwamot
2
200
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
YesSQL, Process and Tooling at Scale
rocio
170
14k
jQuery: Nuts, Bolts and Bling
dougneiner
62
7.6k
GraphQLの誤解/rethinking-graphql
sonatard
68
10k
Typedesign – Prime Four
hannesfritz
40
2.5k
Fireside Chat
paigeccino
34
3.1k
GitHub's CSS Performance
jonrohan
1030
460k
The Power of CSS Pseudo Elements
geoffreycrofte
74
5.4k
The Pragmatic Product Professional
lauravandoore
32
6.4k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.1k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
29
2.1k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.3k
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