深度解析 H.265 视频解决方案
又拍云上线了 H.265 从编码解码到 CDN 分发,完整的端到端的自适应解决方案;提供视频上传、视频存储、视频编码、视频分发适配、视频解码等功能。又拍云希望能以云服务的方式将大公司才能长期支付使用的 H.265 提供给更多企业。
视频网站支持 H.265 需要解决哪些问题?
更高的压缩率需要更先进的技术,H.265 通过更智能的算法来处理图像,在维持质量的同时保持更低的比特率,但是也要付出一定代价:显著增加压缩效果,所依赖的算法复杂性,需要数倍于目前 2K 分辨率部署所用 H.264 编解码器的计算能力来支撑,而提供这种能力需要大量的服务器来支撑。
除此外,鉴于有些客户端不支持 H.265 视频,还需要 对客户端进行有效识别,响应不同副本的视频给客户端。
又拍云 H.265 视频自适应方案
又拍云 H.265 视频自适应方案集成了视频上传、视频存储、视频编码(转码)、视频分发适配、视频解码等功能。
视频上传转码:使用又拍云存储,可以满足视频上传加速、转码、存储的需求。在使用云存储的基础上,用户选择将上传的 H.264 编码的视频,同步转为 H.265 编码的视频存储;
视频异步转码:针对已存储在又拍云上的 H.264 编码的视频,通过又拍云异步转码服务,可转为 H.265 视频存储,同时保留 H.264 视频副本;
H.265分发适配:在又拍云 CDN 层面提供 H.265 分发适配功能,可对不同的客户端进行智能识别,在用户访问时响应不同的编码的视频资源。
CDN 如何识别 H.265 视频请求 ?
CDN 当前识别客户端是否支持 H.265 解码是通过 HTTP 请求头:Accept-Encoding: h265 来判断的,CDN 收到该请求之后,再去判断 CDN 节点是否有 H.265 缓存副本,否则直接返回原始视频资源。
从流程图可以看出,H.265 视频资源响应了一个 Content-Encoding:h265 的头部。

H.265 视频资源访问流程

