wav文件格式及ffmpeg处理命令
wav文件头详解
符合RIFF(Resource Interchange File Format)规范的wav文件的文件头记录了音频流的编码参数等基本信息。wav文件由多个块组成,至少包含RIFF标志块、格式块、数据头块和数据块,所有数据均以小端模式存储。(小端模式:按顺序读取时,先读取的是数据的低位部分,后读取的是数据的高位部分。如数据0x11, 0x00代表的是十六进制数0x0011,也就是3)。
一般的wav文件头由以下数据组成:
| 偏移地址 | 字节数 | 数据类型 | 内容 |
| 00H ~ 03H | 4 | char | "RIFF", 资源交换文件RIFF标志,固定不变 |
| 04H ~ 07H | 4 | long |
文件长度,从下个字节开始到文件结束的总字节数。 计算结果为文件大小(可以从文件属性中看)+8个字节(00H~07H) |
| 08H ~ 0BH | 4 | char | "WAVE", WAVE文件标志,固定不变 |
| 0CH ~ 0FH | 4 | char | "fmt ", fmt标志(最后一位为空格),固定不变 |
| 10H ~ 13H | 4 | long | 格式长度,一般为00000010H(=16),代表16PCM(量化结果为16bit) |
| 14H ~ 15H | 2 | int | 格式类别,1表示线性PCM编码 |
| 16H ~ 17H | 2 | int | 通道数,1为单声道,2为双声道 |
| 18H ~ 1BH | 4 | long | 采样频率(每秒的样本数) |
| 1CH ~ 1FH | 4 | long | 每秒字节数,其值为:采样频率*通道数*样本数据位数/8 |
| 20H ~ 21H | 2 | int | DATA数据块的调整数(字节),其值为:通道数*样本数据位数/8 |
| 22H ~ 23H | 2 | int | 样本数据位数,0010H即16,代表一个量化两本占2字节 |
| 24H ~ 27H | 4 | char | "data", data数据块标志,固定不变 |
| 28H ~ 2BH | 4 | long | wav文件音频数据所占大小 |
| 2CH ~ ... | ... | 真正存储的音频数据(不属于文件头了) |
上面是一般wav文件的文件头数据,而通过ffmpeg转码的wav文件于此有些差距,在格式块和数据头块之间添加了一些ffmpeg的信息,如下图。

