今天我们聊聊视频编码。视频文件亘古以来存在一个矛盾:高清画质和视频体积的冲突,相同编码标准下,视频更高清,视频体积更大。因此,应用更先进的视频编码标准,降低视频体积,可以大幅降低网站的流量消耗。

目前应用最广泛的视频编码标准是 H.264。H.264 在低码率下的视频画质十分模糊;同时 H.264 对 2K、4K 视频的支持较差:以 H.264 的压缩率,一部4K电影的体积会超过 100G,甚至可以达到 150G、200G,这对想要抢占高清片源的视频平台来说几乎是致命的打击。

既要高清,又要视频体积小——这靠 H.264 明显是不可能了,而新的编码格式 H.265 就能满足这个要求。同样是 110 分钟的 4K 视频,用 H.265 编码进行压缩,体积可以降低 50%,相较于 H.264 的 100G - 200G 而言,每一部 4K 视频都能节约大量的流量带宽成本。

H.265 是国际上公认的下一代视频编码标准则,国内外对 H.265 的支持越来越多,国内不仅有爱奇艺、搜狐、腾讯等头部视频网站开始支持 H.265 视频点播,各大字幕组也开始尝试使用 H.265 标准压制视频。

H.265:新一代视频编码技术

H.265 视频编码技术是于 2013 年定稿发布了下一代视频压缩标准,命名为 HEVC(High  Efficiency Video Coding),分别被 ITU-T 和 ISO/IEC 采纳成为国际标准,即 H.265 视频压缩标准。H.265 在现有的视频编码标准 H.264 基础上,进一步提高压缩效率、提高鲁棒性(Robustness 抗变换性)和错误恢复能力、减少实时的时延、减少信道获取时间和随机接入时延、降低复杂度,以达到最优化设置。

H.265 能在有限带宽下传输更高质量的网络视频,只需 H.264 编码的一半带宽即可传输相同质量的视频。

1. 视频压缩率更出众,与 H.264 相比压缩效率提升 1 倍

H.265 全新的编码方式有效提升了视频压缩率,仅需原先的一半带宽即可播放相同质量的视频。众所周知,视频编码的码率是可以灵活控制的,以相同的视频质量为基准,H.265 编码技术相比 H.264 编码技术能够在视频容量减少 39% 到 74%,并且还能获得比 H.264 视频更好的信噪比(PSNR)效果。——拿“体积比你小,质量比你好”来形容 H.265 相比 H.264 的巨大优势,并没有显得过分。

△ H.264、H.265 压缩率对比

2. 视频传输流量省 50%

IEEE 出版的 Circuits and Systems for Video Technology,其中有 Comparison of the Coding Efficiency of Video Coding Standards—Including High Efficiency Video Coding 一文,以 9 段影片进行测试 H.265 的编码表现,所得到的结果相当另人满意,即便在表现最差的样本中,节省的流量接近 30%,平均起来也达到 49.3% 的佳绩。

△ H.265 与 H.264 流量比较(资料来源:IEEE)

3. 支持蓝光 4K

H.265 编码技术有着惊人的压缩率,加上灵活的宏块像素技术,这对于 Ultra HD 4K/8K 超高清分辨率极为重要,2015 年春季正式出台的蓝光 4K(3840×2160)标准采用了 H.265/HEVC 编码标准,H.265 编码技术能够大幅降低蓝光 4K 光盘的容量需求。

H.265 压缩原理

更大的宏块和变换块:相对于 H.264 的 4×4、8×8、16×16 宏块类型,H.265 引入了 32×32、64×64 甚至 128×128 的宏块,目的在于减少高清数字视频的宏块个数,减少用于描述宏块内容的参数信息,同时整形变换块大小也相应扩大,用于减少 H.264 中变换相邻块问的相似系数。

△ H.264 与 H.265 对比图

