Kevin's blog Kevin's blog
首页
  • Java基础
  • Java高级
  • MySQL
  • JDBC
  • Java 8新特性
  • 原生Servlet
  • 延迟队列
  • 分布式事务
  • ActiveMQ
  • Elasticsearch
  • Stream API
  • Redis 实战(黑马程序员)
  • Redis 课程(尚硅谷)
  • Redis数据类型和常用命令
  • 版本控制
  • Spring Framework
  • Spring MVC Framework
  • MyBatis Framework
  • MyBatis Plus Framework
  • Spring Boot Framework
  • 韩顺平 Spring Boot Framework
  • 在线教育
  • 谷粒商城 - 分布式基础 高级 集群
  • 谷粒商城 - 详细开发文档
  • docker基础
  • docker-compose容器编排
  • docker swarm集群管理
  • Vue2基础
  • 前端文章

    • JavaScript
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • HTML
  • CSS
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Kevin

Java系统笔记
首页
  • Java基础
  • Java高级
  • MySQL
  • JDBC
  • Java 8新特性
  • 原生Servlet
  • 延迟队列
  • 分布式事务
  • ActiveMQ
  • Elasticsearch
  • Stream API
  • Redis 实战(黑马程序员)
  • Redis 课程(尚硅谷)
  • Redis数据类型和常用命令
  • 版本控制
  • Spring Framework
  • Spring MVC Framework
  • MyBatis Framework
  • MyBatis Plus Framework
  • Spring Boot Framework
  • 韩顺平 Spring Boot Framework
  • 在线教育
  • 谷粒商城 - 分布式基础 高级 集群
  • 谷粒商城 - 详细开发文档
  • docker基础
  • docker-compose容器编排
  • docker swarm集群管理
  • Vue2基础
  • 前端文章

    • JavaScript
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • HTML
  • CSS
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 项目 在线教育

    • 项目简介

    • Mybatis Plus入门

    • 课程中心微服务搭建

    • 前后端分离相关知识

    • 后台管理系统前端页面的搭建

    • 整合阿里云OSS文件上传

    • 使用POI实现Excel导入导出

    • 整合POI实现课程类目管理

    • 课程基本信息管理

    • 课程章节信息管理

    • 课程课时管理

    • 使用阿里云视频点播

      • 视频点播简介
      • 使用服务端API
      • 使用服务端SDK
      • 视频安全
        • 一、视频安全概述
          • 1、阿里云vod服务支持的视频安全策略
          • 3、阿里云视频加密整体架构
          • 加密 转码
          • 解密播放
        • 二、阿里云视频加密接入步骤
          • 1、选择加密转码模板
          • 2、视频上传
          • 3、视频转码
          • 4、视频流管理
          • 5、视频播放
      • 文件上传测试
      • 视频播放测试
    • 媒资管理

    • spring cloud服务发现和服务调用

    • 整合ECharts实现统计分析

    • 服务端渲染NUXT

    • 整合阿里云播放器

    • 微服务安全

    • 整合微信登录

    • spring cloud zuul 微服务网关在项目中的应用

    • 总结

  • 项目 谷粒商城

  • 项目 谷粒商城详细开发文档

  • Project
  • 项目 在线教育
  • 使用阿里云视频点播
zhihuanwang
2023-09-25
目录

视频安全

# 一、视频安全概述

如何保障视频内容的安全,不被盗链、非法下载和传播,是众多企业困扰已久的问题,特别是独播剧、在线教育、财经金融、行业培训等在线版权视频领域尤为迫切,处理不好会造成极为严重的经济损失,甚至法律风险。

阿里云视频点播提供了完善的内容安全保护机制,可以满足不同业务场景的安全需求。

# 1、阿里云vod服务支持的视频安全策略

参考文档中的图表:文档-开发指南-视频安全

https://help.aliyun.com/document_detail/99436.html?spm=a2c4g.11186623.6.669.2a402970yUpZ9Y

img

2、阿里云视频加密

