学习RTP——抓包分析工具

产生RTP包

使用ffmpeg可以直接生成RTP流。

播放30秒模拟测试流

ffmpeg -re -f lavfi -i sine=d=30 -re -f lavfi -i smptebars=d=30 -acodec libopus -vn -f rtp rtp://127.0.0.1:20000 -an -vcodec libvpx -f rtp rtp://127.0.0.1:20002

播放媒体文件

ffmpeg -re -i files/upload/1.mp4 -acodec libopus -vn -f rtp rtp://127.0.0.1:20016 -an -vcodec libvpx -f rtp -payload_type 100 rtp://127.0.0.1:20018

启动ffmpeg命令后,会输出RTP流的sdp,需要注意里面的payload type值,后面用的到。可以通过payload_type选项指定特定的值。

用tcpdump抓包

通过ifconfig命令查看网卡信息。选择一个网卡,例如:lo0。

sudo tcpdump -i lo0 udp port 20002 -w ./video.pcap

用wireshark分析

如果需要分析媒体帧,需要在Edit->Preferences->Protocols->VP8设置。填上前面payload type的值。

image.png

有用的参考

http://www.ffmpeg.org/ffmpeg-protocols.html#rtp

https://lmtools.com/content/rtp-timestamp-calculation

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。