amcap怎么支持h264_音视频封装:FLV格式详解和打包H264、AAC方案(下)

接着上一篇继续分析Video Tag和Audio Tag相关内容。


Video Tag 视频Tag:

Tag类型封装真实的视频裸数据,虽然支持H263、H264等编码类型的视频,但是现在主流还是H264,所以下面会重点分析如何将H264视频帧打进Flv方法。

Flv Parse 解析的结果如下:

 c99c16cde82b7854fb27cf4708de0c4e.png

 previous tag1:

十六机制:0x00 00 01 37

十进制:311

因表示了前一个Metadata Tag的长度是311字节,这跟上篇分析结果是一致的;


Video tag header:

十六进制:0x09 00 00 2C 00 00 00 00 00 00 00

Tagtype: 

十六进制:0x09

二进制:0000 1001

通过前1-2bit即知道非加密,后面4-8bit10010即十进制为9则为Video Tag类型;

DataSize

十六进制:0x 00 00 2C

十进制:44

说明这个Video Tag的data字段长度为44字节;

Timestamp

十六进制:0x 00 00 00

由于是第一个Video Tag该字段一般就是默认为0;

TimeStampExtended:

十六进制:0x 00 00 00

时间戳扩展字段也是默认为0;

Stream ID:

十六进制:0x 00 00 00

无论那种类型的Tag,一般默认为0;


Video Tag Data:

视频头:

在Video tag的Header后面按道理就是视频裸数据了,但是这里我们需要分析下第一个字节,判断视频数据的编码格式等信息,然后才知道视频裸数据是怎么打包进Video Tag的Data字段的,第一个Video Tag的Data部分如图所示:

c557c492aac0821e36b2ee41030f3f71.png

视频头字段格式:

字段

占位

含义

Frame type帧类型

第一字节1-4bit位

十进制

1: keyframe (for AVC, a seekable frame)——h264的IDR,关键帧,可重入。

该关键帧时进行视频拖动 seek的关键;

2: inter frame (for AVC, a non- seekable frame)——h264的普通幀 ,比如P帧,B帧等

3: disposable inter frame (H.263 only)

4: generated keyframe (reserved for server use only)

5: video info/command frame

Code ID编码ID

第一字节4-8bit位

视频的编码类型:

1: JPEG (currently unused)

2: Sorenson H.263

3: Screen video

4: On2 VP6

5: On2 VP6 with alpha channel 

6: Screen video version 2

7: AVC也就是说的H264


待分析数据第一字节:

十六进制:0x17 我们先分析Video Tag数据部分的第一个字节即视频头

Frame type: 

十六进制:0x17

二进制:0001 0111

十进制:1

通过前面1-4bit位发现十进制为1,即认为是key frame;

CodeID:

十六进制:0x17

二进制:0001 0111

十进制:7

说明这个Video的编码格式AVC也就是常说的H264;

特别注意:

分析到这里,我们发现这个Video Tag的承载数据是AVC即H264编码格式的数据,一般情况下Flv承载的数据格式都是这种。那么就需要继续向下面分析后面的Packet Type字段。


Packet Typ数据格式:

字段

type

Comment

AVC packet Type 类型

1字节

0:AVC序列头

1:AVC NALU单元

2:AVC序列结束。低级别AVC不需要。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
AMCap 全功能珍藏版(即:AMCap 9.08 (Build 63.4) Jedi1029 汉化版) 众所周知,AMCap 可用于摄像头预览、照相、录像,调节亮度、对比度、饱和度,……等等。 大多数摄像头驱动都自带 AMCap,且版本众多,其中: AMCap 9.00 及以前的版本是由微软公司开发的,在微软的C语言软件开发包里提供有源代码。请参考http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=12518; AMCap 9.00 以后的版本是由法国人 Noël Danjou(诺埃尔·丹茹)2004 年起定制的 AMCap 增强版,增加了:隐藏菜单栏、窗口置顶、全屏……等功能。请参考http://noeld.com/programs.asp?cat=video#AMCap。 经本人(周星骋)两个星期的耐心测试,发现只有 AMCap 9.08 (Build 63.4) 及以前版本无需注册、无使用限制、无版权黄线,连续照相、录像15分钟以上无注册提示(本人亲测3个多小时不间断)。 低于 9.08 (Build 63.4) 的版本没有隐藏菜单栏、窗口置顶、全屏……等功能; 高于 9.08 (Build 63.4) 的版本(哪怕是 9.08 (Build 68.2) )都需要注册,否则使用有限制。 这里提供的就是由 Noël Danjou 定制的、无需注册、无使用限制、无版权黄线、真正全功能的最高版本 9.08 (Build 63.4),网上没有找到其英文原版,只有 Jedi1029 汉化的版本,不过从一篇帖子http://bbs.hanzify.org/read-htm-tid-27164.html可以看出 Jedi1029 的敬业精神,所以 AMCap 9.08 (Build 63.4) Jedi1029 汉化版是可以信赖的。 现今报名考试等经常要在网上照相,用 AMCap 来调节照相效果再好不过了,方法是: 让AMCap窗口“总在最前” → 关闭“预览” → 调用“视频捕捉过滤器(即亮度、对比度、饱和度等) → 然后边调节边进行网上照相。 AMCap 还可用于 Windows 7 显示摄像头,将此软件复制到“C:\用户\本机用户名\Appdata\Roaming\Microsoft\Windows\Network Shortcuts”(先要勾选“显示隐藏的文件、文件夹和驱动器”),然后在“我的电脑”里就能看到摄像头→双击打开它→选项→预览。 AMCap 部分快捷键: 录像 Ctrl+C 拍照 Ctrl+L 菜单栏开/关 F11 窗口置顶开/关 F12 全屏开/关 Alt+Enter 如果你还在因为 AMCap 需要注册、有版权黄线、15分钟后关闭……等限制而苦恼,请下载并珍藏“AMCap 全功能珍藏版”(即:AMCap 9.08 (Build 63.4) Jedi1029 汉化版)。 周星骋 搜集整理 二〇一一年十月八日

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值