RTP抓包工具——抓包分析工具wireshark提取视频数据之RTP包中提取H264和H265

RTP抓包工具调研
学习RTP——抓包分析工具
wireshark提取视频数据之RTP包中提取H264和H265_wireshark h264_一二三的博客-CSDN博客
任务:
1 RTP流生成方法
2 抓包工具试用
RTP流的生成:
常用的RTP流的生成方法为:

  1. 使用ffmpeg生成RTP流:ffmpeg是一个开源的音视频处理工具,可以使用它来将音视频文件转换为RTP流。例如,将一个视频文件转换为RTP流的命令如下:
ffmpeg -i input.mp4 -c:v copy -an -f rtp rtp://destination_ip:destination_port

这里的input.mp4应该换成自己的MP4文件,rtp://destination_ip:destination_port应该是自己设置的推流地址和端口

  1. 使用GStreamer生成RTP流:GStreamer是一个开源的多媒体框架,也可以用来生成RTP流。例如,将一个摄像头的视频流转换为RTP流的命令如下:
gst-launch-1.0 v4l2src ! video/x-raw,width=640,height=480 ! x264enc ! rtph264pay ! udpsink host=destination_ip port=destination_port

其中,v4l2src是摄像头的视频源,video/x-raw是视频格式,x264enc是视频编码器,rtph264pay是将H.264编码的视频打包成RTP包的元素,udpsink是将RTP包发送到指定的IP地址和端口号的元素
Wireshark 抓包分析 RTSP/RTP

RTP抓包工具:wireshark(抓包工具几乎都用这个)


RTP通常工作于UDP传输协议上,
命令行中运行:

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


然后我们看到

这里的m后面的第三个值是payload type的值,应该在wireshark中设置这个值。参考
(好像不设置好像同样可以捕获到)
然后开启捕获

然后再应用筛选器输入:

ip.addr == 127.0.0.1 && udp.port == 20000

运行该命令后,在wireshark中是显示是这样的,我们直接搜索rtp是搜索不到的。因为rtp是基于udp进行通信,我们可以将其改为rtp的形式:

鼠标放在任意一个udp上右键,点击“Decode As…”,然后将这里选择RTP

然后点击结束或者关闭,会提示你需要保存,这时候保存可以保存为以下几种文件类型。

ps:这里查了一下,rtp的包保存的后缀应该是.pcap
比如这里生成11.pcap
双击打开后,通过点击这里查看详细信息:

RTP包的解析
将保存的wireshark




Timestamp:时间戳;

源标识符

参考链接:
【1】、Wireshark 抓包分析 RTSP/RTP/RTCP 基本工作过程
【2】、使用wireshark解析RTP包中的音频流
【3】、wireshark解析rtp协议,流媒体中的AMR/H263/H264包的方法

gst-launch-1.0 v4l2src ! video/x-raw,width=640,height=480 ! x264enc ! rtph264pay ! udpsink host=destination_ip port=destination_port
  • 23
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值