wireshark抓取rtp流保存为.264文件并播放


注:此文章含转载内容,如侵权,请联系我来删除;

在调试vlc播放器播放rtp时,由于出现卡顿,所以想把rtp流保存下来播放,看是否是rtp推的问题还是电脑解码问题。网上看到的类似文章,我都没成功,最后通过另外一篇文章解决;

保存的.264视频可以用于测试rtp传输,csdn上有很多测试视频,还要收分,这里想截多少截多少。

 

1. 关于保存成rtp流:

转载链接:https://blog.csdn.net/volvetandanny/article/details/47087641

转载内容:

由于近来发现网上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

说明:1. 第4步后,先关闭播放器,再打开,在tools下就有“Extract h264 stream from RTP”菜单了;

           2. 不建议采集前打开“Extract h264 stream from RTP”菜单,因为边采集边保存,电脑严重卡顿;

           3. dump.264我电脑是在同一路径下;

2. 关于如何播放

   网上找了好几个播放器,也都是没办法播放的,后来使用ffplay就可以了,据说可以使用ffmpeg进行转码为MP4或者avi文件;

   ffplay是控制台程序,可以将保存的dump.264文件拖动到ffplay图标上或者使用命令行打开;

    ffmpeg播放器地址:https://ffmpeg.zeranoe.com/builds/


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM