您现在的位置:网站首页 >> 软件资讯 >> 内容

能看小电影得谢它:神级播片软件FFmpeg你知多少

时间:2017-9-21 9:14:20 点击:

  核心提示:我们早已经进入了数字多媒体时代,相信每天都会有数不清的男男女女,在PC手机上播放一部部令人热血贲张的小电影。没错,视频播放早已是信息时代的日常,花样迭出的视频播放器成为了手机电脑中不可或缺的软件。不过...

我们早已经进入了数字多媒体时代,相信每天都会有数不清的男男女女,在PC手机上播放一部部令人热血贲张的小电影。没错,视频播放早已是信息时代的日常,花样迭出的视频播放器成为了手机电脑中不可或缺的软件。不过,你可知道这些名目繁多的视频播放器要运作起来,往往都离不开神级播片软件FFmpeg?今天,就一起来谈谈视频播放和FFmpeg的那点事吧。 

一部小电影到底是如何播放出来的?

尽管我们每天都在看小电影之类的视频,不过对视频播放背后的机理,恐怕并不是每个朋友都会去作了解。我们平时看到的小电影有着各种各样的格式,例如AVI、RMVB、MKV等等,但是这些格式并非是视频之间的本质区别——不同的格式往往只代表着不同的容器,容器内封装的具体视频流、音频流等内容,才是一个视频的本质所在。

例如,AVI中可以封装H.264编码的视频流,MKV也可以封装H.264,但同时MKV还能够封装HEVC、VP9等视频流。因此,MKV和MKV之间的区别,可能要比某个AVI和某个MKV之间的区别大得多。当然,不同的容器也是有功能和性能上的区别的,例如MKV对各种编码的兼容性就非常好,而AVI则有所局限,且不支持流媒体播放等。

要播放某段视频,播放软件所需要做的,首先要支持某种容器,然后把视频流、音频流等内容从容器中分离出来,接而解码,然后渲染,用户就可以播放出视频、音频乃至字幕等内容了。

这个过程是比较繁琐而且颇有技术含量的,世界上有着茫茫多规格的编码格式,做一个播放器就意味着需要对这些东西吃得比较透,这无疑是相当费时费力的。因此,为数庞大的视频播放器实际上都使用了统一的解决方案——FFmpeg。

神级播放软件FFmpeg:万能播放器的根基

FFmepg是一套视频音频的完整解决方案,它提供了视频解码、编码、后期处理等一系列功能,对世界上千奇百怪的视频音频编码有着完善的支持。FFmpeg是在Linux平台下开发的,完全开源,也可以在其他平台编译运行。FFmpeg的名称显然是来自“MPEG”,而MPEG则是视频编码标准的制定者,从名字就可以看出,FFmpeg旨在研究和MPEG相关的一系列技术。

FFmpeg的功能非常强大,虽然前文和标题都说它是播片神器,但它的功能绝不仅仅限于播片。FFmpeg自然可以解码诸多的视频音频编码,而且它同时也提供了视频音频转换、编码、封装的功能,还可以进行视频裁剪、缩放、色域转换等一系列后期处理。不仅如此,FFmpeg还支持HTTP、FTP、SMB等协议。可以说,无论你想要本地播片,还是转换视频格式,亦或是利用网络看视频,FFmpeg都可以胜任。

FFmpeg项目起源于2000年,多年来,FFmpeg一直在进化。FFmpeg项目在2011年分裂出了Libav项目,该项目诞生出了现今最强力的视频解码器LAV。无论对于软硬件,LAV解码器都有着颇为完善的支持,大量播放软件都可以调用LAV解码,而LAV本身也可以利用各种显卡进行视频硬解。想要用PC播放难搞的4K HDR蓝光?LAV绝对是最好的解决方案。

FFmpeg之所以是神,不仅仅是由于自身的强大,还在于对业界的影响力。很多播放器都宣称自己多么多么万能,支持先进的4K乃至8K视频播放,乍看这播放器搞定了世界上如此繁杂的视频容器、视频音频编码,太了不起了!然而实际上,真正的原因往往是因为这播放器自带了FFmpeg/LAV解码器,真正神的不是播放器,而是背后的FFmpeg/LAV,你能用播放器顺利放出小电影,可别忘记感谢FFmpeg。因此,把FFmpeg称作为神级软件,完全实至名归。

FFmpeg:可能是被抄袭得最严重的开源软件

FFmpeg是如此强大,但一般人是难以驾驭的。和很多开源软件一样,FFmpeg并没有图形界面,原始版本的Fmpeg只能怪通过命令行操纵,不是高玩的话一般是不会去碰原始版本的FFmpeg的。不过,由于FFmpeg是一个开源软件,因此诸多我们日常接触的软件,都会使用其技术来实现视频播放功能。这其中,既包括常见的播放软件,也包括浏览器之类的能播放视频的产品。

例如,三大视频播放流派MPC、MPlayer和VLC都和FFmpeg脱不开关系,而Chrome这样的能播放网页视频的浏览器,也使用了FFmpeg代码。FFmpeg开源,加上易于编译到多个平台的特点,广受各大播放器开发商的欢迎是情理之中的事情。如果你看到某款播放器支持N多视频格式、N多功能,十有八九它就使用了FFmpeg的相关代码。

不过,FFmpeg是按照GPL/LGPL协议开源的,这意味着如果某软件使用了FFmpeg的代码,那么这个软件涉及这些代码的部分,也必须开源。但是业界的风气嘛……你懂的。我用了就是用了,开源什么的谁管你,有本事你来打我呀?因此,FFmpeg也成为了代码被盗用得最严重的开源软件之一,不少著名的播放软件都是FFmpeg代码的偷窃者。

无论是国内外,都有大量播放软件非法使用了FFmpeg的代码。例如国内耳熟能详的暴风影音、QQ影音,以及国外著名的KMPlayer、PotPlayer,都采用了FFmpeg的代码但却不按规矩开源,被放入了FFmpeg的耻辱名单当中。当然,守规矩的软件也是有的,例如前面提到的MPC、MPlayer、VLC都按照FFmpeg的规矩开了源。如果你想要支持开源事业,不妨优先使用这些守规矩的软件。

尽管人们日常接触的多是金玉其外的商业软件,但是软件界今时今日的繁荣,离不开FFmpeg这样的开源软件们的默默奉献。在享受一部部小电影、大片的同时,请不要忘记是FFmpeg把拨人心弦的影音带到了你的面前。

文章纠错

微信公众号搜索" 驱动之家 "加关注,每日最新的手机、电脑、汽车、智能硬件信息可以让你一手全掌握。推荐关注!【微信扫描下图可直接关注】

作者:佚名 来源:不详
相关评论
  • 重要声明:本站所有的文章、图片、评论等均由网友发表上传或来源于自网络。
    如有信息侵犯了您的权益,请联系网站客服,我们将乐意接受您的意见,并及时作出修改。本站拒绝任何人以任何形式在此发表与中华人民共和国法律相抵触的言论!
    业务合作:QQ:49631073 E-mail:DD51@live.com
  • Powered by Phobos.cn © 2012-2017 All Rights Reserved.