WireShark过滤tcpdump RTP数据流

在调试Miracast的过程中,WFD会话建立后,AV流开始从source传递到sink端,继而调用解码器进行解码等后续操作。在UI不可见的情况下可以通过tcpdump抓到达端口的数据包,对其使用wireshark进行过滤后使用VLC进行播放,就可以直观的观测数据传递情况。


目录

  • 0.准备
  • 1.抓取tcpdump数据包
  • 2.wireshark包分析
  • 3.VLC播放
  • 4.查看格式

0.准备

安装包分析软件wireshark和软解码播放器vlc及其查看音视频格式的mediainfo工具

sudo apt-get install vlc
sudo apt install wireshark
sudo apt-get install mediainfo

1.抓取tcpdump数据包

在Sink端抓取tcpdump数据包

adb shell tcpdump -i any -s 0 -w /data/tcpdump.pcap   
//any表示抓取wlan0、p2p0、eth0等全部接口的数据包
//data/tcpdump.pcap表示保存在data下的tcpdump.pcap
adb pull /data/tcpdump.pcap ./

2.wireshark包分析

  1. 用wireshark打开tcpdump.pcap

WireShark过滤tcpdump RTP数据流_第1张图片

  1. 在Filter过滤关键字“rtp”并回车确认过滤

WireShark过滤tcpdump RTP数据流_第2张图片

  1. 选择Telephony->RTP->Stream Analysis
    WireShark过滤tcpdump RTP数据流_第3张图片
  2. 选择下方Save payload…
    WireShark过滤tcpdump RTP数据流_第4张图片
  3. 重命名为xxx.mp4并保存
    WireShark过滤tcpdump RTP数据流_第5张图片

3.VLC播放

使用VLC播放器解码播放上面的xxx.mp4,既可以直观查看到Source端发送过来的投屏数据,确认WFD建立成功。

4.查看格式

使用ubuntu的工具mediainfo可以查看一些音视频的信息

>mediainfo 1.mp4 

你可能感兴趣的:(WiFi,Display,android)