我使用阿里云做直播,有什么手段保护直播安全?

简介: 准备工作 开通阿里云直播服务:阿里云直播服务接收直播流,并提供直播播放地址,完成一场直播需要先开通阿里云直播服务,在 直播官网详情页 中单击 立即开通 ,开通阿里云直播服务。 如您已经能够使用阿里云进行直播,但还没有进行过直播,可参考 如何使用 PC 推流。

准备工作

  • 开通阿里云直播服务:阿里云直播服务接收直播流,并提供直播播放地址,完成一场直播需要先开通阿里云直播服务,在 直播官网详情页 中单击 立即开通 ,开通阿里云直播服务。
  • 如您已经能够使用阿里云进行直播,但还没有进行过直播,可参考 如何使用 PC 推流

系统架构

由下图可知,我们可以通过三个方面控制直播的安全。
_1

  • 对推流进行鉴权
  • 对直播流的管控
  • 对播放进行鉴权

直播鉴权

推流鉴权与播放鉴权的机制是一样的,都是属于直播鉴权。

鉴权原理:

用户对加速域名设置一个密钥,并根据将访问阿里云的 uri、时间戳、密钥构成的字符串进行 hash,将 hash 值以及时间戳作为请求参数的一部分,当如下两项通过时,允许访问该 url。

  • 时间戳没有超过当前时间。
  • 服务端用同样的 hash 算法计算 hash 值,请求参数中的 hash 值一致。

鉴权算法:

  • 未鉴权 url:
http:// DomainName/AppName/StreamName.flv。
  • 鉴权后的url:
url:http:// DomainName/Filename?auth_key=timestamp-rand-0-md5hash。

