由于近来发现网上wireshark获取H264码流的方法都有点错误,为此研究了一下这种方法,最后发现还是可行的,能成功获取H264裸码流。
借鉴的网页:https://wiki.wireshark.org/Lua
http://www.lua.org/
1.首先安装wireshark软件,这个用过的人都知道它的强大之处
2.查看安装路径下是否存在init.lua,确保disable_lua = false
3.在init.lua的最后加上dofile(DATA_DIR.."rtp_h264_extractor.lua")
4.把rtp_h264_extractor.lua这个文件放在init.lua同一个路径下
5.用wireshark抓取H264视频码流,最好过滤掉其他码流
6.右键点击H264的udp包,选择"Decode as...",再选择Transport中的rtp选项,就解析成rtp包了
7.查看rtp包的payload type,比如说type是96,那么在wireshark工具栏选择Edit->preferences->protocols->H264, 把H264 dynamic payload types设成96
8.现在就可以选择点击tools下的"Extract h264 stream from RTP"菜单项
9.这样就可以生成dump.264,一般会放在与码流文件同一个路径下,由于环境变量的不同,也可能放在其他路径下
10.该文件rtp_h264_extractor.lua目前已经支持了排序,FU-A,STAP-A等常见的rtp h264打包方式
11.下载该文件的路径在https://github.com/volvet/h264extractor
12. 也可以在csdn的下载页下载,地址为http://download.csdn.net/detail/volvetandanny/8937395