Wireshark从抓到的rtsp包中提取264流并播放

坑:

一定要有扎实的计算机网络知识的基础,否则。。TnT


过程:

  1. 通过过滤器捕获指定的IP(我这里是内网rtsp服务器IP:172.16.0.19)。
    Wireshark从抓到的rtsp包中提取264流并播放

  2. 选择一个RDT协议的package,然后右键Decode as…
    Wireshark从抓到的rtsp包中提取264流并播放
    可以发现,该包的默认及当前解码均为RDT(不知道其他人什么情况),更换当前解码为RTP

    Wireshark从抓到的rtsp包中提取264流并播放

  3. 更改过滤器规则
    Wireshark从抓到的rtsp包中提取264流并播放

  4. 任意选择一个package,查看payload type
    Wireshark从抓到的rtsp包中提取264流并播放
    我这里是96,要和下一步的wireshark 的payload type相同。

  5. 设置wireshark的H264 payload type
    Wireshark从抓到的rtsp包中提取264流并播放
    选择Preferences… 选项
    Wireshark从抓到的rtsp包中提取264流并播放
    选择Protocols选项
    Wireshark从抓到的rtsp包中提取264流并播放
    设置H264 payload types 为96。
    Wireshark从抓到的rtsp包中提取264流并播放
    已全部解码为H264协议的packages。

  6. 导出264裸流
    这里要用到一个wireshark 的lua插件:volvet/h264extractor(首页有使用介绍)
    此处我参考了如何从wireshark中获取H264码流(原创)

  7. 导出的264裸流默认在wireshark的安装目录,名为"dump.264"。