| 偏移地址 | 字节数 | 数据类型 | 内容 |
| 00H ~ 23H | 36 | 同上表的00H~23H一致 | |
| 24H ~ 27H | 4 | char | "LIST", LIST块标志,固定不变 |
| 28H ~ 2BH | 4 | long | LIST块占用的字节数,在这里为26字节 |
| 2CH ~ 45H | 26 | LIST块内容 | |
| 46H ~ 49H | 4 | char | "data", data数据块标志,固定不变 |
| 4AH ~ 4DH | 4 | long | wav文件音频数据所占大小 |
ffmpeg处理命令
1. 将格式不正确的wav文件转码为ffmpeg格式的wav文件:
ffmpeg -i "sourceFile" -y "targetFile"
2. 将mp3文件转码为ffmpeg格式的wav文件(编码格式为16PCM、小端模式):
ffmpeg -i "sourceFile" -acodec pcm_s16le -y "targetFile"
3. 音频切割:
ffmpeg -i "sourceFile" -ss startTime -to endTime -y "targetFile"(按起点和终点切割)
ffpmeg -i "sourceFile" -ss startTime -t duration -y "targetFile"(按起点和持续时间切割)
参考文章
1. WAV文件格式
2. wav文件详解
3. wav文件格式分析
wav文件格式及ffmpeg处理命令的更多相关文章
- 转: FFmpeg功能命令汇总
原文: FFmpeg功能命令汇总 前言 如此强大的FFmpeg,能够实现视频采集.视频格式转化.视频截图.视频添加水印.视频切片.视频录制.视频推流.更改音视频参数功能等.通过终端命令如何实现这些功能 ...
- FFmpeg常用命令 (三)流媒体
前言 如此强大的FFmpeg,能够实现视频采集.视频格式转化.视频截图.视频添加水印.视频切片.视频录制.视频推流.更改音视频参数功能等.通过终端命令如何实现这些功能,Richy在本文做一记录,以备之 ...
- WAV文件格式
作者:阿宝 更新:2016-09-21 来源:彩色世界(https://blog.hz601.org/2016/09/21/waveform-audio-file-format/index.html) ...
- FFmpeg常用命令学习笔记(二)录制命令
录制命令 1.FFmpeg录屏命令 ffmpeg -f avfoundation -i 1 -r 30 out.yuv -f:指定使用avfoundation采集数据 -i:指定从哪采集数据,它是一个 ...
- 音频相关 ALSA ffmpeg ffplay 命令用法 g7xx
采样率: samples 441100 每秒 DAC/ADC 采样的频率,声卡一般还支持 48k 8k 等模式. 通道:channels 2声道 左右声道 也有单声道的声音,5.1 声道 位数: 16 ...
- wav文件格式分析详解
wav文件格式分析详解 文章转载自:http://blog.csdn.net/BlueSoal/article/details/932395 一.综述 WAVE文件作为多媒体中使用的声波文件格式 ...
- WAV文件格式分析
一. RIFF概念 在Windows环境下,大部分的多媒体文件都依循着一种结构来存放信息,这样的结构称为"资源互换文件格式"(Resources lnterchange File ...
- FFmpeg 常用命令收集
FFmpeg 常用命令 合并视频 ffmpeg -i "KTDS-820A_FHD.mp4" -c copy -bsf:v h264_mp4toannexb -f mpegts i ...
- wav文件格式分析与详解
WAV文件是在PC机平台上很常见的.最经典的多媒体音频文件,最早于1991年8月出现在Windows 3.1操作系统上,文件扩展名为WAV,是WaveFom的简写,也称为波形文件,可直接存储声音波形, ...
随机推荐
- 2017 Summary
几门课 基础电路与电子学 知道了一些二极管三极管的基本基本很基本的那种物理知识吧,但是毕竟我是从电信转专业过来的,所以说我内心就是逃避模电这样的课的.上课基本没听,后面只是死命复习了一周,考的还可以. ...
- nigix安装
树莓派安装nginx,参考http://blog.csdn.net/zizi7/article/details/54347223 1. 下载PCRE 并安装. 主页地址: ftp://ftp.csx. ...
- Centos7 虚拟机复制后网卡问题 Job for network.service failed
在运行“/etc/init.d/network restart”命令时,出现错误“Job for network.service failed. See 'systemctl status netwo ...
- 软工网络15团队作业8——Beta阶段敏捷冲刺(Day5)
提供当天站立式会议照片一张 每个人的工作 1.讨论项目每个成员的昨天进展 赵铭: 进一步数据整理,写入数据库. 吴慧婷:主页面.查单词页面的改进.背单词界面改进. 陈敏: 单词学习功能及该界面按钮功能 ...
- ORA-06530: 引用未初始化的组合 ;
select * FROM TABLE(fun_test_1) : ORA-06530: 引用未初始化的组合ORA-06512: 在 "PCISS.FUN_TEST_1", lin ...
- [Linux] 关于 history 命令的简单使用
1. 如果不想记录当前 会话操作的命令的话 可以使用命令 set +o history 但是这个命令有一个坏处, 他自己被记住了... 2. 还有一个办法 就是 在退出登录之前执行命令 history ...
- [转帖]sqlnet.ora常用参数
sqlnet.ora常用参数 注﹕在修改sqlnet.ora文件之后重新启动监听﹐修改才能生效﹗﹗﹗ oracle网络设置主要包括三个文件,sqlnet.ora\ lisnter.ora\ tnsna ...
- C#基础知识(base、this、new、override、abstract、virtual、static)
前言 本文主要来讲解一下C#中,自己觉得掌握的不怎么样或者用的不多,不太熟悉的关键字,主要包括base.this.new.override.abstract.virtual以及针对static字段和s ...
- 【大数据】Spark基础解析
第1章 Spark概述 1.1 什么是Spark 1.2 Spark内置模块 Spark Core:实现了Spark的基本功能,包含任务调度.内存管理.错误恢复.与存储系统交互等模块.Spark Co ...
- DPM(Deformable Parts Model)
DPM(Deformable Parts Model) Reference: Object detection with discriminatively trained partbased mode ...