wireshark抓取RTP流

用RTP封装H264并发送,不清楚是否发送成功的话,那么就用wireshark抓取一下流,看看是否有抓到流。

安装wireshark

先打开wireshark准备接收,然后打开发送rtp流的demo,开始发送。

因为RTP发送是基于UDP的,所以看到的Protocol显示的UDP,选中一行,点击右键,选择Decode As...

弹出如下窗口,将【当前】设置成RTP,(快捷键,输入R,就能定位到R开头的协议,更容易找到RTP)

wireshark抓取RTP流_第1张图片

设置好,如下:,点击OK

wireshark抓取RTP流_第2张图片

然后,UDP就改成了RTP。

wireshark抓取RTP流_第3张图片

选择电话,RTP,流分析,就能看到,是否抓到了流。

wireshark抓取RTP流_第4张图片

下图是个失败的例子,全部都没有捕获,都丢失了。原因是:我的nalu包,发送的时候,没有去掉nalu header。可以理解为RTP封装的时候,出了问题。

wireshark抓取RTP流_第5张图片

 

修改代码之后,下图找到流,成功!

wireshark抓取RTP流_第6张图片

试着进行播放:

左侧的demo是录制屏幕的,仅录制了640*480大小,然后rtp发送的。

右边是接受RTP数据的demo, 并显示。 

感觉上延时不到1s,可能是线程设置的不对,造成的延时。后面再继续优化优化。

wireshark抓取RTP流_第7张图片

站在巨人的肩膀上,链接如下:

https://blog.csdn.net/zhoubotong2012/article/details/86510032

你可能感兴趣的:(TOOL工具类,ffmpeg音视频开发)