How can we analyze RTP packets in webRTC?

2,883 views
Skip to first unread message

Sukhui Kim

unread,
May 22, 2019, 9:31:22 PM5/22/19
to discuss-webrtc
Dears,

I would like to know how to analyze audio/video RTP packets in webRTC.
When using the Network Protocol Analyzer "Wireshark", there are some limitations that only 12 bytes of RTP header can be seen.
I could't analyze the RTP payload header and data anymore.

Please let us know how I can analyze audio/video RTP packets in webRTC.

Thanks.

Sean DuBois

unread,
May 23, 2019, 1:05:51 AM5/23/19
to discuss...@googlegroups.com
Hi,
RTP is encrypted (using SRTP) and is mandatory. Chromium does allow you to disable video-encryption here is a post on it (but you have to control both sides)

If you only control one side you probably will have to use a custom WebRTC client. This is can be done with Pion WebRTC (see the save-to-disk example you have direct access to RTP packets),  also possible with GStreamer. 

--

---
You received this message because you are subscribed to the Google Groups "discuss-webrtc" group.
To unsubscribe from this group and stop receiving emails from it, send an email to discuss-webrt...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/discuss-webrtc/f4e6b9bd-1bc0-47c4-b7b8-10ba56066b75%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

pps

unread,
May 23, 2019, 8:15:57 PM5/23/19
to discuss-webrtc
I also have a similar question: Is there an option or some way in libwebrtc to save complete communication in a pcap file for those who use libwebrtc in a native client?
So I could view it later in wireshark and inspect? 

Lorenzo Miniero

unread,
May 24, 2019, 4:38:36 AM5/24/19
to discuss-webrtc
Firefox has debug mechanisms that allow you to save the unencrypted traffic. You can find more details here: https://blog.mozilla.org/webrtc/debugging-encrypted-rtp-is-more-fun-than-it-used-to-be/

It's what led me to add a similar support in Janus as well: https://www.meetecho.com/blog/capturing-webrtc-traffic-in-janus/

Lorenzo

Sukhui Kim

unread,
May 26, 2019, 10:54:57 PM5/26/19
to discuss-webrtc
Dear, 

We run WebRTC on Android.
In this environment, I would like to know how to get unencrypted RTP/RTCP packet.
Help us at that point.

2019년 5월 23일 목요일 오전 10시 31분 22초 UTC+9, Sukhui Kim 님의 말:

Sean DuBois

unread,
May 27, 2019, 4:09:29 AM5/27/19
to discuss...@googlegroups.com
My suggestion from before still works.

What have you tried so far? what issues did you run into?

--

---
You received this message because you are subscribed to the Google Groups "discuss-webrtc" group.
To unsubscribe from this group and stop receiving emails from it, send an email to discuss-webrt...@googlegroups.com.

Sukhui Kim

unread,
May 27, 2019, 11:09:13 PM5/27/19
to discuss-webrtc
Dear,

Your suggestion was "Chromium does allow you to disable video-encryption here is a post on it (but you have to control both sides)" and "If you only control one side you probably will have to use a custom WebRTC client. This is can be done with Pion WebRTC (see the save-to-disk example you have direct access to RTP packets),  also possible with GStreamer.".

But we don't use Chromium browser and we are using the webRTC client we developed in Android.
And I have a question about Pion webRTC. If we apply your "save-to-disk example" to our webRTC client, then do we need to use Pion webRTC source to our webRTC source?



2019년 5월 27일 월요일 오후 5시 9분 29초 UTC+9, Sean DuBois 님의 말:
My suggestion from before still works.

What have you tried so far? what issues did you run into?

On Sun, May 26, 2019 at 7:55 PM Sukhui Kim <lon...@gmail.com> wrote:
Dear, 

We run WebRTC on Android.
In this environment, I would like to know how to get unencrypted RTP/RTCP packet.
Help us at that point.

2019년 5월 23일 목요일 오전 10시 31분 22초 UTC+9, Sukhui Kim 님의 말:
Dears,

I would like to know how to analyze audio/video RTP packets in webRTC.
When using the Network Protocol Analyzer "Wireshark", there are some limitations that only 12 bytes of RTP header can be seen.
I could't analyze the RTP payload header and data anymore.

Please let us know how I can analyze audio/video RTP packets in webRTC.

Thanks.

--

---
You received this message because you are subscribed to the Google Groups "discuss-webrtc" group.
To unsubscribe from this group and stop receiving emails from it, send an email to discuss...@googlegroups.com.

