ffmpeg & mplayer & vlc 手册(转)
如何基于FFMPEG和SDL写一个少于1000行代码的视频播放器
http://blog.sina.com.cn/s/blog_51396f890100nd91.html
http://lanhy2000.blog.163.com/blog/static/436786082012324114018127/
出于喜好,我很喜欢在 linux 下折腾一些影音相关方面的东西。以前在 windows 下折腾不起来,shell 不给力,ffmpeg 也是移植过去的,mplayer 更是杯具;现在在 linux 下,终于能尽情折腾了。
工欲善其事,必先利其器,正好最近整理文件,找到了以前收藏的用户手册,拿出来和大家分享。个人觉得最全面最正确的还是 man 文档,建议大家根据手册和 man 进行操作。
ffmpeg
均为英文资料。来源于 ffmpeg.org (via),官方还有开发手册等相关资料,我只摘录了比较常用的 docs(文档) , ffplay (播放器)和 faq (问题解答),资料很齐全且简单易懂,故不做翻译。(官方还有ffserver等资料供您阅读)
ffmpeg 中文资料比较少,大部分都是讲解如何转码的,所以学习起来压力不大。最简单方式:
1
|
ffmpeg -i infile.format outfile.format |
输入文件.格式 ,输出文件.格式,然后转码,当然参数都是default啦。剩下的就是在 输入文件 和 输出文件 间加参数了,
1
|
ffmpeg {[infile options] [-i infile]} {[outfile options] outfile} |
参数较多,我写了个html,用以总结参数以及相关用法,还有几个小例子,您可以在这里浏览到这个页面。(如果大家有需求,我以后再写个相关教程以飨读者)
mplayer (mencoder)
说起来mplayer和ffmpeg算是同根同源了,所以 mplayer 用法和 ffplay 相似,mencoder 和 ffmpeg相似,所以您只需要学习了解mplayer 相关用法,即可熟练掌握 mencoder。
mencoder
http://baike.baidu.com/link?url=MDGPHhABwA3OzNo3YsmqIgPyqydesH28SYyc1tOI5TXi3wu1NPoNdNSj5_zQigYPE8h8q3X4_83ftiVId-vuC_
vlc
本来是个一套流媒体解决方案中的客户端。 但客户端却比整套方案更早流行了起来,成为最著名的跨平台媒体播放器和框架之一。video lan比较著名的就是vlc和x264了。
前几天 linuxtoy 也介绍了几个 vlc 的教程:FLOSSManuals 上的教程;ThinkDigit 的 Tips and Tricks 系列之 VLC 篇;How-To Geek 上一篇关于怎样用 VLC 来 Rip DVD 的教程。
我也分享以下我的 pdf 教程 下载地址
ffmpeg
http://baike.baidu.com/link?url=jz8EzaHuIh5mRg9T9m4Zo7sTqarNI3HcwNMxEzXqLTqznfk82Tv5xaclvE6mRYUA
项目组成
<车载物联网项目,视频采集传输部分,第一天> FFmpeg的安装过程
http://blog.csdn.net/yangxuefeng09/article/details/9905419
AAC(Advanced Audio Coding)实际上是高级音频编码的缩写,AAC是由Fraunhofer IIS-A、杜比和AT&T共同开发的一种音频格式,它是MPEG-2规范的一部分。AAC所采用的运算法则与MP3的运算法则有所不同,AAC通过结合其他的功能来提高编码效率。AAC的音频算法在压缩能力上远远超过了以前的一些压缩算法(比如MP3等)。它还同时支持多达48个音轨、15个低频音轨、更多种采样率和比特率、多种语言的兼容能力、更高的解码效率。总之,AAC可以在比MP3文件缩小30%的前提下提供更好的音质,被手机界称为“21世纪数据压缩方式”。 因为“AAC”是一个大家族,他们是共分为9种规格,以适应不同场合的需要: a) MPEG-2 AAC LC 低复杂度规格 (Low Complexity) b) MPEG-2 AAC Main 主规格 c) MPEG-2 AAC SSR 可变取样率规格 (Scaleable Sample Rate) d) MPEG-4 AAC LC 低复杂度规格(Low Complexity),现在的手机比较常见的MP4文件中的音频部份就包括了该规格音频文件 e) MPEG-4 AAC Main 主规格 f) MPEG-4 AAC SSR 可变取样率规格 (Scaleable Sample Rate) g) MPEG-4 AAC LTP 长时期预测规格(Long Term Predicition) h) MPEG-4 AAC LD 低延迟规格(Low Delay) i) MPEG-4 AAC HE 高效率规格(High Efficiency) ===》又称为AAC+ 上述的规格中,主规格“Main”包含了除增益控制之外的全部功能,其音质是最好,而低复杂度规格则是比较简单,没有了增益控制,但提高了编码效率,至“SSR”对“LC”规格大体是相同,但是多了增益的控制功能,另外,MPEG-4/AAC/LTP/LD/HE,都是用在低码率下编码,特别是“HE”是有Nero ACC编码器支持,是近来多用的一种编码率种,不过通常来说,Main规格和LC规格的音质相差是不大,因此目前使用最多的AAC规格多数是“LC”规格,因为要考虑手机目前的内存能力未达合理水平。 由于AAC格式家族比较庞大,要了解他,首先要清楚其各有不同的编码器,在目前是包括了商业的,免费的 AAC 格式音频编码器,其中几个主要的有如下 : a) FhG Fraunhofer IIS研发的权威编码器,拥有很好的音质,可惜不对外开放了。 b) Nero AAC可能是目前最完美的AAC编码器了,(千千静听就是用的此编码器)同时支持"LC AAC/HE AAC"规格,Nero AAC编码器提供了品质最好的"VBR LC AAC"格式,同时亦对面"HE AAC"规格保证了在低码率下也有良好的表现,目前索尼爱立信W800和K750等手机都支持该编码器。 c) QuickTime/iTune Apple公司的两款Media软件都提供了AAC编码功能,其编码技术来自“DolbyLaboratories”,是目前音质最好的中码编率编码器,它编码的48kbps立体声音质比其它AAC编码器好20 - 25%,甚至64 kbps的Dolby AAC音效可媲美128 kbps的MP3。 d) FAAC也是一种很好的命令行编码器,只支持“LC”规格,但音质相当不错,与一般商业用的编码器接近水平,而这个软件更是免费来的,索尼爱立信W800和K750等手机也是同样支持这个编码器。 另外还有Psytel,Coding Technologies,HHI/z Plane(Compaact),Dolby AAC等AAC编码器,而其它如Panasonic,Nokia,AT&T,NEC等公司也都有独家开发的编码器,在大家弄清楚这些AAC格式音频规格和编码器之后,我们就不难知道为什么同一款Nokia手机会支持看起来都是AAC格式音频的诸多文件格式了,比如Nokia 6230i就是既支持AAC格式也支持M4A格式和MP4格式的机型,而这些音频文件格式其实都是属于AAC家族成员的!
MP3与Lame
http://biosea.blog.hexun.com/4436555_d.html 1、Lame是什么?
Lame是目前最好的MP3编码引擎。从1998年12月至今,Lame已被越来越多人的公认为是MP3压缩的最佳利器。Lame编码出来的MP3音色纯厚、空间宽广、
低音清晰、细节表现良好,它独创的心理音响模型技术保证了CD音频还原的真实性,配合APX(APX)参数,可以取得音质几乎媲美CD音频的小体积文件。
对于一个免费引擎来说,Lame的优势不言而喻。
默认情况下,Lame只支持从*.wav(波形文件)压缩到*.mp3。网上也提供一些修改版,加入了从*.ape格式直接压缩成*.mp3。需要注意的 是,MP3的转换最好是采用高质量的音源格式,如CD转录后的wav、ape、flac等,而诸如wma、rm等已经经过压缩的音源转换成MP3则豪无意 义。
2、上边提到的VBR和ABR是什么?还有CBR?
VBR(Variable
Bitrate)动态比特率。也就是没有固定的比特率,压缩软件在压缩时根据音频数据即时确定使用什么比特率。这是Xing发展的算法,他们将一首歌的复
杂部分用高Bitrate编码,简单部分用低Bitrate编码。主意虽然不错,可惜Xing编码器的VBR算法很差,音质与CBR相去甚远。幸运的
是,Lame完美地优化了VBR算法,使之成为MP3的最佳编码模式。这是以质量为前提兼顾文件大小的方式,推荐编码模式。
ABR(Average
Bitrate)平均比特率,是VBR的一种插值参数。Lame针对CBR不佳的文件体积比和VBR生成文件大小不定的特点独创了这种编码模式。ABR也
被称为“Safe
VBR”,它是在指定的平均Bitrate内,以每50帧(30帧约1秒)为一段,低频和不敏感频率使用相对低的流量,高频和大动态表现时使用高流量。举
例来说,当指定用192kbps
ABR对一段wav文件进行编码时,Lame会将该文件的85%用192kbps固定编码,然后对剩余15%进行动态优化:复杂部分用高于192kbps
来编码、简单部分用低于192kbps来编码。与192kbps CBR相比,192kbps
ABR在文件大小上相差不多,音质却提高不少。ABR编码在速度上是VBR编码的2到3倍,在128-256kbps范围内质量要好于CBR。可以做为
VBR和CBR的一种折衷选择。
CBR(Constant Bitrate),常数比特率,指文件从头到尾都是一种位速率。相对于VBR和ABR来讲,它压缩出来的文件体积很大,但音质却不会有明显的提高。
对MP3来说Bitrate是最重要的因素,它用来表示每秒钟的音频数据占用了多少个bit(bit per second,简称bps)。这个值越高,音质就越好。
http://baike.baidu.com/link?url=uu2N1znwR0vrh7bpkiKAha9CSozQ_Wy7QWj6661ZT8FqsZil9AzhquXRbCqjOodqzJs0GYZtiWL-srbN4MdmxK
Opus编码器 是一个有损声音编码的格式,由互联网工程任务组(IETF)进来开发,适用于网络上的实时声音传输,标准格式为RFC 6716。Opus 格式是一个开放格式,使用上没有任何专利或限制。
Opus的前身是celt编码器。在当今的有损音频格式争夺上,拥有众多不同编码器的AAC格式打败了同样颇有潜力的Musepack、Vorbis等格 式,而在Opus格式诞生后,情况似乎不同了。通过诸多的对比测试,低码率下Opsu完胜曾经优势明显的HE AAC,中码率就已经可以媲敌码率高出30%左右的AAC格式,而高码率下更接近原始音频。Opus格式音频可以使用GStreamer, libavcodec(ffmpeg),Foobar2000,Firefox(15 Beta或更新)等播放,推荐Foobar2000 1.1.14 beta 1或者更新的版本播放
http://baike.baidu.com/link?url=J5K0LmIShYGGkrbiNMAWvXLhjh9AN-ZQYfBw4fCesKjqZol1dOv7dkchOBUtkJBu
SDL(Simple DirectMedia Layer)是一套开放源代码的跨平台多媒体开发库,使用C语言写成。SDL提供了数种控制图像、声音、输出入的函数,让开发者只要用相同或是相似的代码 就可以开发出跨多个平台(Linux、Windows、Mac OS X等)的应用软件。目前SDL多用于开发游戏、模拟器、媒体播放器等多媒体应用领域。
ffmpeg & mplayer & vlc 手册(转)的更多相关文章
- Install FFmpeg, Mplayer, Mencoder, MP4Box, Flvtool2
You can use the following tutorial to install ffmpeg and other video modules in your centos server.F ...
- SRS流媒体服务器搭建+ffmpeg推流VLC取流观看
一.编译SRS https://github.com/winlinvip/simple-rtmp-server 目前有1.0-release.2.0.3.0等版本 2.0官方文档地址:https:// ...
- MPlayer 使用手册中文版
播放文件 使用 MPlayer 播放媒体文件最简单的方式是: mplayer <somefile> MPlayer 会自动检测文件的类型并加以播放,如果是音频文件,则会在命令行中显示该播放 ...
- ffmpeg 、Vlc参数
ffmpeg.exe -loglevel error -probesize 32 -vsync passthrough -framerate 20 -f gdigrab -i desktop -fil ...
- ffmpeg 速查手册
ref : http://linux.51yip.com/search/ffmpeg ffmpeg是一个源于Linux的工具软件,是FLV视频转换器,可以轻易地实现FLV向其它格式avi.asf. m ...
- How to install ffmpeg,mp4box,mplayer,mencoder,flvtool2,ffmpeg-php on centos
1. Enable RPM Fusion yum repository The CentOS rpm packages of ffmpeg, mplayer, mencoder and MP4Box ...
- 谷歌修复了 FFmpeg 中上千个 bug
谷歌在科技业界中几乎每天都会创造出新闻素材,它的触手涉及到了生活中的多个领域.最近谷歌将其Google +社交网络与邮件服务Gmail相结合.然而今天谷歌宣布他们修复了FFmpeg的上千个bug. ...
- ffmpeg相关资源
FFPLAY的原理(一) http://blog.csdn.net/shenbin1430/article/details/4291893 ubuntu12.04下命令安装ffplay等: sudo ...
- crosss compile VLC with OpenMAX on ARM board(RockChip RK3399),in order to use Hard Acceleration when decode video
reference:http://www.x90x90x90.com/en/raspberry-pi-3-howto-compile-vlc-with-hardware-acceleration/ 1 ...
随机推荐
- BZOJ3619 [Zjoi2014]璀灿光华 构造+dfs
题意:有一个\(a^3\)个小正方体组成的大正方体,其中有n个正方体会向上下左右前后六个方向中的一个发出光,正方体是透光的,被照亮的正方体有个美丽值\(g_{i}\),给出正方体的相邻关系,问美丽值之 ...
- 【贪心】BZOJ3668-[NOI2014]起床困难综合症
[题目大意] 给定n次操作(与,或,异或),在0~m中选择一个数,使这个数经过n次操作后得到的值最大. [思路] 水题orz 枚举这个数每一位的取值是0还是1,然后根据它经过n次操作后的结果判断: ( ...
- mac安装redis拓展
安装 下载源码 编译安装 添加拓展 添加权限重启 安装 在mac上安装了php7.1.7 php -m 查看安装的拓展,没有redis,以前可以brew install php71-redis简单命令 ...
- BZOJ 2818: Gcd 筛法
2818: Gcd 题目连接: http://www.lydsy.com/JudgeOnline/problem.php?id=2818 Description 给定整数N,求1<=x,y< ...
- HDU 5297 Y sequence 容斥 迭代
Y sequence 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5297 Description Yellowstar likes integer ...
- Ubantu14.04下编译OpenCV3.0.0以及读取图片例子
以前一直使用opencv 2.x的版本,现在3.0的已经发布成正式版了,尝试在Linux下安装. 收集了一篇不错的经验教程: Ubuntu14.04下安装OpenCV3.0经验. 编译的过程大概需要3 ...
- react-native-communications 电话、短信、邮件、浏览器
第一种方法:Linking:调用系统的电话.短信.邮件.浏览器等功能 Linking.canOpenURL(this.props.url).then(supported => { if (!su ...
- 不错的VS2010扩展——JSEnhancements,让js和css也折叠
在Visaul Studio 2010中写js或css代码,缺少像写C#代码时的那种折叠功能,当代码比较多时,就很不方便. 今天发现,已经有VS2010扩展支持这个功能,它就是——JSEnhancem ...
- Spring Bean InitializingBean和DisposableBean实例
在Spring中,InitializingBean和DisposableBean是两个标记接口,为Spring执行时bean的初始化和销毁某些行为时的有用方法. 对于Bean实现 Initializi ...
- JavaScript学习10:动态载入脚本和样式
我们在写Web页面的时候,须要引入非常多的JavaScript脚本文件和CSS样式文件,尤其是在站点需求量非常大的时候,脚本的需求量也随之变大,这样一来,站点的性能就会大打折扣.因此就出现了动态载入的 ...