转载自:https://blog.csdn.net/luckydarcy/article/details/69666414

背景:最近在参与一个ARM平台的音视频传输的项目,同事说已经是高清视频了,但是显示模糊,显然不能达到高清要求,于是就想抓包分析一下。


Step 1:执行如下命令,在 ARM 平台上用 tcpdump 抓包并保存为 test.cap。

tcpdump –i eth0 –nn –w test.cap
  • 1

然后启动我们的多媒体通信程序,抓取几秒的数据即可。

Step 2:用 WireShark 工具打开 test.cap 文件。

Step 3:右键点击 H264 的 UDP 包,选择“Decode as…”,选择 RTP,点击 OK 之后就解析成 RTP 包了。

Step 4:查看 RTP 包的 payload type,例如我们这里是102。
【Dynamic payload types which will be interpreted as H264; Values must be in the range 96 - 127】

Step 5:然后在 WireShark 工具栏中选择 Edit –> preferences –> protocols –> H264,把“H264 dynamic payload types”设成 102,点击 OK。

Step 6:为方便查看,在 Filter 中输入“h264”过滤出 H264 数据包,如下。

Step 7:选择 SPS(Sequence Parameter Set),展开 H.264 数据包,找到 pic_width_in_mbs_minus1pic_height_in_map_units_minus1

Step 8:

这里需要特别提一下这两个参数:

  • pic_width_in_mbs_minus1 = 21
  • pic_height_in_mbs_minus1 = 17
    分别表示图像的宽和高,以宏块(16x16)为单位的值减1
    因此可以算出实际分辨率,X = (21+1)*16 = 352,Y = (17+1)*16 = 288,显然并不是高清视频。

利用WireShark分析H264码流相关推荐

  1. 完成一个分析H264码流的工具

    最近又开始搞视频相关的东西了.之前一直对H264有畏惧,觉得太难,现在开始慢慢去接触它,了解它.无意中,看到网上有人对H264码流进行分析.地址:http://blog.csdn.net/leixia ...

  2. 实现对rtp H264码流的组帧

    rtp打包h264,包含了三种类型的包: 一个rtp包携带了一帧数据(single) 多个rtp包携带了一帧数据(FU-A) 一个rtp包携带了多帧数据(STAP-A) 在实际应用中绝大部分采用的是前 ...

  3. H264码流分析工具

    概述 本文作为一个笔记,记录笔者学习H264码流的过程.重点记录使用工具分析H264码流.使用该工具,可方便查看码流中NALU的结构,为我们学习和理解有很大帮助. H264码流介绍 笔者直接参考:ht ...

  4. H264码流打包分析(精华)

    H264码流打包分析 SODB 数据比特串-->最原始的编码数据 RBSP 原始字节序列载荷-->在SODB的后面填加了结尾比特(RBSP trailing bits 一个bit" ...

  5. H264码流打包分析

    H264码流打包分析 SODB 数据比特串-->最原始的编码数据 RBSP 原始字节序列载荷-->在SODB的后面填加了结尾比特(RBSP trailing bits 一个bit" ...

  6. h264码流及h265码流结构分析,NAL头类型分析

    视频编码标准规定了编码后码流的语法语义,也就阐明了从比特流提取语法元素并进行解释的方法,也就是视频的解码过程.   1.h264码流结构解析:     H.264/AVC(Advanced Video ...

  7. 【H.264/AVC视频编解码技术】第二章【H264码流分析】

    H264码流分层 NAL层,视频数据网络抽象层,作用是控制二进制数据的传输,主要用于网络传输.  VCL层,视频数据编码层. VCL结构关系 NALU NAL Header (1B)+ RBSP H2 ...

  8. RTP协议解析和H264码流提取

    一. h264基础概念 SODB: 数据比特串-->最原始的编码数据 RBSP: 原始字节序列载荷-->在SODB的后面填加了结尾比特(RBSP trailing bits 一个bit&q ...

  9. H264码流RTP封装方式详解

    H264码流RTP封装方式详解 文章目录 H264码流RTP封装方式详解 1 H264基本概念 2 NALU Header介绍 3 RTP封装H264码流 3.1 单一NALU模式 3.2 组合帧封装 ...

  10. 应用角度理解H264码流

    应用角度理解H264码流 前言 1.NAL 2.SPS.PPS 2.1 SPS 2.2 PPS 3.Slice&MB 3.1.Slice 3.2.MB 4.RTP负载 5.AUD 6.文献 前 ...

最新文章

  1. 【拥抱大厂系列】几个面试官常问的垃圾回收器,下次面试就拿这篇文章怼回去!
  2. Django--form验证及错误处理
  3. 7大最重要的管理方法
  4. myisam数据表根据frm文件恢复数据表
  5. mysql日志监控 zabbix_zabbix监控mysql哪些性能
  6. python从tushare获取数据_python调用tushare获取股票月线数据
  7. uboot命令及内核启动参数
  8. 《Single Image Haze Removal Using Dark Channel Prior》一文中图像去雾算法的原理、实现、效果及其他。...
  9. makefile编写---:= ?= += =的区别
  10. 雅虎网站页面性能优化的34条黄金守则
  11. 蓝桥杯备考-python刷题之路-动态规划算法(DP算法)Part3【最终代码实现
  12. PS(Photoshop)去水印的4个方法
  13. Leetcode刷题100天—5855. 找出数组中的第 K 大整数(优先队列)—day22
  14. 浏览器无法显示网页解决方法
  15. windows10应用程序需要设置管理员权限自启动
  16. Java——万字总结网络编程
  17. 【STM32】DAC详解
  18. YOLOX训练自己标注的数据集
  19. 致青春触动心灵的英语美文——我们不是骄纵的孩子
  20. 用商业策划书与VC打交道

热门文章

  1. 电脑win7做系统备份
  2. Android camera HAL框架
  3. java constants_Java Constants类代码示例
  4. 如何用GIS做城市购房选址分析
  5. MATLAB绘制海面风场图像(海面风场反演)
  6. 以下关于python缩进的描述_以下关于Python缩进的描述中,错误的是
  7. 怎么用计算机看亲戚关系,小米亲戚计算器怎么用?如何利用小米计算器查询亲戚关系...
  8. 计算机内置管理员,Win10无法使用内置管理员账户打开应用怎么解决?
  9. PHP工程师的最佳学习路线
  10. 【论文翻译笔记】Seamlessly Unifying Attributes and Items: Conversational Recommendation for Cold-Start User