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 ...
随机推荐
- openstack newton linuxbridge 改成 ovs
最近搭建了一个all in one 的 openstack newton 版,安装官方文档做用的是linuxbridge.已经老版玩的时候都是用的ovs,趁比较闲的时候也将N版改造一下 官方文档 ht ...
- 【BZOJ 3561】 3561: DZY Loves Math VI (莫比乌斯,均摊log)
3561: DZY Loves Math VI Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 205 Solved: 141 Description ...
- CUDA学习笔记2:CUDA(英伟达显卡统一计算架构)与已有的VS项目结合
一.步骤 1.先新建一个简单的控制台应用程序,项目名称为Mytest,如下图所示: 2.在项目中添加一个名为Test.cu文件,如下图所示: 3.在解决方案资源管理器中选择该项目并点击右键,在弹出的菜 ...
- [BZOJ4552][TJOI2016&&HEOI2016]排序(二分答案+线段树/线段树分裂与合并)
解法一:二分答案+线段树 首先我们知道,对于一个01序列排序,用线段树维护的话可以做到单次排序复杂度仅为log级别. 这道题只有一个询问,所以离线没有意义,而一个询问让我们很自然的想到二分答案.先二分 ...
- [SimpleOJ236]暴风雨
题目大意: 给你一棵n个点的树,以及m+q条信息. m条描述点a到b有边直接相连. q条描述点a和点b的LCA为c. 问有多少符合条件的以1为根的树. 思路: 状压DP. e[i]记录需要与点i直接相 ...
- cordova安卓手机<a href="tel:xxx"></a>无法进入拨号界面问题
在使用cordova开发跨平台APP时,可能会用到点击某个按钮进入拨号界面的问题,HTML中的a标签提供了这个功能,但在部分安卓手机中却没有作用,点击没有反应,解决的方法如下:(在config.xml ...
- April Fools Day Contest 2016 C. Without Text 信号与系统
C. Without Text 题目连接: http://www.codeforces.com/contest/656/problem/C Description You can preview th ...
- zoj 3621 Factorial Problem in Base K 数论 s!后的0个数
Factorial Problem in Base K Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.zju.edu.cn/onli ...
- .apk文件的MIME类型
IIS7中下载apk文件会报404错误. 找到:IIS目录,MIME类型 添加.apk文件的MIME类型. 文件扩展名:.apk MIME类型:application/vnd.android.pack ...
- CentOS 6.9/7通过yum安装指定版本的Nginx
说明:通过yum好处其实很多,环境变量不用配置,配置文件放在大家都熟悉的地方,通过rpm -ql nginx可以知道全部文件的地方等等. Nginx(1.12.2) 一.安装和配置 1.安装 # rp ...