新的 MV(运动矢量)预测方式:区别于 H.264 基于空间域的运动矢量预测方式,H.265 扩充更加多的方向进行帧内预测,同时将预测块的集合由原来的空间域扩展到时间域及空时混合域,通过率失真准则计算后选择最佳的预测块。使用该方法,在基本模式下测试,在与H.264 相同质量的情况下,得到平均为 6.1% 的压缩增益,复杂图像的压缩增益甚至能提高到 20%。

并行化设计:当前芯片架构已经从单核性能逐渐往多核并行方向发展,H.265 引入了 Entropyslice、WPP 等并行运算思路,使用并行度更高的编码算法,更有利于 H.265 在 GPU/DSP/FPGA/ASIC 等并行化程度非常高的 CPU 中快速高效的实现产业化。

Tile 划分机制:它使得以往的 slice、帧或 GOP 为单位的粗粒度数据并行机制更加适合于同构多核处理器上的并行实现。Dependentslice 和 WPP 机制解决了以往 H.264 等编码技术中熵编码环节无法并行实现的问题,使得整个编解码过程中 DCT、运动估计、运动补偿、熵编码等任务模块的划分更加均衡,显著提高并行加速比。

开启 H.265 自适应

与 H.264 相比,H.265 不仅更符合未来高清影片发展的趋势,而且同等画质下可以为带来更高效的视频压缩效率,有效节省流量消耗。

为了让用户使用到更先进的产品,又拍云一直在 H.265 的实用性与便捷性方面钻研,2017 年 5 月便推出了 H.265 视频自适应解决方案。又拍云 H.265 视频自适应方案集成了视频上传、视频存储、视频编码(转码)、视频分发适配、视频解码等功能。

  • 视频上传转码:用户将 H.264 编码视频上传到又拍云的服务器,又拍云将其同步转为 H.265 编码的视频;

  • 视频异步转码:针对已存储在又拍云服务器上的 H.264 编码的视频,通过又拍云异步转码服务,可转为 H.265 视频存储,同时保留 H.264 视频副本;

  • H.265 自适应:又拍云 CDN 网络支持 H.265自适应功能,能够根据客户终端播放器发起的 UA 请求头 ( Accept-Encoding: h265 ),智能识别终端播放器是否支持H.265,并判断当前请求的资源是否存在 H.265 编码的文件。如果播放器支持且拥有 H.265 编码的视频,则返回 H.265 视频,否则返回原始视频,从而实现 CDN 平台的 H.265 智能适配。H.265 自适应支持又拍云存储和又拍云 CDN 两种使用场景。

推荐阅读:

RTMP、HTTP-FLV、HLS,你了解常见的三大直播协议吗

抖音这么火,如何快速进入“短视频+”时代

