2019独角兽企业重金招聘Python工程师标准>>>

Adobe Flash Video File Format Specification Version 10.1

File Tag包括Tag Header和Tag Data两部分。不同类型的Tag的Header结构是相同的,但是Data结构各不相同

File Tag Header数据。

当前版本的Tag Header结构占用11个字节,如上图绿色部分所示:

第1个字节表示Tag类型,包括音频(0x08)、视频(0x09)和script data(0x12),其他类型值被保留。  即为0x08

第2-4字节为UI24类型的值,表示该Tag Data部分的大小。 即为0x0C=12

第5-7字节为UI24类型的值,表示该Tag的时间戳(单位为ms),第一个Tag的时间戳总是0。即为0x74=116,此时间戳表示解码时间!!!

第8个字节为时间戳的扩展字节,当24位数值不够时,该字节作为最高位将时间戳扩展为32位值。  即为0x00

第9-11字节为UI24类型的值,表示stream id,总是0. 即为0x00

Audio Tag Header数据:

  • 第一个字节中的前4个bit表示SoundFormat,即编码格式。

Format of SoundData. The following values are defined:

0 = Linear PCM, platform endian

1 = ADPCM

2 = MP3

3 = Linear PCM, little endian

4 = Nellymoser 16 kHz mono

5 = Nellymoser 8 kHz mono

6 = Nellymoser

7 = G.711 A-law logarithmic PCM

8 = G.711 mu-law logarithmic PCM

9 = reserved

10 = AAC

11 = Speex

14 = MP3 8 kHz

15 = Device-specific sound

Formats 7, 8, 14, and 15 are reserved.

AAC is supported in Flash Player 9,0,115,0 and higher.

Speex is supported in Flash Player 10 and higher.

上图中值为0xA,即音频为AAC编码

  • 第一个字节中第5和6 bit表示SoundRate,即采样率

Sampling rate. The following values are defined:

0 = 5.5 kHz

1 = 11 kHz

2 = 22 kHz

3 = 44 kHz

上图中值为3,即采样率为44kHz

  • 第一个字节中第7bit表示SoundSize,即采样点的大小

Size of each audio sample. This parameter only pertains to

uncompressed formats. Compressed formats always decode

to 16 bits internally.

0 = 8-bit samples

1 = 16-bit samples

上图中值为1,即16 bit采样

  • 第一个字节中第8bit表示SoundType,即声音类型

Mono or stereo sound

0 = Mono sound

1 = Stereo sound

上图中值为1,即为立体声

转载于:https://my.oschina.net/u/2326611/blog/679704

FLV audio tag相关推荐

  1. 【FLV解析】audio tag 解析:解析 AudioSpecificConfig TAG

    对TAG BODY 的解析 TAG body 有一堆的TAG 构成. 每个TAG , 有一个TAG body header + TAG body DATA + PREVIEDATASIZE 构成 TA ...

  2. 关于[flv @ 00000248bab4c420] Tag avc1/0x31637661 incompatible with output codec id ‘28‘ ([7][0][0][0])

    visual ffmpeg出现[flv @ 00000248bab4c420] Tag avc1/0x31637661 incompatible with output codec id '28' ( ...

  3. java封装264成flv,将H.264封装为FLV格式-Go语言中文社区

    本文将介绍如何将H.264封装成flv格式. 在看本文之间,建议先看一看下面两篇文章: 首先说一说构建一个FLV文件需要什么? FLV Header + FLv script tag + FLV Vi ...

  4. 音视频 FLV格式解析

    前言 本文介绍FLV封装格式,直播场景下拉流比较常见的是http-flv直播流,具有延时低.易传输等特点. 格式概览 总体上看,FLV包括文件头(File Header)和文件体(File Body) ...

  5. FFmpeg从入门到出家(FLV文件结构解析)

    FLV(FLASH VIDEO),是一种常用的文件封装格式,目前国内外大部分视频分享网站都是采用的这种格式.其标准定义为<Adobe Flash Video File Format Specif ...

  6. 1小时学会:最简单的iOS直播推流(十一)spspps和AudioSpecificConfig介绍(完结)

    最简单的iOS 推流代码,视频捕获,软编码(faac,x264),硬编码(aac,h264),美颜,flv编码,rtmp协议,陆续更新代码解析,你想学的知识这里都有,愿意懂直播技术的同学快来看!! 源 ...

  7. 1小时学会:最简单的iOS直播推流(七)h264/aac 硬编码

    最简单的iOS 推流代码,视频捕获,软编码(faac,x264),硬编码(aac,h264),美颜,flv编码,rtmp协议,陆续更新代码解析,你想学的知识这里都有,愿意懂直播技术的同学快来看!! 源 ...

  8. rtmp 封包及消息

    2019独角兽企业重金招聘Python工程师标准>>> 1 握手 adobe修改了握手部分的协议,但是没有公开.根据rtmp specification 1.0里面的握手过程,fla ...

  9. 视频技术详解:RTMP H5 直播流技术解析

    本文聚焦 RTMP 协议的最精华的内容,接进行实际操作 Buffer 的练习和协议的学习. RTMP 是什么 RTMP 全称即是 Real-Time Messaging Protocol.顾名思义就是 ...

最新文章

  1. SpringBoot学习(一)
  2. 四月读书主题整理——用尽费退,打磨身体
  3. HashSet集合介绍
  4. 点击了SAP CRM HANA report超链接,背后都发生了什么
  5. mysql5.5中的MaxValue关键字
  6. 计算机图形学——阴影
  7. python做软件测试需要那些条件_做软件测试需要学什么
  8. Java JDK新特性探究-精简的JRE
  9. mysql 使用异步io_InnoDB引擎之-异步IO(Async IO)
  10. DEV 报表设计分组
  11. 如何有效的关闭Win10/ win 11 自动更新? 方法最全
  12. 2021最新版IDEA安装(最新版可和谐)
  13. 医用电气设备中关于电源开关的符号使用要求探讨
  14. ArduPilot — Building the code(Linux/Ubuntu)
  15. Volume数据存储详解
  16. 苹果xr电池容量_5G iPhone 12电池变小了!外媒:苹果认为5nm工艺很节能
  17. 深圳市的企业提交等保备案申请需要提交哪些资料
  18. c语言feek函数读取中文出现乱码
  19. ByteV打造智慧充电桩运行可视化平台
  20. PAT 团体程序设计天梯赛 L2-009 抢红包

热门文章

  1. 红蓝对抗之如何利用Shellcode来躲避安全检测
  2. Python @property装饰器的用法,判断函数参数整形、字符串、取值范围
  3. httrack 拷贝网站到本地(好东西,但是发现考的不全)
  4. QT三种窗口、调试终端信息打印、新建菜单、设置窗口标题名称、界面初始化、打开文件对话框、保存文件对话框
  5. 云开发听说过没? Compilr 屌爆的在线开发工具 -_-#
  6. 手把手教你用ECharts画柱状图
  7. 想用Python爬小姐姐图片?那你得先搞定分布式进程
  8. 什么是数据?数据科学家需要掌握哪些技能?终于有人讲明白了
  9. Simulink之相控整流电路的组合
  10. 微软再出手!这次要干翻 IDEA 了。。