- 浏览: 231474 次
- 性别:
- 来自: 南京
最新评论
-
baby8117628:
vc下mp3 IDv1和IDV2的读取 -
gezexu:
你好,我按照你的步骤一步步进行但是安装libvorbis的时候 ...
linux如何搭建强大的FFMPEG环境 -
ini_always:
帅哥,转载也把格式做好点,另外出处也要注明一下吧。。。
MP3文件格式解析
LAME - 压缩 MP3 的最佳利器
如今的音频有损压缩技术呈百家争鸣之势,MP3 的光环已不再如昔日般明亮。微软的 Windows Media Audio 8(WMA) 凭借操作系统本身的优势大行其道,Thomsom 的 MP3 pro 格式也以其低比特率高音质的技术如日中天,其它还有像 mpc、ogg、aac 等各种编码方案层出不穷,MP3 的压力可谓与日俱增 -- 这一切的一切是否意味着 MP3 将逐渐消亡?答案是否定的。
诚然,在小于 128kbps 的比特率时,MP3 与 wma 或 MP3 pro 相比的确相形见绌,但这不能成为我们放弃 MP3 的理由。首先,无论是 128kbps 的 MP3、wma 还是 64kbps 的 MP3 pro(甚至于被 cool edit pro 2.0 所支持的 144kbps 的 MP3 pro),其音质较 44.1khz,16bit 的 CD 音频标准尚有不小的差距,无法满足乐迷的要求。为了获得更高的音质,我们势必要提高比特率。然而,wma 在高于 128kbps 时音质并无明显提升,且最高只能编码为 192kpbs;MP3 pro 众所周知不能脱离 96kbps 的桎梏;对 MP3 来说,高于(等于)192kbps 的编码才真正是它的天下,我们可以制作出高达 320kbps 的 MP3(这是 MP3 标准的最大 bitrate),此时的音质与 CD 相比已相差分毫。其次,因为 MP3 本身是一种公开的编码方案,其对应的编码器非常多,很多 MP3 编码器粗糙的编码算法导致了许多细节的丢失,同时也败坏了 MP3 的名声。这就是我在此介绍 LAME 的原因。
LAME是什么?LAME 是 LAME Ain't an Mp3 Encoder(LAME 不是一个 MP3 编码器)的简称,是世界上最好的 MP3 编码器之一。之所以叫这个名字是因为最初 LAME 只是一个 ISO 编码器的补丁,是为了避免同 Fraunhofer 的法律问题而开发的。后来 LAME 开始独立发展,从 1998 年 12 月至今,LAME 已被越来越多人的公认为是 MP3 压缩的最佳利器。LAME 是完全免费的软件;LAME 在不断地发展完善。
为什么LAME 是最好的 MP3 encoder?这是一个很难用几句话就能回答的问题,其中要涉及到 MP3 的编码原理。让我们先来谈谈什么是 CBR、VBR、ABR?
对 MP3 来说 bitrate(比特率)是最重要的因素,它用来表示每秒钟的音频数据占用了多少个 bit(bit per second,简称 bps)。这个值越高,音质就越好。未压缩的 WAV 文件其 bitrate 为 1400kbps,1 个字节为 8 比特,将 1400/8 转换成字节就是 175kByte/s。所以,对一首 4 分钟的音乐,wav 格式的文件占用的空间为 4 分 * 60 秒 * 175=42000kByte,即 42000/1024=41MB;而 192kbps(每秒 24kByte)的 MP3 则占用了 4*60*24/1024=5.625MB。这种每秒固定比特率的算法是由 Xing 公司开发的,被称为 Constant BitRate,即 CBR(固定速率);后来,Xing 又发展了一种新的算法,他们将一首歌的复杂部分用高 bitrate 编码,简单部分用低 bitrate 编码,这被称为 Variable BitRate,简称 VBR(可变速率)。主意虽然不错,可惜 Xing 编码器的 VBR 算法很差,音质与 CBR 相去甚远,而且不是所有的播放器都支持 VBR 编码的 MP3,包括微软的 media player,这也是为什么在 WMP 中 VBR 编码的 MP3 不能正确显示时间的原因。幸运的是,由 LAME 完美地实现了 VBR 算法(以 Xing 的算法为基础加以改进和扩充),非但如此,从 LAME 3.89 版本开始,LAME 又引入了一种新的算法:ABR(average bitrate,平均速率)。ABR 也被称为“safe VBR”,它可以将生成的 MP3 控制在给定的 bitrate 上。举例来说,当指定用 192kbps、ABR 对一段 wav 文件进行编码时,LAME 会将该文件的 90% 用 192kbps 编码,然后对剩余 10% 进行优化:复杂部分用高于 192kbps 来编码、简单部分用低于 192kbps 来编码。与 192kbps、CBR 相比,192kbps、ABR在文件大小上相差不多,音质却提高不少。据统计,ABR 编码在速度上是 VBR 编码的 2 到 3 倍,在 128-256kbps 范围内质量要好于 CBR。
LAME用法及常用参数:
用法:lame 参数 原文件 目标文件
例如:lame --alt-preset standard 1.wav 1.mp3
LAME 参数设置表(音质由高到低排列):
CBR 320(Constant BitRate固定速率,最高音质):--alt-preset insane (bitrate: 320 kbps)
VBR(Variable Bitrate可变速率):高品质(较慢):--alt-preset extreme (bitrates 220-270 kbit/s - 通常在 256kbps 左右);快速(与上面相比质量略差):--alt-preset fast extreme (bitrates 与上面的相同);高品质(较慢):--alt-preset standard(注:当前 LAME 标准设置)(bitrates 180-220 kbit/s - 通常在 192 kbps 左右);快速(与上面相比质量略差):--alt-preset fast standard (bitrates 与上面相比质量略差)
发一个中文版的提供大家下载:
http://www.gongshang031.com/software/lamemp3.rar
发表评论
-
vc下mp3 IDv1和IDV2的读取
2010-01-25 10:52 2379/*这是修改后的代码,VC下读ID3v2 & ID3v ... -
使用ffmpeg为库编写的小型多媒体播放器源代码
2010-01-21 16:52 4334今天突发奇想,就在以前音频播放器(详细情况请看这里——http ... -
ffmpeg提取音频播放器总结
2010-01-21 16:31 5964ffmpeg提取音频播放器总 ... -
ffmpeg开发指南
2010-01-20 17:26 3371ffmpeg 中的Libavformat 和 li ... -
linux下安装ffmpeg过程
2010-01-18 15:48 1883最近互联网视频共享的 ... -
【PNG overview】PNG专题!
2010-01-18 13:39 3347【PNG overview】PNG专题! 作者 鼯鼠 ... -
Big Endian 和 Little Endian
2010-01-18 13:29 1543Peter Lee 2008-04-20 一、字节序 ... -
MediaInfo开源工程
2010-01-18 13:22 2354一、简介 MediaInfo 用来 ... -
MP3文件格式解析
2010-01-18 10:58 3542MP3文件格式解析 Peter Lee 2008-06-0 ... -
FLV文件格式分析(图示讲解的清楚)
2010-01-14 15:56 5090FLV是一个二进制文件, ... -
我对FLV 文件格式的理解
2010-01-14 15:52 3345我对FLV 文件格式的理解 ----------------- ... -
常用的音频文件介绍
2010-01-13 10:56 1366MP3全称是动态影像专家压缩标准音频层面3(Moving Pi ... -
RTSP客户端的JAVA实现
2010-01-12 16:12 8236参考资料 1. 《RTSP简单命 ... -
国外嵌入式、音视频处理等重要网站
2010-01-08 10:07 2017嵌入式方面: 1.关于嵌入式开发的站点,提供非常多关于嵌入 ... -
RTSP点播——消息流程实例
2010-01-08 09:44 5096RTSP点播消息流程实例(客户端:VLC, RTSP服务器:L ... -
live555代码解读之三:SETUP和PLAY请求消息处理过程
2010-01-08 09:43 3443SETUP请求消息处理过程 ... -
live555代码解读之二:DESCRIBE请求消息处理过程
2010-01-08 09:42 3778ve555代码解读之二:DESCRIBE请求消息处理过程 ... -
live555代码解读之一:RTSP连接的建立过程
2010-01-08 09:42 4432TSPServer类用于构建一个RTSP服务器,该类同时在其内 ... -
live555源代码概述
2010-01-08 09:41 3863述 liveMedia项目(http://www ... -
浅议SDP(会话描述协议)
2010-01-04 15:25 3532因为最近常常使用到SDP(会话描述协议Session Desc ...
相关推荐
lame-MP3编码器exe及dll文件
著名mp3编码解码器lame源代码,可实现mp3与wave文件的互相转换.
a-lame-mp3-encoder 给定一个.wav文件目录,利用并行性将它们编码为.mp3文件。 要求 以路径名作为参数调用应用程序,例如<applicationname> F:\MyWavCollection该文件夹中直接包含的所有WAV文件都将被编码为MP3 ...
mp3编码解码器lame源代码,,可实现mp3与wave文件的互相转换
lame-3.99.5 mp3 codeC
LAME is a high quality MPEG Audio Layer III (MP3) encoder licensed under the LGPL.
...\lame_acm.xml ...\readme.txt ...\TODO COPYING FILE_ID.DIZ html ....\basic.html ....\contributors.html ....\examples.html ....\history.html ....\id3.html ....\index.html ....\lame.css ...
lame-3.91.tar,里面有WAV转MP3模块
lame-3.93.1 MP3编码器源程序 Linux下运行
LAME 是最好的MP3编码器,编码高品质MP3的最好也是唯一的选择。 也是学习c++ 的一个很好的入门项目
一个最牛的开源MP3编码器。 经过俺测试,在linux下能正常使用,所有的源码都是C编写。是解剖学习MP3编码的最好利器。
MP3定点编解码源码,运行环境为visual studio 2008,已经通过编译运行。
LAME(mitiok.ma.cx)编码出来的MP3音色纯厚、空间宽广、低音清晰、细节表现良好,它独创的心理音响模型技术保证了CD音频还原的真实性,配合VBR和ABR参数,音质几乎可以媲美CD音频,但文件体积却非常小。对于一个...
lame-3.99.5 版本 编译好的 Android端(arm架构 ) so库,用于 mp3 编码,详细:http://blog.csdn.net/yhaolpz/article/details/76408829
LAME MP3编码器,包含源码(标准C), 支持linux, windows系统
lame框架将PCM录音转成MP3格式
mp3 解码 编码
lame的mp3编码器源代码
ocx ,xuyao xia zai yige ocx
1. lame.h库的头文件 2. libmp3lame-armv6-armv7-i386.a是网上别人编译的lib 3. libmp3lame-armv7s.a是本人亲自动手编译的(哈哈) 4. libmp3lame-arm64.a这个是本人在不满足于armv7s,而多次尝试成功的(得意) 5. ...