FLV audio tag
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相关推荐
- 【FLV解析】audio tag 解析:解析 AudioSpecificConfig TAG
对TAG BODY 的解析 TAG body 有一堆的TAG 构成. 每个TAG , 有一个TAG body header + TAG body DATA + PREVIEDATASIZE 构成 TA ...
- 关于[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' ( ...
- java封装264成flv,将H.264封装为FLV格式-Go语言中文社区
本文将介绍如何将H.264封装成flv格式. 在看本文之间,建议先看一看下面两篇文章: 首先说一说构建一个FLV文件需要什么? FLV Header + FLv script tag + FLV Vi ...
- 音视频 FLV格式解析
前言 本文介绍FLV封装格式,直播场景下拉流比较常见的是http-flv直播流,具有延时低.易传输等特点. 格式概览 总体上看,FLV包括文件头(File Header)和文件体(File Body) ...
- FFmpeg从入门到出家(FLV文件结构解析)
FLV(FLASH VIDEO),是一种常用的文件封装格式,目前国内外大部分视频分享网站都是采用的这种格式.其标准定义为<Adobe Flash Video File Format Specif ...
- 1小时学会:最简单的iOS直播推流(十一)spspps和AudioSpecificConfig介绍(完结)
最简单的iOS 推流代码,视频捕获,软编码(faac,x264),硬编码(aac,h264),美颜,flv编码,rtmp协议,陆续更新代码解析,你想学的知识这里都有,愿意懂直播技术的同学快来看!! 源 ...
- 1小时学会:最简单的iOS直播推流(七)h264/aac 硬编码
最简单的iOS 推流代码,视频捕获,软编码(faac,x264),硬编码(aac,h264),美颜,flv编码,rtmp协议,陆续更新代码解析,你想学的知识这里都有,愿意懂直播技术的同学快来看!! 源 ...
- rtmp 封包及消息
2019独角兽企业重金招聘Python工程师标准>>> 1 握手 adobe修改了握手部分的协议,但是没有公开.根据rtmp specification 1.0里面的握手过程,fla ...
- 视频技术详解:RTMP H5 直播流技术解析
本文聚焦 RTMP 协议的最精华的内容,接进行实际操作 Buffer 的练习和协议的学习. RTMP 是什么 RTMP 全称即是 Real-Time Messaging Protocol.顾名思义就是 ...
最新文章
- SpringBoot学习(一)
- 四月读书主题整理——用尽费退,打磨身体
- HashSet集合介绍
- 点击了SAP CRM HANA report超链接,背后都发生了什么
- mysql5.5中的MaxValue关键字
- 计算机图形学——阴影
- python做软件测试需要那些条件_做软件测试需要学什么
- Java JDK新特性探究-精简的JRE
- mysql 使用异步io_InnoDB引擎之-异步IO(Async IO)
- DEV 报表设计分组
- 如何有效的关闭Win10/ win 11 自动更新? 方法最全
- 2021最新版IDEA安装(最新版可和谐)
- 医用电气设备中关于电源开关的符号使用要求探讨
- ArduPilot — Building the code(Linux/Ubuntu)
- Volume数据存储详解
- 苹果xr电池容量_5G iPhone 12电池变小了!外媒:苹果认为5nm工艺很节能
- 深圳市的企业提交等保备案申请需要提交哪些资料
- c语言feek函数读取中文出现乱码
- ByteV打造智慧充电桩运行可视化平台
- PAT 团体程序设计天梯赛 L2-009 抢红包
热门文章
- 红蓝对抗之如何利用Shellcode来躲避安全检测
- Python @property装饰器的用法,判断函数参数整形、字符串、取值范围
- httrack 拷贝网站到本地(好东西,但是发现考的不全)
- QT三种窗口、调试终端信息打印、新建菜单、设置窗口标题名称、界面初始化、打开文件对话框、保存文件对话框
- 云开发听说过没? Compilr 屌爆的在线开发工具 -_-#
- 手把手教你用ECharts画柱状图
- 想用Python爬小姐姐图片?那你得先搞定分布式进程
- 什么是数据?数据科学家需要掌握哪些技能?终于有人讲明白了
- Simulink之相控整流电路的组合
- 微软再出手!这次要干翻 IDEA 了。。