RTSP协议是TCP/IP协议体系中的一个应用层协议,EasyNVR视频平台即是支持RTSP协议的流媒体服务器,能够自由对接流媒体服务器平台,支持微信、QQ、支付宝等工具,扫一扫直接观看,且不限制观看人数。
EasyNVR视频平台拉取RTSP流时,在使用wireshark抓包取RTP数据包时,如何把RTP传输的视频流保存成视频文件进行播放?
问题分析:
在EasyNVR拉取摄像头的视频流时,通过wireshark抓包可以看到,EasyNVR与摄像头之间通过RTP传输视频流,那如何确认视频源是否有问题,可以在wireshark抓包的时候,保存摄像头通过RTP协议传输过来的视频流,如何通过wireshark保存RTP数据包成视频文件?
- 在wireshark安装目录下的init.lua文件中的enable_lua为true
- 在init.lua的最后加上dofile(DATA_DIR…“rtp_h264_extractor.lua”)
-
下载rtp_h264_extractor.lua文件:
https://github.com/volvet/h264extractor
把rtp_h264_extractor.lua文件放在于init.lua同目录下 -
打开wireshark后,在wireshark工具菜单栏出现Extract h264 stream from RTP
- 用wireshark抓取RTP数据包,同时点击Extract h264 stream from RTP
- 在rtp_h264_extractor.lua同级目录下生成
- 使用ffplay进行播放,可以看到视频流可正常播放
来源:oschina
链接:https://my.oschina.net/u/4619556/blog/4664543