当前位置:   article > 正文

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

wireshark rtp

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
  • 1

这里的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
  • 1

其中,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
  • 1


然后我们看到

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

然后再应用筛选器输入:

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

运行该命令后,在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
  • 1
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/683106
推荐阅读
相关标签
  

闽ICP备14008679号