声明一下:这些关于ffmpeg的文章仅仅是用于记录我的学习历程和以便于以后查阅,文章中的一些文字可能是直接摘自于其它文章、书籍或者文献,学习ffmpeg相关知识是为了使用在Android上,我也才是刚開始接触学习,如有不正确之处还请指出。


音频格式是指要在计算机内播放或是处理音频文件,也就是要对声音文件进行数、模转换,这个过程相同由採样和量化构成。人耳所能听到的声音。最低的频率是从20HZ起一直到最高频率20KHZ。20KHZ以上人耳是听不到的,因此音频文件格式的最大带宽是20KHz,故而採样速率须要介于40~50KHZ之间,并且对每一个样本须要很多其它的量化比特数。音频数字化的标准是每一个样本16位-96dB的信噪比。採用线性脉冲编码调制PCM,每一量化步长都具有相等的长度。在音频文件的制作中。正是採用这一标准。

常见的音频格式有:CD格式、WAVE(*.WAV)、AIFF、AU、MP3、MIDI、WMA、RealAudio、VQF、OggVorbis、AAC、APE。
1、CD格式
CD格式的音质是比較高的音频格式。因此要讲音频格式,CD自然是打头阵的先锋。在大多数播放软件的“打开文件类型”中,都能够看到*.cda格式,这就是CD音轨了。

标准CD格式也就是44.1K的採样频率,速率88K/s,16位量化位数。由于CD音轨能够说是近似无损的,因此它的声音基本上是忠于原声的。一个CD音频文件是一个*.cda文件,这仅仅是一个索引信息,并非真正的包括声音信息,所以不论CD音乐的长短,在电脑上看到的"*.cda"文件都是44字节长。注意:不能直接的复制CD格式的*.cda文件到硬盘上播放,须要使用像EAC这种抓音轨软件把CD格式的文件转换成WAV,这个转换过程假设光盘驱动器质量过关并且EAC的參数设置得当的话,能够说是基本上无损抓音频。

2、WAVE
WAVE(*.WAV)是微软公司开发的一种声音文件格式,标准格式的WAV文件和CD格式一样,也是44.1K的採样频率,速率88K/s。16位量化位数。差点儿全部的音频编辑软件都“认识”WAV格式。
3、AIFF
AIFF(Audio Interchange File Format)格式和AU格式,它们都和WAV很相像。在大多数的音频编辑软件中也都支持它们这几种常见的音乐格式。

4、AU
AUDIO文件是SUN公司推出的一种数字音频格式。AU文件原先是UNIX操作系统下的数字声音文件。因为早期INTERNET上的WEBserver主要是基于UNIX的。所以。AU格式的文件在现在的INTERNET中也是经常使用的声音文件格式。

5、MPEG
MPEG是动态图像专家组的英文缩写。

MPEG音频文件指的是MPEG标准中的声音部分即MPEG音频层。MPEG含有格式包含:MPEG-1、MPEG-2、MPEG-Layer3、MPEG-4。

6、MIDI
MIDI(Musical Instrument Digital Interface)乐器数字接口。是20世纪80年代初为解决电声乐器之间的通信问题而提出的。MIDI是编曲界最广泛的音乐标准格式。可称为“计算机能理解的乐谱”。它用音符的数字控制信号来记录音乐。

一首完整的MIDI音乐仅仅有几十KB大。而能包括数十条音乐轨道。

差点儿全部的现代音乐都是用MIDI加上音色库来制作合成的。MIDI传输的不是声音信号。而是音符、控制參数等指令,它指示MIDI设备要做什么,怎么做。如演奏哪个音符、多大音量等。它们被统一表示成MIDI消息(MIDI
Message)。传输时採用异步串行通信,标准通信波特率为31.25*(1+/-0.01)KBaud。

MIDI是乐器数字化接口,能够把MIDI理解成是一种协议、一种标准、或是一种技术,但它并非单指某个硬件设备。

