wireshark提取视频数据之RTP包中提取H264和H265
创始人
2024-01-31 04:27:03
0

wireshark提取视频数据之RTP包中提取H264和H265

文章目录

  • wireshark提取视频数据之RTP包中提取H264和H265
    • 1 背景
    • 2 提取前工作
    • 3 H264视频从RTP包中提取步骤
    • 4 H265视频从RTP包中提取步骤
    • 5 后记

1 背景

在流媒体相关问题分析时,抓包分析是非常重要的手段,比如播放有码流无图像、流媒体协议对接问题、码流花屏卡顿等问题,很多问题都可以通过抓包然后分析包数据来定位出问题,抓包最常用的工具是wireshark,其能从数据链路层、IP层、传输层、应用层等各层进行分析,支持多种协议,具体用法可百度。本文主要介绍抓包分析的一种场景,怎么通过wireshark从rtp包中把视频的原始数据提取出来,通过对原始视频流的分析可以知道视频流编码是否存在问题是否有丢帧等问题。

2 提取前工作

准备工作如下:

  • 下载wireshark并安装:可百度下载并安装
  • 抓取RTP包:可通过ffmpeg模拟rtsp服务器,通过vlc申请视频,并通过wireshark抓取rtp视频流包,也可关注公众号壹零仓,发送视频流分析的消息,获取已经抓好的数据包(视频流分析->wireshark数据包:h264_rtsp_over_udp.pcapng和h265_rtsp_over_udp.pcapng)
  • 下载wireshark插件:可关注公众号壹零仓,发送视频流分析的消息,获取(视频流分析工具->wiresharkplugins.zip)

本文主要描述如何从rtp打包的H264或者H265中提取H264或H265裸流,rtp传输方式为UDP,后续文章会介绍如何从传输方式为TCP的rtp中提取视频数据。

3 H264视频从RTP包中提取步骤

H264视频流提取步骤如下:

  • 下载并安装wireshark,可下载最新版本,
    下载地址

  • 解压wiresharkplugins.zip压缩包,把压缩包中的两个插件放到wireshark安装目录下的plugins目录下,如果已打开wireshark,需要重启wireshark,路径如下所示:
    插件

  • 使用wireshark打开h264_rtsp_over_udp.pcapng的抓包文件,也可使自己抓的视频流的包文件,打开后选择要提取的视频流rtp包,右键->follow->UDP stream,关闭当前流详情页面,过滤掉其他的无关包,只选取此路视频的包。
    在这里插入图片描述

  • 在包数据上右键->decode as…,在current属性列表中选择rtp,解码成rtp包,最新版应该会自动识别,如果未视频成rtp可通过此步骤解码,此时包的协议类型未rtp,可以看到其payload type为96
    i

  • 选择菜单Edit->Preferences,打开首选项,左侧菜单列表选择Protocols->H.264,这里抓包的视频编码是H.264,fu-a编码的方式,根据上一步骤获取的PT为96,H.264 dynamic payload types 填写96,然后点击OK,这里wireshark应该会把rtp解析成H.264格式,如果以前已经配置了96,但是协议还是没有变成H.264的格式,可通过先配置成其他值,然后再改成96来触发FU-A的解码,这可能是wireshark的一个bug。
    在这里插入图片描述

  • 当Protocol变成H264,Info中FU-A时,即可通过插件进行提取,选择菜单Tools->Video->Export H264弹出导出弹窗,点击Export All,即可导出H264裸流,点击Browse可打开导出文件夹,点击Play 1可直接播放裸流。
    i
    v

  • 裸流导出后,可通过vlc直接播放,看是否正常,也可通过Elecard StreamEye Tools分析编码信息及流信息。

4 H265视频从RTP包中提取步骤

H265视频提取与H264提取类似,用wireshark打开h265_rtsp_over_udp.pcapng,选择rtp的一路视频后通过右键->follow->UDP stream,过滤掉其他包数据,然后通过右键->decode as…解码成RTP,此时获取到rtp的 payload type,这里也是96,之后步骤略有不同,如下:

  • 选择菜单Edit->Preferences,打开首选项,左侧菜单列表选择Protocols->H.265,根据上一步骤获取的PT为96,H.265 dynamic payload types 填写96,然后点击OK,这里wireshark应该会把rtp解析成H265格式,如果以前已经配置了96,但是协议还是没有变成H265的格式,可通过先配置成其他值,然后再改成96来触发FU-A的解码。
    i
  • 选择菜单Tools->Video->Export H265弹出导出弹窗,点击Export All,即可导出H265裸流,点击Browse可打开导出文件夹,点击Play 1可直接播放裸流。
    v
  • 裸流导出后,可通过vlc直接播放,看是否正常,也可通过Elecard-HEVC-Analyzer分析编码信息及流信息

5 后记

后续文章会介绍下如何从rtp流中提取PS流,如何从RTP over TCP中提取H264/H265裸流
相关文章、RTP相关知识、工具及抓包,可注公众号壹零仓,发送视频流分析rtp等消息获取

相关内容

热门资讯

俄外交部:建议日本修建“日本军...   俄罗斯外交部发言人扎哈罗娃25日表示,建议日本在其境内修建一座“日本军国主义受害者纪念堂”,以忏...
我国成功发射风云四号03星   北京时间12月27日0时07分,我国在西昌卫星发射中心使用长征三号乙运载火箭,成功将风云四号03...
“农”墨重彩促振兴・四季画卷绘...   “农”墨重彩促振兴  冬藏回望处,耕耘致岁丰;年轮刻印时,画卷展新程。津沽大地的四季轮回,在冬日...
情绪消费撑起万亿蓝海   最近,“爱你老己”在互联网上走红了。  这个被誉为“年度最暖心的热梗”,反映出当代年轻人“爱自己...
全球最长,中国高铁十万里!   中国高铁运营里程突破5万公里!  高铁发展再上新台阶  临近岁末  中国开通多条高铁线路  进一...
强冷空气来袭,这几类人最危险!...   近日,我国多地出现  大风降温和雨雪天气。  天气“变脸”,  哪些人需要特别当心?  如何做好...
视频丨一条高速串起天山南北 库...   乌尉高速像一条丝带串联起了天山南北,全长324.7公里的乌尉高速公路串联了乌鲁木齐都市圈、北疆城...
现货白银价格一度突破每盎司75...   新华社北京12月26日电 据路透社报道,现货白银价格26日一度突破每盎司75美元,创历史新高。 ...
快递行业向“新”向“智”向“绿...   央视网消息:12月25日,国家邮政局举行新闻发布会。相关负责人表示,“十四五”期间,我国快递包装...
教育部公布2024—2025学...   近日,教育部发布公告,公布2024—2025学年度本专科生国家奖学金获奖学生名单。跟教育小微一起...