wireshark抓包数据获取rtsp请求的视频流
2019-1-17 C++
lua脚本下载:https://github.com/volvet/h264extractor
1. 安装wireshark软件
2. 编辑wireshark安装目录底下的init.lua,设置disable_lua = false;
3. 在init.lua的最后加上dofile(DATA_DIR.."rtp_h264_extractor.lua")
4. 把rtp_h264_extractor.lua放在wireshark同一路径下
5. 打开wireshark抓取的网络数据流
6.设置过滤条件分析:如rtsp.method == "PLAY" && ip.src == 1.1.1.1
获取ip地址为1.1.1.1请求的所有rtsp视频流
7.通过tcp端口获取要分析的视频流的所有交互数据:如tcp.port == 57109
获取通过57109该端口交互的rtsp视频流数据
8.导出该视频流数据:文件->导出特定分组 All packets Displayed
9.查看导出的数据视频流编码格式:
查找抓包数据服务端对客户端DESCRIBE请求的回复数据包,找到Media Attribute节点
查看编码是否H264,及type值 如96,如是H264则继续往下
10.设置H264的编码载体类型
编辑->首选项->Protocols->H264设置H264 dynamic payload types为96
11.导出H264数据裸流:工具->Extract h264 stream from RTP
12.在数据流的同一目录底下生成dump.264
13.打开vlc,设置分流器为H264
工具->偏好设置->全部(出来高级偏好设置)->输入/编解码器->分流器->分流模块->H264
14.编号生成的dump.264文件