使用wireshark抓取视频流中的H264协议,并分析

最近在学习视频编解码,下面是总结的一点基础:
一:使用wireshark抓取H264协议的视频流
(1):播放视频流(本人使用FFmpeg播放rtsp视频流),打开wireshark工具,选中UDP数据包–>右键–>选择“解码为”–>选择RTP–>OK 如下图:

使用wireshark抓取视频流中的H264协议,并分析

(2):根据显示的RTP数据包,得到Type-96,然后:编辑–>首选项–>Protocols–>找到h264–>输入dynamic payload types:

使用wireshark抓取视频流中的H264协议,并分析

(3):成功显示如下:

使用wireshark抓取视频流中的H264协议,并分析

二:下面开始分析抓取的H264数据包(网络摄像机数据包)
(1)找到sps和pps的数据包,紧挨着pps的就是IDR-Slice,它是I帧的第一个包(I帧是分包传输):

使用wireshark抓取视频流中的H264协议,并分析

(2):寻找确定P帧,具体分析如下:

使用wireshark抓取视频流中的H264协议,并分析

(3)sps和pps在数据包中的区分如下:

使用wireshark抓取视频流中的H264协议,并分析

(4)P帧和I帧在数据包中的区分:

使用wireshark抓取视频流中的H264协议,并分析