深入解析 H.265 编码模式,带你了解Apple全面推进H.265的原因的更多相关文章

  1. 【省带宽、压成本专题】深入解析 H.265 编码模式,带你了解 Apple 全面推进 H.265 的原因

    过去几年,又拍云一直在点播.直播等视频应用方面潜心钻研,取得了不俗的成果.我们结合点播.直播.短视频等业务中的用户场景,推出了"省带宽.压成本"系列文章,从编码技术.网络架构等角度 ...

  2. 解析WEB开发编码问题

    解析WEB开发编码问题 URL: http://tcking.javaeye.com/blog/726643 在进行web开发的时候经常会遇到乱码的问题,乱码一般出现在: 1.写在jsp文件中的中文变 ...

  3. 03:H.264编码原理以及视频压缩I、P、B帧

    一:前言 H264是新一代的编码标准,以高压缩高质量和支持多种网络的流媒体传输著称,在编码方面,我理解的他的理论依据是:参照一段时间内图像的统计结果表明,在相邻几幅图像画面中, 一般有差别的像素只有1 ...

  4. python3下urlopen解析中文url编码错误

    这是在ipython下测试的结果: In [24]: x Out[24]: 'http://127.0.0.1:8000/xxx/?id=a45ex0bad3c9&game=五子棋' In [ ...

  5. C++实现RTMP协议发送H.264编码及AAC编码的音视频

    http://www.cnblogs.com/haibindev/archive/2011/12/29/2305712.html C++实现RTMP协议发送H.264编码及AAC编码的音视频 RTMP ...

  6. C++实现RTMP协议发送H.264编码及AAC编码的音视频(转)

    C++实现RTMP协议发送H.264编码及AAC编码的音视频(转) RTMP(Real Time Messaging Protocol)是专门用来传输音视频数据的流媒体协议,最初由Macromedia ...

  7. 直播一:H.264编码基础知识详解

    一.编码基础概念 1.为什么要进行视频编码? 视频是由一帧帧图像组成,就如常见的gif图片,如果打开一张gif图片,可以发现里面是由很多张图片组成.一般视频为了不让观众感觉到卡顿,一秒钟至少需要16帧 ...

  8. Windows 记事本的 ANSI、Unicode、UTF-8 这三种编码模式有什么区别?

    [梁海的回答(99票)]: 简答.一些细节暂无精力查证,如果说错了还请指出. 一句话建议:涉及兼容性考量时,不要用记事本,用专业的文本编辑器保存为不带 BOM 的UTF-8. * * * 如果是为了跨 ...

  9. 视频基础知识:浅谈视频会议中H.264编码标准的技术发展

    浅谈视频会议中H.264编码标准的技术发展 浅谈视频会议中H.264编码标准的技术发展 数字视频技术广泛应用于通信.计算机.广播电视等领域,带来了会议电视.可视电话及数字电视.媒体存储等一系列应用,促 ...

随机推荐

  1. Python 实现 KD-Tree 最近邻算法

    这里将写了一个KDTree类,仅实现了最近邻,K近邻之后若有时间再更新: from collections import namedtuple from operator import itemget ...

  2. C++11 带来的新特性 (2)—— 统一初始化(Uniform Initialization)

    1 统一初始化(Uniform Initialization) 在C++ 11之前,所有对象的初始化方式是不同的,经常让写代码的我们感到困惑.C++ 11努力创造一个统一的初始化方式. 其语法是使用{ ...

  3. Linux中伪分布的搭建

    一伪分布模式             特点:在单机上,模拟一个分布式的环境,具备Hadoop的所有功能                     HDFS:NameNode + DataNode + S ...

  4. Linux从入门到进阶全集——【第八集:软件包管理:rpm、tar、yum】

    1,对Linux下软件的了解 源码包:未编译,要编译安装. 二进制包:已编译,可直接安装. 2,centos和ubuntu下的软件包对比: [centos]rpm文件手动安装,使用rpm指令     ...

  5. 什么是nrm

    什么是nrm nrm 是一个 npm 源管理器,允许你快速地在 npm 源间切换. 安装nrm 在命令行执行命令,npm install -g nrm,全局安装nrm. 使用 执行命令nrm ls查看 ...

  6. 编译ROCKSDB总结

    Rocksdb是挺好的一个东西,就是取得一个可用的库太麻烦.之前我是用的rocksdbsharp里面他有编译好windows 和 linux的库 兼 容性还挺好,ubuntu win10 直接跑没毛病 ...

  7. That girl

    音标 词汇 Purple Glasses Black Hat Brown Bag Clothes Blue Jacket Pink Handbag Sock White Skirt Shoe 1, s ...

  8. BZOJ1386 : [Baltic2000]Stickers

    显然每一位的限制独立,对于每一位求出仅限制该位下的最大数,然后求最小值即可. 假设当前要求数字$d$的答案: 考虑填数字的过程,可以看作依次考虑一个序列中的每个数,当前缀和$<0$时退出. 设$ ...

  9. kettle web化

    kettle web化 通过Java API调用kettle核心代码,并基于Spring Boot提供简易的Web管理界面. 背景 在工作中,通过kettle这款ETL产品进行数据处理时,是通过kit ...

  10. Redmine 安装、搭建

    参考两个博客: 1.https://blog.csdn.net/g19881118/article/details/59476045 2.https://www.cnblogs.com/chendal ...