Chromium WebRTC Protocol Stack Working

127 views
Skip to first unread message

Hassan Iqbal

unread,
Mar 3, 2021, 12:27:32 PM3/3/21
to Chromium-dev
Hello,

I am new to WebRTC and trying to get a grip on the working of webRTC and its implementation. However, I am facing following challenges:
- I couldn't find a solid documentation that at least states how the packet flows in the stack or how it is implemented
- The use protocol terms RTP, SRTP, SCTP etc. in web blogs seems very confusing and inconsistent. No solid information on how these protocols interplay.
- IETF drafts and RFCs are numerous and they usually provide details about one piece of puzzle in whole stack. Connecting the dots becomes tricky. 
- Understanding webRTC stack just by looking at the code is like entering a rabbit hole.

So what I am looking for is some good references to solid documentations that can give me detailed understanding of 1) How WebRTC works, and 2) For video streaming, how different alphabetic soup of protocols interplay with each other. 

Also, any advice from the experienced developers on how to approach this problem of understand WebRTC and is protocol stack would be really helpful.

Thanks.

Alexandre GOUAILLARD

unread,
Mar 3, 2021, 3:59:01 PM3/3/21
to hassani...@gmail.com, Chromium-dev
Start Here (entire book):

Then read this one:
chapters: 1, 10, 12, 13, 14, 16, 19, 

Then you should have enough foundation to read more recent IETF specs, and to go into the code.

cheers.



--
--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-dev
---
You received this message because you are subscribed to the Google Groups "Chromium-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-dev...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/11bff5fc-425b-4700-b8b2-dc119f03a4bbn%40chromium.org.


--
Alex. Gouaillard, PhD, PhD, MBA
------------------------------------------------------------------------------------
President - CoSMo Software Consulting, Singapore
------------------------------------------------------------------------------------

Alexandre GOUAILLARD

unread,
Mar 4, 2021, 2:33:12 PM3/4/21
to Hassan Iqbal, Chromium-dev
Here are more references:

- you can go through the RFCs, starting with rfc1889 back from 1996, and going through all the 200+ that are used in webrtc. Please find attached the 30 pages long exhaustive list of all webrtc formal and informal dependencies compiled by Cisco CTO in 2018. This does not include specifications at the web level, only those at IETF level.

- You can go through the source code of webrtc.org and corresponding dependencies (usrsctp, libsrtp, libvpx, ....).  This represents 1.21M lines of code as of 2018 https://twitter.com/juberti/status/1083445783196663808

Please find attached a limited and simplified UML diagram of roughly half the classes involved in only the webrtc stack, only video, in chrome. This was a few years of work for several engineers to get there. Not to spoil the fun, this is the diagram for m73 which is obsolete by now. That gives you an idea of the effort involved. It's an A0 drawing, be ready to zoom ... a lot.

if you want simplifications, very high level training, that might not allow you to code or to develop after, but which would accelerate your first steps in the learning process, you should contact tsahi at bloggeek.me

On Fri, Mar 5, 2021 at 1:40 AM Hassan Iqbal <hassani...@gmail.com> wrote:
Thank you for suggestions. I will explore the books.

However, books take a while to complete and usually we are time bound.

Please, more references on this topic will be highly appreciated. Thanks.

draft-jennings-rtcweb-deps-22.txt
webrtc73_video_v7-4.jpg

Hassan Iqbal

unread,
Mar 4, 2021, 7:15:21 PM3/4/21
to Chromium-dev, agoua...@gmail.com, Chromium-dev, Hassan Iqbal
This is really helpful. Especially, the UML diagram as it gives a decent picture of connected components.
Thanks again.

Hassan Iqbal

unread,
Mar 4, 2021, 7:16:30 PM3/4/21
to Chromium-dev, agoua...@gmail.com, Chromium-dev, Hassan Iqbal
Thank you for suggestions. I will explore the books.

However, books take a while to complete and usually we are time bound.

Please, more references on this topic will be highly appreciated. Thanks.

Reply all
Reply to author
Forward
0 new messages