• 第一步:客户端请求 H.265 视频资源,例如:http://video.example.com/test.mp4,HTTP 请求头携带 Accept-Encoding: h265,方便 CDN 智能识别;
• 第二步:CDN 节点判断是否有 H.265 视频副本,如有,则直接响应给客户端,整个流程结束;如果没有,则进入第三个步骤;
• 第三步:CDN 节点回源获取 H.265 视频资源,如有则直接响应,并在 CDN 节点进行缓存;如果没有,进入第四步;
• 第四步:源站返回原始视频资源,并在 CDN 节点默认缓存 6 分钟,缓存过期之后回源探测。
如何接入又拍云 H.265 视频服务
场景一:使用又拍云存储
使用又拍存储源,可以满足视频上传加速、视频转码(包括编码)、视频的存储等需求。如果您的视频已经转成 H.265 编码的视频,请忽略视频转码步骤。
1. 视频上传和存储
又拍云对象存储服务提供 API、FTP/FTPS、UPX、cURL、SDK 等多种上传方式,支持海量安全存储,更多了解请参考:又拍云存储服务介绍,又拍云存储开发者开发者工具
2. 视频异步转码
如果您存在又拍云对象存储服务的原始视频是 H.264 编码的视频,与此同时,希望同步转为 H.265 的视频,我们可以提供异步视频转码服务。详细参见:又拍云音视频处理服务
3. 视频分发适配
从上文可以看出,您可以在又拍云对象存储服务上存储两个不同副本的视频资源,一个是 H.264 视频副本,这里称为原始视频;另外一个是 H.265 视频副本,这样可以满足不同客户端的访问。您既希望支持 H.265 视频的客户端可以访问到 H.265 视频,不支持 H.265 视频的客户端可以访问到原始视频副本,此时,通过一定的约定规范,CDN 可以做到智能识别并响应不同副本的视频资源。
4. 移动端 SDK 解码
又拍云目前支持移动端 H.265 解码,支持iOS和Android平台。详细参见:Android SDK 和 iOS SDK
场景二:使用又拍云CDN(用户自主源)
使用用户自主源,又拍云无需提供视频文件的存储,用户自行将视频转为 H.265 编码格式,自行上传即可。我们可以提供的服务包括适配分发适配、移动 SDK 解码。
直接使用又拍云 CDN 服务需遵循一定的规范:
HTTP 请求头
客户端需要根据约定规范发起 Accept-Encoding: h265 的请求头,CDN 节点会根据此请求头来判断客户端是否支持 H.265 解码。详细参见上文:CDN 如何识别 H.265 视频请求。例如:
GET /test.mp4 HTTP/1.1
Host:http://zhangchao.charmelady.net
User-Agent: curl/7.43.0
Accept: /
Accept-Encoding:h265
H.265 视频存储规范
源站为了区分原始视频和 H.265 格式视频,H.265 视频存储路径需要约定规范为:URL.h265,以此来区分原始视频和 H.265 视频。例如:
原始视频存储路径为:/test.mp4H.265 视频存储路径为:/test.mp4.h265
推荐阅读:
深度解析 H.265 视频解决方案的更多相关文章
- 【省带宽、压成本专题】深入解析 H.265 编码模式,带你了解 Apple 全面推进 H.265 的原因
过去几年,又拍云一直在点播.直播等视频应用方面潜心钻研,取得了不俗的成果.我们结合点播.直播.短视频等业务中的用户场景,推出了"省带宽.压成本"系列文章,从编码技术.网络架构等角度 ...
- 深入解析 H.265 编码模式,带你了解Apple全面推进H.265的原因
今天我们聊聊视频编码.视频文件亘古以来存在一个矛盾:高清画质和视频体积的冲突,相同编码标准下,视频更高清,视频体积更大.因此,应用更先进的视频编码标准,降低视频体积,可以大幅降低网站的流量消耗. 目前 ...
- H.265视频编码与技术全析(上)
H.265视频编码与技术全析(上) 一. 概述 作为新一代视频编解码格式,H.265得到越来越广泛的应用.不久之前,苹果公司在翘首期盼中发布了iPhone6,该款手机较之以往的iPhone,不仅仅只是 ...
- Linux实现ffmpeg H.265视频编码
Linux实现ffmpeg H.265视频编码 几乎所有观看的视频,数字地面电视,电缆,卫星或互联网上的压缩.原始的,未压缩的视频太大,会浪费太多的带宽.在DVD和Blu-ray之前,有视频CD(VC ...
- H.265视频编码与技术全析(下)
H.265视频编码与技术全析(下) 四.帧内预测模式 共35个(h264有9个),包括Planar,DC,33个方向模式: 除了Intra_Angular预测外,HEVC还和H.264/MPEG-4 ...
- H.264与H.265视频压缩编码参考码率
- 【miscellaneous】最新HEVC/H.265 4K视频,显卡解码测试
转载自:http://bbs.zol.com.cn/diybbs/d34441_76103.html 4K这个概念也在最近几年开始流行了起来,无论是4K显示器.4K电视盒子,还是4K游戏对硬件的要求也 ...
- 为什么各大厂商要抢先跟进H.265?
继爱奇艺.乐视等视频厂商宣布支持 H.265 高清视频后,2014 年 4 月,搜狐视频宣布正式上线视频行业首个 H.265 高清大片专区,可在线观看 200 余部当下最火的超高清大片.国外 BBC ...
- EasyPlayer RTSP Windows(with ActiveX/OCX插件)播放器支持H.265播放与抓图功能
EasyPlayer作为业界一款比较优秀的RTSP播放器,一直深受用户的好评,经过了近3年的开发和迭代,从一开始的简单PC版本的RTSP播放功能,到如今支持PC(支持ocx插件).Android.iO ...
随机推荐
- OpenCV畸变校正原理以及损失有效像素原理分析
上一篇博客简要介绍了一下常用的张正友标定法的流程,其中获取了摄像机的内参矩阵K,和畸变系数D. 1.在普通相机cv模型中,畸变系数主要有下面几个:(k1; k2; p1; p2[; k3[; k4; ...
- iOS数据本地化
本篇随笔除了介绍 iOS 数据持久化知识之外,还贯穿了以下内容: (1)自定义 TableView,结合 block 从 ViewController 中分离出 View,轻 ViewControll ...
- C#小知识点记录(QQ交流群的一个小问题)Linq提取数据
请教 这里 LINQ想 找到 最后的 4条 记录 然后放在 这里这个 List Linq查找怎么写呀? 解答:写了一个小例子作为解答. namespace C_Sharp { class Progra ...
- Linux - atexit()(注册终止)函数
进程终⽌的⽅式有8种,前5种为正常终⽌,后三种为异常终⽌: 1. 从main函数返回: 2 .调⽤exit函数:3 .调⽤_exit或_Exit:4 .最后⼀个线程从启动例程返回:5 .最后⼀个线程调 ...
- Java Comparator的范型类型推导问题
问题 在项目中,有一处地方需要对日期区间进行排序 我需要以日期区间的开始日为第一优先级,结束日为第二优先级进行排序 代码 我当时写的代码如下: List<Pair<LocalDate, L ...
- AJAX做增删改查详细!
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- [codevs]1060搞笑世界杯
CODEVS上一道钻石题,还是DP的思想,先来题目 1060 搞笑世界杯 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题解 题目描述 Description ...
- mysql查询今天、昨天、7天、近30天、本月、上一月 数据
今天 select * from 表名 where to_days(时间字段名) = to_days(now()); 昨天 SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ...
- 使用 Composer 安装 Laravel 框架
前言: 1. Composer 安装 Laravel 有两种方式: 第一种是通过 Composer 的 create-project 命令安装 Laravel 框架, 第二种是先通过 Composer ...
- yum 安装vim编辑器
在我们使用的vi编辑器中没有配色不是很好用,我们安装一个vim富文本编辑器方便我们的文本编辑. [root@localhost ~]# yum install vim -y已加载插件:fastestm ...