MIDI系统实际就是一个作曲、配器、电子模拟的演奏系统。从一个MIDI设备转送到还有一个MIDI设备上去的数据就是MIDI信息。MIDI数据不是数字的音频波形。而是音乐代码或称电子乐谱。MIDI是一种电子乐器之间以及电子乐器与电脑之间的统一交流协议。在播放时,依据MIDI文件记录的乐曲信息向波表发出指令。从“表格”中逐一找出相应的声音信息,经过合成、加工后回放出来。

因为它採用的是真实乐器的採样。所以效果自然要好于FM。一般波表的乐器声音信息都以44.1KHz、16Bit的精度录制,以达到最真实的回放效果。

7、WMA
WMA(Windows Media Audio)格式是来自于微软的重量级选手,后台强硬,音质要强于MP3格式,更远胜于RA格式。它和日本YAMAHA公司开发的VQF格式一样,是以降低数据流量但保持音质的方法来达到比MP3压缩率更高的目的,WMA的压缩率一般都能够达到1:18左右。另外WMA还支持音频流(Stream)技术,适合在网络上在线播放。

8、RealAudio
RealAudio主要适用于在网络上的在线音乐赞赏,如今大多数的用户仍然在使用56Kbps或更低速率的Modem,所以典型的回放并不是最好的音频。有的下载网站会提示你依据你的Modem速率选择最佳的Real文件。

real的文件 格式主要有那么几种:有RA(RealAudio)、RM(RealMedia,RealAudio G2)、RMX(RealAudio Secured)。还有很多其它。这些格式的特点是能够随网络带宽的不同而改变声音的质量,在保证大多数人听到流畅声音的前提下,令带宽较富裕的听众获得较好的音质。

9、VQF
雅马哈公司还有一种格式是*.vqf,它的核心是降低数据流量但保持音质的方法来达到更高的压缩比,VQF的音频压缩率比标准的MPEG音频压缩率高出近一倍,能够达到18:1左右甚至更高。
10、OggVorbis
OggVorbis是一种新的音频压缩格式,类似于MP3等现有的音乐格式。但有一点不同的是,它是全然免费、开放和没有 专利限制的。

Vorbis採用有损压缩,但通过使用更加先进的声学模型去降低损失,因此,相同位速率编码的OGG与MP3相比起来更好一些。并且MP3格式是受专利保护的。

11、AMR
AMR全称Adaptive Multi-Rate。自适应多速率编码。主要用于移动设备的音频,压缩比比較大,但相对于其它的压缩格式质量比較差,因为多用于人声,通话,效果还是非常不错的。



外挂字幕与内嵌字幕的阐述
外挂字幕:是视频文件和字幕文件分离,在播放的时候要导入字幕文件。外挂字幕的优点是:能够导入自己国家的语言。
内嵌字幕:视频文件和字幕文件已经集成到了一起,没有办法改变和去掉了。
外挂字幕的三种格式:

1、srt格式:这是最好的。体积小。用记事本能够打开编辑。
2、sub+idx:这样的是图形字幕,仅仅能用字幕转换软件,体积较大。
3、ass字幕:网上比較少,比srt多一些特效。

外挂字幕的一些基本注意事项:
使用外挂字幕的时候,要保证字幕文件和视频文件放置在同一个目录下,而且保证两者的文件名称同样。可是不要改动后缀和标识(常见的标识有chs、GB、cht、Big5、eng五种,当中chs和GB表示中文简体,cht和Big5表示繁体中文,eng表示英文)

