整体思路
开发流程.png核心服务
阿里云 CDN(内容分发网络)全称是 Alibaba Cloud Content Delivery Network,建立并覆盖在承载网之上、由分布在不同区域的边缘节点服务器群组成的分布式网络,替代传统以WEB Server为中心的数据传输模式。
将源内容发布到边缘节点,配合精准的调度系统;将用户的请求分配至最适合他的节点,使用户可以以最快的速度取得他所需的内容,有效解决Internet网络拥塞状况,提高用户访问的响应速度。
CDN架构.png
视频直播
使用工具:阿里云直播服务+obs
OBS is completely free! Not a dime! There are no subscriptions, no payments at all. OBS is available to everyone, with source code publicly available [on github](https://github.com/jp9000/obs-studio)for anyone to help contribute.
视频直播服务(LiveVideo)是基于领先的内容接入与分发网络和大规模分布式实时转码技术打造的音视频直播平台,提供便捷接入、高清流畅、低延迟、高并发的音视频直播服务。
视频直播服务提供Web管理控制台、API和软件开发工具包。您可以通过它们使用、管理视频直播服务,也可以与您自己的应用和服务集成。
所有服务按使用付费,服务能力自动伸缩,告别复杂的架构设计和编程开发,维护成本几近于零,使您可以专注于业务逻辑实现及最终用户体验的提升。
直播架构.png
阿里云视频点播服务(VOD)是集音视频上传、自动化转码处理、媒体资源管理、分发加速于一体的一站式音视频点播解决方案。借助灵活、可伸缩的存储、处理及内容分发服务,帮助企业和开发者快速搭建安全、弹性、高可定制的点播平台和应用。
视频点播服务整合了对象存储(OSS)、媒体转码(Media Transcoding)、内容分发网络(CDN)、访问控制(RAM)和消息服务(Message Service),支持快速搭建云端音视频点播解决方案。您可在1分钟内,0代码完成常见云端音视频处理流程配置,文件上传完毕即可自动触发执行。
视频点播服务提供Web管理控制台和软件开发工具包。您可以通过它们使用、管理视频点播服务,也可以与您自己的应用和服务集成。
所有服务按使用付费,服务能力自动伸缩,告别复杂的架构设计和编程开发,维护成本几近于零,使您可以专注于业务逻辑实现及最终用户体验的提升。
名词解释
URL鉴权功能旨在保护用户站点的内容资源不被非法站点下载盗用。
URL鉴权功能是通过阿里云CDN加速节点与客户资源站点配合实现的一种更为安全可靠的源站资源防盗方法。由CDN客户站点提供给用户加密 URL(包含权限验证信息),用户使用加密后的 URL 向加速节点发起请求,加速节点对加密 URL 中的权限信息进行验证以判断请求的合法性,对合法请求给予正常响应,拒绝非法请求,从而有效保护CDN客户站点资源。
GoogleAuthenticator服务端验证:
/**
* Check if the code is correct. This will accept codes starting from $discrepancy*30sec ago to $discrepancy*30sec from now
*
* @param string $secret
* @param string $code
* @param int $discrepancy This is the allowed time drift in 30 second units (8 means 4 minutes before or after)
* @param int|null $currentTimeSlice time slice if we want use other that time()
* @return bool
*/
public function verifyCode($secret, $code, $discrepancy = 1, $currentTimeSlice = null){
if ($currentTimeSlice === null) {
$currentTimeSlice = floor(time() / 30);
}
for ($i = -$discrepancy; $i <= $discrepancy; $i++) {
$calculatedCode = $this->getCode($secret, $currentTimeSlice + $i);
if ($calculatedCode == $code ) {
return true;
}
}
return false;
}
码率也叫比特率,表示经过压缩编码后的视音频数据每秒需要用多少个比特来表示,即把每秒显示的图像进行压缩后的数据量,一般采用的单位是kbps即千位每秒。一般来说码率越大,处理出来的文件就越接近原始文件,但文件体积与码率是成正比的,所以几乎所有的编码格式重视的都是如何用最低的码率达到最少的失真。
基本的算法是:【码率】(kbps)=【文件大小】(字节)X8/【时间】(秒)/1000
码率的基本原则:1、码率和质量成正比,但是文件体积也和码率成正比。
2、码率超过一定数值,对图像的质量没有多大影响。总结的来说:码率直接影响了视频和音频的质量,视频的清晰度一般来说,码率达到1600就是超清视频,达到4000就是1080p(估算,不能准确表示原则)
Tip
云中沙箱 阿里云学习平台 目前免费
oss工具
阿里云 SDK for JavaScript
网友评论