DoubleLi

qq: 517712484 wx: ldbgliet

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  4737 随笔 :: 2 文章 :: 542 评论 :: 1615万 阅读
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

你知道VLC和 FFmpeg 吗?了解过h264/h265/vp8/vp9 编解码库背后的故事吗?

 

我们日常生活中使用最广泛的五种视频编码:H264(AVC)、H265(HEVC)、vp8、vp9、av1都分别是什么?由哪些组织/公司实现的?编解码库的授权协议都是什么?他们又分别有什么优点?

今天就让博主带领诸位小伙伴们一起来简单了解一下,视频中的这几种常用的编解码器。

 

H264(AVC)

最常用的视频编码。

 

H.264在1997年ITU的视频编码专家组提出时被称为H.26L,在ITU与ISO合作研究后被称为MPEG4 Part10或H.264。

 

虽然上述两个组织提出了H264编码规范,但是并没有具体实现。

openh264

所以我们日常使用的视频编码大多由思科(cisco)开源的openh264编解码库:

http://www.openh264.org/。

 

x264

目前性能最好最完善的h264编解码库。

 

由大名鼎鼎的VLC播放器的维护机构,法国videolan开源组织维护的libx264编解码库:VideoLAN

 

videolan开源组织的前身是**法国巴黎中央理工学院**的一个学生项目。

 

![](img-blog.csdnimg.cn/3cb)

这也是为什么音视频开发工程师默认会使用VLC播放器来测试音视频的原因,不仅仅是因为VLC强大,还因为VLC播放器就是事实上的h264/h265音视频编码的标准实现,如果VLC都播放不了你的视频,那肯定是你的视频有问题。

 

H265(HEVC)

x265

业界最好的h265(hevc)编解码库。

同样由大名鼎鼎的**VLC**播放器的维护组织法国videolan组织开源的libx265编解码库:

x265, the free H.265/HEVC encoder

 

使用x264,x265编码的小伙伴们需要注意这两款编解码库使用GPL v2授权协议,商业软件使用需要遵守GPL v2协议。

 

ffmpeg内置openhevc编解码库

由FFmpeg维护的H265(HEVC)的编解码库,能用。

Openhevc by OpenHEVC

kvazaar

FFmpeg项目引用的另一款开源的H265(HEVC)解码库,注意kvazaar解码库只提供H265解码,并不提供编码。

GitHub - ultravideo/kvazaar: An open-source HEVC encoder

 

VP8

VP8是google定义并开源的视频编解码标准和编解码库实现。

 

Google 收购了On2 Technologies,之后Google开放了其拥有的VP8视频编码技术源代码并免费提供给所有开发者使用,发布
WebM 开放网络媒体项目

 

VP8号称比H264编码性能更好,实际上没那么夸张,差不多相当于ffmpeg内置默认的openh264编解码库。VP8的压缩实现与H264有点区别就是VP8没有B帧,而H264有B帧。

 

VP8的优点是开源,没有H264/H265的专利版权风险,可以随便用,除了IE9以下版本的浏览器外,现代浏览器都支持VP8视频编码,当然也支持webm视频格式。

 

libvpx

libvpx是WebM项目的子库,可以同时支持VP8和VP9视频编码:

libvpx-1.11.0

webP图片格式的图像编码就是使用的VP8编码进行压缩的。
WebM视频的视频编码也是采用VP8/VP9编码。

 

VP9

VP9也是google开源的用与比拼H265(HEVC)的编解码器,可以看出google真的很努力的在开源,这种开源的视频编码应该多一些,百花齐放才能促进音视频技术升级。

兼容性方面,除了IE9以下版本的浏览器外,现代浏览器都支持VP9视频编码,当然也支持webm视频格式。

libvpx

libvpx上面讲过了,稍微提一下。是WebM项目的子库,可以同时支持VP8和VP9视频编码:

libvpx-1.11.0

 

AV1

重磅压轴,google最新推出的针对VP9编码有多项优化后的新的编解码器:AV1。

 

AV1是Google VP10、Mozilla Daala以及Cisco Thor三款开源编码项目共同研发成果。AV1打破了之前编码标准中传统的二维运动矢量模型的限制,第一次引入了仿射变换运动模型,不仅可以描述平移运动,同时可以更好的表述如旋转、缩放等更加复杂的运动,有效的提升了视频编码效率

 

在实际测试中,AV1比H265(HEVC)压缩率提升约27%,可以说是力压H265。是目前为止,世界上压缩性能最好的视频编解码器。再借用游戏界的话术来讲,那AV1就是“次世代”编解码器。

![](img-blog.csdnimg.cn/c07)

得益于AV1的开源和相比于H265更节省带宽的缘故,目前AV1有超过h265编码的趋势,更多视频平台和直播平台选择使用AV1编码,而不是H265。

 

目前使用AV1编码的主流流媒体平台有这几家:“奈飞、YouTube、BBC、爱奇艺”

 

尽管业界已经喊了4K喊了十多年,但是实际上4K普及率依然并不高,这些年主流的还是H264编码,尤其是在直播领域,h265编码基本上没什么应用。4K的普及不仅需要视频编解码技术的升级,还需要用户带宽和其他硬件配置的升级换代。在带宽费用如此高昂的时代,各大视频平台和直播平台厂商升级意愿都不高,但是因为有了AV1编码,各大视频平台和直播平台厂商能够使用AV1编码带来更少的带宽消耗,相信AV1编解码器的未来会更好。

 

这里只介绍FFmpeg内置的两个av1编解码器:dav1d和 librav1e。

dav1d

由FFmpeg和法国videolan开源组织共同维护的dav1d编解码库:VideoLAN

 

跟其他videolan维护项目不同的是,dav1d编解码库不受专利版权限制。

 

librav1e

号称最快的av1解码器。实际上dav1d和librav1e编解码器性能差不多,差别不大。

GitHub - xiph/rav1e: The fastest and safest AV1 encoder.

posted on   DoubleLi  阅读(1641)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
历史上的今天:
2020-09-29 Linux下error while loading shared libraries的解决方法
2020-09-29 Linux中error while loading shared libraries错误解决办法
2020-09-29 GCC编译器30分钟入门教程
2018-09-29 svn 被锁住 冲突 Can't revert without reverting children
2017-09-29 POCO库中文编程参考指南(11)如何使用Reactor框架?
2017-09-29 POCO库中文编程参考指南(10)如何使用TCPServer框架?
2017-09-29 POCO库中文编程参考指南(9)Poco::Net::DNS
点击右上角即可分享
微信分享提示