阿里云视频加密采用私有的加密算法和安全传输机制,提供云端一体的视频安全方案,核心部分包括 “加密转码” 和 “解密播放”。核心优势:

  • 每个媒体文件拥有独立的加密钥匙,能有效避免采用单一密钥时,一个密钥的泄露引起大范围的安全问题。
  • 提供信封加密机制“密文Key+明文Key”,仅密文Key入库,明文Key不落存储,所有过程只在内存中,用完即销毁。
  • 提供安全的播放器内核SDK,涵盖iOS/Android/H5/Flash多平台,自动对加密内容进行解密播放。
  • 播放器和云端使用私有加密协议进行密文传输,不传输明文Key,有效防止密钥被窃取。
  • 提供安全下载,缓存到本地的视频会再次加密,在确保无网离线播放前提下,防止视频被拷贝窃取。

使用方式参考 阿里云视频加密 (opens new window)。

注意事项

  • 视频加密只支持输出HLS格式
  • 需使用视频点播提供的iOS/Android/Flash播放器对加密内容进行解密播放,H5播放器不支持加密视频的播放。

# 3、阿里云视频加密整体架构

阿里云视频加密方案包含两部分:加密转码 + 解密播放。

img

# 加密 转码

  1. APP后台发起视频加密

    业务方提交需要数据加密的转码作业。(用户将视频上传至oss服务器后,业务服务器回通过自动触发或主动发起的方式请求MTS进行转码)

  2. 视频点播获取加密秘钥

    视频点播服务负责通过密钥管理服务KMS生成明文Key和密文Key。

  • 视频加密转码

    使用明文Key来加密视频文件,转码完成后,明文Key丢弃,不存储。

  • 转码完成+消息通知

    保存加密后的视频文件,并给业务方发送消息通知。(回调)

# 解密播放

  • 业务授权

    移动端的APP或者Web页面访问视频时,先访问业务方自己的API或后端页面,业务方可以在这里加上自己的权限控制(例如需要登录才能播放, 建议使用HTTPS)。如果业务上允许播放,则通过业务方子账号的AK访问STS,获取播放凭证,并返回给APP/WEB端。

  • 获取播放地址

    移动端的APP或者Web页面把播放凭证和媒体ID参数传给阿里云播放服务,播放器SDK会负责剩下的播放流程:

    • 根据媒体ID从视频点播服务获取对应的多格式、多清晰的播放地址。
    • 加密视频获取对应的加密钥匙。
  • 解密播放

    视频云提供了安全的播放内核SDK,使用加密钥匙对内容解密,然后进行视频播放。

# 二、阿里云视频加密接入步骤

# 1、选择加密转码模板

登录视频点播控制台,选择全局设置>转码设置。

在视频转码模板组页面下,选择目标视频转码模板,单击编辑。

在高级参数下,打开HLS加密开关使用数据加密,保护您的视频。

这里分片时长设置的小一些,可以实现秒开秒播

img

# 2、视频上传

可以通过SDK上传、OpenAPI上传、控制台上传、OSS第三方工具上传等多种方式来将已有视频文件上传到视频点播

# 3、视频转码

视频上传完成后会自动触发转码,转码完成后视频状态标记为正常可播放

# 4、视频流管理

加密转码输出的内容,流信息会标示“加密”,具体参考播放信息 PlayInfo。在控制台也会展示”加密“标示,便于进行多种方式的内容管理。

img

# 5、视频播放

视频点播提供iOS/Android/Flash多平台的播放SDK供集成,以便用户在自己的应用或网站中完成视频播放。

说明:加密视频,需使用播放凭证方式进行播放,播放器需要的参数playauth,可调用API接口或SDK获取

编辑 (opens new window)
上次更新: 2024/06/15, 15:12:25
使用服务端SDK
文件上传测试

← 使用服务端SDK 文件上传测试→

最近更新
01
04.Spring Boot 韩顺平
10-12
02
day14
08-29
03
day09
08-29
更多文章>
Theme by Vdoing | Copyright © 2019-2025 Evan Xu | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式