利用WireShark分析H264码流
转载自: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_minus1
和 pic_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码流相关推荐
- 完成一个分析H264码流的工具
最近又开始搞视频相关的东西了.之前一直对H264有畏惧,觉得太难,现在开始慢慢去接触它,了解它.无意中,看到网上有人对H264码流进行分析.地址:http://blog.csdn.net/leixia ...
- 实现对rtp H264码流的组帧
rtp打包h264,包含了三种类型的包: 一个rtp包携带了一帧数据(single) 多个rtp包携带了一帧数据(FU-A) 一个rtp包携带了多帧数据(STAP-A) 在实际应用中绝大部分采用的是前 ...
- H264码流分析工具
概述 本文作为一个笔记,记录笔者学习H264码流的过程.重点记录使用工具分析H264码流.使用该工具,可方便查看码流中NALU的结构,为我们学习和理解有很大帮助. H264码流介绍 笔者直接参考:ht ...
- H264码流打包分析(精华)
H264码流打包分析 SODB 数据比特串-->最原始的编码数据 RBSP 原始字节序列载荷-->在SODB的后面填加了结尾比特(RBSP trailing bits 一个bit" ...
- H264码流打包分析
H264码流打包分析 SODB 数据比特串-->最原始的编码数据 RBSP 原始字节序列载荷-->在SODB的后面填加了结尾比特(RBSP trailing bits 一个bit" ...
- h264码流及h265码流结构分析,NAL头类型分析
视频编码标准规定了编码后码流的语法语义,也就阐明了从比特流提取语法元素并进行解释的方法,也就是视频的解码过程. 1.h264码流结构解析: H.264/AVC(Advanced Video ...
- 【H.264/AVC视频编解码技术】第二章【H264码流分析】
H264码流分层 NAL层,视频数据网络抽象层,作用是控制二进制数据的传输,主要用于网络传输. VCL层,视频数据编码层. VCL结构关系 NALU NAL Header (1B)+ RBSP H2 ...
- RTP协议解析和H264码流提取
一. h264基础概念 SODB: 数据比特串-->最原始的编码数据 RBSP: 原始字节序列载荷-->在SODB的后面填加了结尾比特(RBSP trailing bits 一个bit&q ...
- H264码流RTP封装方式详解
H264码流RTP封装方式详解 文章目录 H264码流RTP封装方式详解 1 H264基本概念 2 NALU Header介绍 3 RTP封装H264码流 3.1 单一NALU模式 3.2 组合帧封装 ...
- 应用角度理解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.文献 前 ...
最新文章
- 【拥抱大厂系列】几个面试官常问的垃圾回收器,下次面试就拿这篇文章怼回去!
- Django--form验证及错误处理
- 7大最重要的管理方法
- myisam数据表根据frm文件恢复数据表
- mysql日志监控 zabbix_zabbix监控mysql哪些性能
- python从tushare获取数据_python调用tushare获取股票月线数据
- uboot命令及内核启动参数
- 《Single Image Haze Removal Using Dark Channel Prior》一文中图像去雾算法的原理、实现、效果及其他。...
- makefile编写---:= ?= += =的区别
- 雅虎网站页面性能优化的34条黄金守则
- 蓝桥杯备考-python刷题之路-动态规划算法(DP算法)Part3【最终代码实现
- PS(Photoshop)去水印的4个方法
- Leetcode刷题100天—5855. 找出数组中的第 K 大整数(优先队列)—day22
- 浏览器无法显示网页解决方法
- windows10应用程序需要设置管理员权限自启动
- Java——万字总结网络编程
- 【STM32】DAC详解
- YOLOX训练自己标注的数据集
- 致青春触动心灵的英语美文——我们不是骄纵的孩子
- 用商业策划书与VC打交道
热门文章
- 电脑win7做系统备份
- Android camera HAL框架
- java constants_Java Constants类代码示例
- 如何用GIS做城市购房选址分析
- MATLAB绘制海面风场图像(海面风场反演)
- 以下关于python缩进的描述_以下关于Python缩进的描述中,错误的是
- 怎么用计算机看亲戚关系,小米亲戚计算器怎么用?如何利用小米计算器查询亲戚关系...
- 计算机内置管理员,Win10无法使用内置管理员账户打开应用怎么解决?
- PHP工程师的最佳学习路线
- 【论文翻译笔记】Seamlessly Unifying Attributes and Items: Conversational Recommendation for Cold-Start User