参数说明:

  • timestamp:失效时间,整形正数,固定长度 10,1970 年 1 月 1 日以来的秒数。用来控制失效时间。
  • rand:随机数,一般设成 0。
  • md5hash:通过md5算法计算出的验证串,算法(假设用户的密钥为 123456:md5hash=md5(timestamp-rand-0-123456)。

一个鉴权的例子:

用户给 a.com 这个域名配置了一个鉴权密钥:xyz,希望鉴权有效时间为:2017-07-28 05:43:20,准备用

rtmp://video-center.alivecdn.com/live/abc?vhost=a.com

进行推流,相应的鉴权计算逻辑为:

推流

  • 获取推流
uri:/live/abc。
  • 获取 timestamp:过期时间 2017-07-28 05:43:200 的unixtimestamp为:1501191800。
  • 组装加密字符串:
/live/abc-1501191800-0-0-xyz。
  • 计算加密后的字符串:md5 (“/live/abc-1501191800-0-0-xyz”) = 7856896499b661b1123dca82d7406aa3。
  • 拼接加密后的推流
    url:rtmp://video- center.alivecdn.com/live/abc?vhost=a.com&auth_key=1501191800-0-0-7856896499b661b1123dca82d7406aa3。

播放

  • 播放的计算方法与推流类似,以 httpflv 播放地址为例。未鉴权的 url 为:
http:// a.com/live/abc.flv。
  • 获取播放
url:/live/abc.flv。
  • 获取 timestamp:过期时间 2017-07-28 05:43:200 的 unixtimestamp 为:1501191800。
  • 组装加密字符串:
/live/abc.flv-1501191800-0-0-xyz。
  • 计算加密后的字符串:md5(“/live/abc.flv-1501191800-0-0-xyz”) = b022238fd0cd1c8efae2ba84fc0c9119
  • 拼接加密后的推流 url:
http://a.com/live/abc.flv?auth_key=1501191800-0-0-b022238fd0cd1c8efae2ba84fc0c9119。
  • 设置方法:可以在直播控制台进行设置,控制台中鉴权计算器,可以方便的生成鉴权 url。详情参考 直播鉴权。

直播流管控

直播流管控针对直播推流,在直播过程中,发现直播流内容不合法,除了能够通过终止推流停止直播以外,还能够通过直播流管控手段,对直播流进行封禁。

进入 视频直播控制台,在流管理列表中可以看到加入黑名单选项。将视频就设置黑名单后,此条流执行禁推功能,将不会在接收推流的状态。

_2

0.1元开启直播之旅

image
开年采购季,为了让更多用户能够体验和享受到视频直播云服务的便利,视频产品推出了0.1元体验包,配置清单如下:
image

点击了解活动详情

目录
相关文章
|
JavaScript 前端开发
JS 下载 URL 链接文件(点击按钮、点击a标签、支持代理与非代理下载)
JS 下载 URL 链接文件(点击按钮、点击a标签、支持代理与非代理下载)
1564 0
|
JSON JavaScript API
Node.js(nodejs)对本地JSON文件进行增、删、改、查操作(轻车熟路)
Node.js(nodejs)对本地JSON文件进行增、删、改、查操作(轻车熟路)
|
7月前
|
存储 JSON API
Python与JSON:结构化数据的存储艺术
Python字典与JSON格式结合,为数据持久化提供了便捷方式。通过json模块,可轻松实现数据序列化与反序列化,支持跨平台数据交换。适用于配置管理、API通信等场景,兼具可读性与高效性,是Python开发中不可或缺的数据处理工具。
302 0
|
负载均衡 监控 Cloud Native
云原生架构下的微服务治理策略与实践####
在数字化转型浪潮中,企业纷纷拥抱云计算,而云原生架构作为其核心技术支撑,正引领着一场深刻的技术变革。本文聚焦于云原生环境下微服务架构的治理策略与实践,探讨如何通过精细化的服务管理、动态的流量调度、高效的故障恢复机制以及持续的监控优化,构建弹性、可靠且易于维护的分布式系统。我们将深入剖析微服务治理的核心要素,结合具体案例,揭示其在提升系统稳定性、扩展性和敏捷性方面的关键作用,为读者提供一套切实可行的云原生微服务治理指南。 ####
|
运维 Cloud Native Devops
云原生架构的崛起与实践云原生架构是一种通过容器化、微服务和DevOps等技术手段,帮助应用系统实现敏捷部署、弹性扩展和高效运维的技术理念。本文将探讨云原生的概念、核心技术以及其在企业中的应用实践,揭示云原生如何成为现代软件开发和运营的主流方式。##
云原生架构是现代IT领域的一场革命,它依托于容器化、微服务和DevOps等核心技术,旨在解决传统架构在应对复杂业务需求时的不足。通过采用云原生方法,企业可以实现敏捷部署、弹性扩展和高效运维,从而大幅提升开发效率和系统可靠性。本文详细阐述了云原生的核心概念、主要技术和实际应用案例,并探讨了企业在实施云原生过程中的挑战与解决方案。无论是正在转型的传统企业,还是寻求创新的互联网企业,云原生都提供了一条实现高效能、高灵活性和高可靠性的技术路径。 ##
908 30
|
机器学习/深度学习 人工智能 视频直播
AI直播手机APP震撼发布!3大场景直播,60秒一键开播!
🎉 青否数字人AI直播APP发布!🚀 在抖音等平台60秒一键开播,简化直播流程。💡 3种AI直播模式,融合6大AIGC技术,助力新手轻松直播带货且避免违规。💪 AI主播、声音克隆,实时话术改写,智能互动与讲品同步,提升转化。📊 实景与视频直播结合,适应多种场景。🌐 独立部署,自定义版权,1年免费升级,专业售后支持。🚀 (直播: zhibo175) #青否数字人 #AI直播
AI直播手机APP震撼发布!3大场景直播,60秒一键开播!
|
消息中间件 运维 算法
金鱼哥RHCA回忆录:CL210OpenStack操作的故障排除--章节实验
第九章 OpenStack操作的故障排除--章节实验
814 2
金鱼哥RHCA回忆录:CL210OpenStack操作的故障排除--章节实验
Google Earth Engine ——HYCOM 数据子集包含变量海洋温度数据集
Google Earth Engine ——HYCOM 数据子集包含变量海洋温度数据集
1553 0
|
消息中间件 缓存 Cloud Native
RocketMQ 重试机制的概念与最佳实践|学习笔记
快速学习 RocketMQ 重试机制的概念与最佳实践
880 0
RocketMQ 重试机制的概念与最佳实践|学习笔记