FFmpeg基础库编程开发学习笔记——音频常见格式及字幕格式的更多相关文章

  1. FFmpeg基础库编程开发学习笔记——视频常见格式

    声明一下:这些关于ffmpeg的文章仅仅是用于记录我的学习历程和以便于以后查阅,文章中的一些文字可能是直接摘自于其它文章.书籍或者文献,学习ffmpeg相关知识是为了使用在Android上,我也才是刚 ...

  2. Rest API 开发 学习笔记(转)

    Rest API 开发 学习笔记 概述 REST 从资源的角度来观察整个网络,分布在各处的资源由URI确定,而客户端的应用通过URI来获取资源的表示方式.获得这些表徵致使这些应用程序转变了其状态.随着 ...

  3. 步步为营 SharePoint 开发学习笔记系列总结

    转:http://www.cnblogs.com/springyangwc/archive/2011/08/03/2126763.html 概要 为时20多天的sharepoint开发学习笔记系列终于 ...

  4. Kinect开发学习笔记之(一)Kinect介绍和应用

    Kinect开发学习笔记之(一)Kinect介绍和应用 zouxy09@qq.com http://blog.csdn.net/zouxy09 一.Kinect简单介绍 Kinectfor Xbox ...

  5. 转载:使用Xilinx IP核进行PCIE开发学习笔记(一)简介篇

    https://zhuanlan.zhihu.com/p/32786076 最近接触到一个项目,需要使用PCIE协议,项目要求完成一个pcie板卡,最终可以通过电脑进行通信,完成电脑发送的指令.这当中 ...

  6. 【前端】移动端Web开发学习笔记【2】 & flex布局

    上一篇:移动端Web开发学习笔记[1] meta标签 width设置的是layout viewport 的宽度 initial-scale=1.0 自带 width=device-width 最佳实践 ...

  7. 【前端】移动端Web开发学习笔记【1】

    下一篇:移动端Web开发学习笔记[2] Part 1: 两篇重要的博客 有两篇翻译过来的博客值得一看: 两个viewport的故事(第一部分) 两个viewport的故事(第二部分) 这两篇博客探讨了 ...

  8. 驱动开发学习笔记. 0.07 Uboot链接地址 加载地址 和 链接脚本地址

    驱动开发学习笔记. 0.07 Uboot链接地址 加载地址 和 链接脚本地址 最近重新看了乾龙_Heron的<ARM 上电启动及 Uboot 代码分析>(下简称<代码分析>) ...

  9. android开发学习笔记000

    使用书籍:<疯狂android讲义>——李刚著,2011年7月出版 虽然现在已2014,可我挑来跳去,还是以这本书开始我的android之旅吧. “疯狂源自梦想,技术成就辉煌.” 让我这个 ...

随机推荐

  1. C# 清除coockies

    if (Request.Cookies["zxcookies"] != null)        {            HttpCookie mycookie;         ...

  2. day02_12/12/2016_bean的实例化之静态工厂方式

  3. mysql数据的操作

    一.插入数据记录 1.插入完整数据记录 INSERT INTO table_name VALUES(value1,value2......valuen); 2.插入数据记录的一部分 INSERT IN ...

  4. Ajax应用查询员工信息

    首先要用上一篇的步骤启动服务器,建立站点.然后在该站点下创建php文件和html文件. php代码如下,文件名为server.php <?php //设置页面内容是html编码格式是utf-8 ...

  5. ZUK Z2 Pro(Z2121) 免解锁BL 免rec Magisk Xposed ROOT 救砖 ZUI 4.0.247

    >>>重点介绍<<< 第一:本刷机包可卡刷可线刷,刷机包比较大的原因是采用同时兼容卡刷和线刷的格式,所以比较大第二:[卡刷方法]卡刷不要解压刷机包,直接传入手机后用 ...

  6. 12--C++_运算符重载

    C++_运算符重载 什么是运算符的重载? 运算符与类结合,产生新的含义. 为什么要引入运算符重载? 作用:为了实现类的多态性(多态是指一个函数名有多种含义) 怎么实现运算符的重载? 方式:类的成员函数 ...

  7. Python_多线程1(创建线程,简单线程同步)

    threading 模块除了包含 _thread 模块中的所有方法外,还提供的其他方法: threading.currentThread(): 返回当前的线程变量. threading.enumera ...

  8. HDU_1079_思维题

    Calendar Game Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tot ...

  9. CPU指令、机器码、程序和汇编语言

    一.指令 指令就是指挥机器工作的指示和命令.控制器靠指令指挥机器工作,人们用指令表达自己的意图,并交给控制器执行.一台计算机所能执行的各种不同指令的全体,叫做计算机的指令系统或指令集,每一台计算机均有 ...

  10. java关于工作,跳槽之总结

    关于工作中: 如何展示自己项目中的亮点,技术或者难点: 总结我的经历和技术倒是可以,但是我做的项目和我会的技术都很平庸,实在找不到亮点怎么办? 如果知道了你没有亮点,也就是知道了你自己欠缺什么,那么下 ...