深度解析 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 ...
随机推荐
- cocos2d-x-Json/XML文件
数据存储几种方式 1. 数据库 2. 文件 3. 内存 这里介绍Json格式与XML格式的文件存储 常用的文件存储数据的格式 1. Json格式 2. XML格式 Json适合存储小数据,XML适合存 ...
- iOS开发 socket, 全局socket
因为项目的要求是全局的socket, 哪里都有可能使用到socket去发消息, 所以我把socket写在了单利里面 项目用的是 pod 'CocoaAsyncSocket' 三方库, 是异步的, ...
- 子集构造法实现NFA的确定化
功能: 采用子集构造算法实现NFA的确定化 输入:读取NFA的文件(文件名test.txt), 文件格式: 第一列表示状态名,第二列和第三列分别表示输入字符a和b到达的状态 输出:确定化后的DFA( ...
- hdu4027线段树
https://vjudge.net/contest/66989#problem/H 此题真是坑到爆!!说好的四舍五入害我改了一个多小时,不用四舍五入!!有好几个坑点,注意要交换l,r的位置,还有输出 ...
- VopSdk一个高逼格微信公众号开发SDK(源码下载)
看之前回复很多说明大家很有热情&文章被误删掉了,不想让有的朋友错失这个高逼格的东西,现在重新发布,这次就直接放出源码,文章最末下载地址. 看之前回复很多说明大家很有热情&文章被误删掉了 ...
- 'k1': 大于66的所有值, 'k2': 小于66的所有值
#!/usr/bin/env python # -*- coding: utf-8 -*- #有如下值集合 [11,22,33,44,55,66,77,88,99,90...],将所有大于 66 的值 ...
- Bootstrap之折叠(Collapse)插件
学习资料:Bootstrap折叠(Collapse)插件 大家可能常见的都是类似: 这种的效果,小颖今天要给大家分享一个不一样的效果嘻嘻.铛铛铛铛........................... ...
- JDBC连接错误(Illegal mix of collations。。。)
连接java和mysql时出现了这样的报错: java.sql.SQLException: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) ...
- OC的内存管理(一)
在OC中当一个APP使用的内存超过20M,则系统会向该APP发送 Memory Warning消息,收到此消息后,需要回收一些不需要再继续使用的内存空间,比如回收一些不再使用的对象和变量等,否则程序会 ...
- vs项目和msql不兼容解决方案
当vs的工程项目加载了libmysql.lib 即:附加包含目录,附加库目录,附加依赖项都设置好之后,如过编译出现如下: error LNK2019: 无法解析的外部符号 _mysql_real_co ...