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