pps

unread,
May 28, 2019, 12:47:53 PM5/28/19
to discuss-webrtc
Hi Lorenzo,

I'll take a look at capturing-webrtc-traffic-in-janus, as I'm currently testing Janus to possibly use it in production for a voice chat service :)
Quick Janus related question: if webrtc supports FEC or out of band VAD, e.g. if a codec doesn't support silence frames, but webrtc detects silence and sends "special" frames to indicate silence to reduce bitrate (I'm actually not sure what webrtc supports nowadays, that's why I wanted to inspect traffic in the first place), so if webrtc supports all of these goodies, will it work as-is with Janus group calls where all media streams are relayed through Janus (eg no p2p connections between callers)?

Thanks.

Lorenzo Miniero

unread,
May 29, 2019, 4:39:51 AM5/29/19
to discuss-webrtc
I assume you're talking of the VideoRoom plugin here? Janus by itself does nothing more than establish WebRTC connection.

FEC relies on feedback from the recipient, so in a one-to-many it's harder to enforce: you have to "lie" on the publisher's end to tell them your connection is crap, to add more redundancy, or otherwise there won't be any. We don't do that yet.

For VAD, we support the audio-level RTP extension, so that can be used (and is what most services use for the purpose), but you have to tweak a few things (e.g., threshold, how long to evaluate, etc.) to receive talking events.

Lorenzo

Sukhui Kim

unread,
Jun 3, 2019, 2:33:28 AM6/3/19
to discuss-webrtc
Dear Sean,

As I understand, your comment should use Chromium or Pion WebRTC client as below,
"Chromium does allow you to disable video-encryption here is a post on it (but you have to control both sides)" and "If you only control one side you probably will have to use a custom WebRTC client. This is can be done with Pion WebRTC (see the save-to-disk example you have direct access to RTP packets),  also possible with GStreamer.".

But, we don't use Chromium browser and we use Android native API for WebRTC client.
So, please let me know how to analyze RTP packet of WebRTC client in the environment using Android native API.

Thanks,
Sukhui Kim.

2019년 5월 28일 화요일 오후 12시 9분 13초 UTC+9, Sukhui Kim 님의 말:

Dubois, Sean

unread,
Jun 3, 2019, 5:12:43 PM6/3/19
to discuss...@googlegroups.com

The Pion/GStreamer solution is a way to analyze video being sent/received by your Android client.

 

If you want to see the media sent to your Android client you should use Pion instead of your Android client and you can dump the incoming video.

If you want to see the media your Android client is sending you should connect your Android client to a Pion instance.

 

It is possible to use a null cipher sutie with WebRTC. But it requires having control of both sides.

To unsubscribe from this group and stop receiving emails from it, send an email to discuss-webrt...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/discuss-webrtc/5c327f70-cfe3-48ba-a91b-d1a9f72a5ac9%40googlegroups.com.

Sukhui Kim

unread,
Jun 5, 2019, 2:37:45 AM6/5/19
to discuss-webrtc
Dear Sean,

What does the below comment mean??
"It is possible to use a null cipher sutie with WebRTC. But it requires having control of both sides."
Can I set "null cipher" in WebRTC?
If it is yes, can I get Unencrypted RTP in WebRTC? And it is yes, how can I set "null cipher" in WebRTC?
Please answer me.

Thanks,
Sukhui Kim.


2019년 6월 4일 화요일 오전 6시 12분 43초 UTC+9, Dubois, Sean 님의 말:

Philipp Hancke

unread,
Jun 5, 2019, 2:44:13 AM6/5/19
to discuss...@googlegroups.com
try setting disable_encryption to true in your peerconnection options. See https://cs.chromium.org/chromium/src/third_party/webrtc/api/peer_connection_interface.h?dr=C&g=0&l=1306 for details.
Note that this voids your warranty.

To unsubscribe from this group and stop receiving emails from it, send an email to discuss-webrt...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/discuss-webrtc/a70ce4e8-268a-4744-ad6a-eceae7c70677%40googlegroups.com.

Sukhui Kim

unread,
Jun 5, 2019, 2:52:28 AM6/5/19
to discuss-webrtc
Thanks for your comment.
I'll check our source as your comment.

Thanks,
Sukhui Kim

2019년 6월 5일 수요일 오후 3시 44분 13초 UTC+9, Philipp Hancke 님의 말:
Reply all
Reply to author
Forward
0 new messages