又拍云上线了 H.265 从编码解码到 CDN 分发,完整的端到端的自适应解决方案;提供视频上传、视频存储、视频编码、视频分发适配、视频解码等功能。又拍云希望能以云服务的方式将大公司才能长期支付使用的 H.265 提供给更多企业。

视频网站支持 H.265 需要解决哪些问题?

H.265与 H.264 相比,拥有 2 倍的压缩效率 (photo via WWDC)

更高的压缩率需要更先进的技术,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 解码,支持iOSAndroid平台。详细参见: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

推荐阅读:

让Chrome看不了WWDC直播的HLS技术详解

IPv6启动五年后,距离我们究竟还有多远?

深度解析 H.265 视频解决方案的更多相关文章

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

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

  2. 深入解析 H.265 编码模式,带你了解Apple全面推进H.265的原因

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

  3. H.265视频编码与技术全析(上)

    H.265视频编码与技术全析(上) 一. 概述 作为新一代视频编解码格式,H.265得到越来越广泛的应用.不久之前,苹果公司在翘首期盼中发布了iPhone6,该款手机较之以往的iPhone,不仅仅只是 ...

  4. Linux实现ffmpeg H.265视频编码

    Linux实现ffmpeg H.265视频编码 几乎所有观看的视频,数字地面电视,电缆,卫星或互联网上的压缩.原始的,未压缩的视频太大,会浪费太多的带宽.在DVD和Blu-ray之前,有视频CD(VC ...

  5. H.265视频编码与技术全析(下)

    H.265视频编码与技术全析(下) 四.帧内预测模式 共35个(h264有9个),包括Planar,DC,33个方向模式: 除了Intra_Angular预测外,HEVC还和H.264/MPEG-4 ...

  6. H.264与H.265视频压缩编码参考码率

  7. 【miscellaneous】最新HEVC/H.265 4K视频,显卡解码测试

    转载自:http://bbs.zol.com.cn/diybbs/d34441_76103.html 4K这个概念也在最近几年开始流行了起来,无论是4K显示器.4K电视盒子,还是4K游戏对硬件的要求也 ...

  8. 为什么各大厂商要抢先跟进H.265?

    继爱奇艺.乐视等视频厂商宣布支持 H.265 高清视频后,2014 年 4 月,搜狐视频宣布正式上线视频行业首个 H.265 高清大片专区,可在线观看 200 余部当下最火的超高清大片.国外 BBC ...

  9. EasyPlayer RTSP Windows(with ActiveX/OCX插件)播放器支持H.265播放与抓图功能

    EasyPlayer作为业界一款比较优秀的RTSP播放器,一直深受用户的好评,经过了近3年的开发和迭代,从一开始的简单PC版本的RTSP播放功能,到如今支持PC(支持ocx插件).Android.iO ...

随机推荐

  1. cocos2d-x-Json/XML文件

    数据存储几种方式 1. 数据库 2. 文件 3. 内存 这里介绍Json格式与XML格式的文件存储 常用的文件存储数据的格式 1. Json格式 2. XML格式 Json适合存储小数据,XML适合存 ...

  2. iOS开发 socket, 全局socket

    因为项目的要求是全局的socket,  哪里都有可能使用到socket去发消息, 所以我把socket写在了单利里面 项目用的是 pod 'CocoaAsyncSocket'  三方库, 是异步的, ...

  3. 子集构造法实现NFA的确定化

    功能: 采用子集构造算法实现NFA的确定化 输入:读取NFA的文件(文件名test.txt),  文件格式: 第一列表示状态名,第二列和第三列分别表示输入字符a和b到达的状态 输出:确定化后的DFA( ...

  4. hdu4027线段树

    https://vjudge.net/contest/66989#problem/H 此题真是坑到爆!!说好的四舍五入害我改了一个多小时,不用四舍五入!!有好几个坑点,注意要交换l,r的位置,还有输出 ...

  5. VopSdk一个高逼格微信公众号开发SDK(源码下载)

    看之前回复很多说明大家很有热情&文章被误删掉了,不想让有的朋友错失这个高逼格的东西,现在重新发布,这次就直接放出源码,文章最末下载地址. 看之前回复很多说明大家很有热情&文章被误删掉了 ...

  6. 'k1': 大于66的所有值, 'k2': 小于66的所有值

    #!/usr/bin/env python # -*- coding: utf-8 -*- #有如下值集合 [11,22,33,44,55,66,77,88,99,90...],将所有大于 66 的值 ...

  7. Bootstrap之折叠(Collapse)插件

    学习资料:Bootstrap折叠(Collapse)插件 大家可能常见的都是类似: 这种的效果,小颖今天要给大家分享一个不一样的效果嘻嘻.铛铛铛铛........................... ...

  8. JDBC连接错误(Illegal mix of collations。。。)

    连接java和mysql时出现了这样的报错: java.sql.SQLException: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) ...

  9. OC的内存管理(一)

    在OC中当一个APP使用的内存超过20M,则系统会向该APP发送 Memory Warning消息,收到此消息后,需要回收一些不需要再继续使用的内存空间,比如回收一些不再使用的对象和变量等,否则程序会 ...

  10. vs项目和msql不兼容解决方案

    当vs的工程项目加载了libmysql.lib 即:附加包含目录,附加库目录,附加依赖项都设置好之后,如过编译出现如下: error LNK2019: 无法解析的外部符号 _mysql_real_co ...