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

准备工作
开通阿里云直播服务:阿里云直播服务接收直播流,并提供直播播放地址,完成一场直播需要先开通阿里云直播服务,在 直播官网详情页 中单击 立即开通 ,开通阿里云直播服务。
如您已经能够使用阿里云进行直播,但还没有进行过直播,可参考 如何使用 PC 推流。
系统架构
由下图可知,我们可以通过三个方面控制直播的安全。

对推流进行鉴权
对直播流的管控
对播放进行鉴权
直播鉴权
推流鉴权与播放鉴权的机制是一样的,都是属于直播鉴权。

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

时间戳没有超过当前时间。
服务端用同样的 hash 算法计算 hash 值,请求参数中的 hash 值一致。
鉴权算法:
未鉴权 url:`js
http:// DomainName/AppName/StreamName.flv。

- 鉴权后的 ```js
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,准备用js
rtmp://video-center.alivecdn.com/live/abc?vhost=a.com

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

推流
获取推流 js uri:/live/abc。
获取 timestamp:过期时间 2017-07-28 05:43:200 的unixtimestamp为:1501191800。
组装加密字符串:`js
/live/abc-1501191800-0-0-xyz。

- 计算加密后的字符串:md5 (“/live/abc-1501191800-0-0-xyz”) = 7856896499b661b1123dca82d7406aa3。
- 拼接加密后的推流 ```js
url:rtmp://video- center.alivecdn.com/live/abc?vhost=a.com?auth_key=1501191800-0-0-7856896499b661b1123dca82d7406aa3。

播放
播放的计算方法与推流类似,以 httpflv 播放地址为例。未鉴权的 url 为:`js
http:// a.com/live/abc.flv。

- 获取播放 ```js
url:/live/abc.flv。

获取 timestamp:过期时间 2017-07-28 05:43:200 的 unixtimestamp 为:1501191800。
组装加密字符串:`js
/live/abc.flv-1501191800-0-0-xyz。

- 计算加密后的字符串:md5(“/live/abc.flv-1501191800-0-0-xyz”) = b022238fd0cd1c8efae2ba84fc0c9119
- 拼接加密后的推流 url:```js
http://a.com/live/abc.flv?auth_key=1501191800-0-0-b022238fd0cd1c8efae2ba84fc0c9119。

设置方法:可以在直播控制台进行设置,控制台中鉴权计算器,可以方便的生成鉴权 url。详情参考 直播鉴权。
直播流管控
直播流管控针对直播推流,在直播过程中,发现直播流内容不合法,除了能够通过终止推流停止直播以外,还能够通过直播流管控手段,对直播流进行封禁。

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

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

  1. 阿里云发布行业首个「视频直播技术最佳实践图」!

    2022阿里云直播峰会于7月8日落下帷幕,多位直播产业领域技术专家与行业先行者,共同探讨超视频化时代直播技术的演进趋势与未来发展. 此次大会,重磅发布了行业首个「视频直播技术最佳实践图」,将直播技术归 ...

  2. 探秘!在阿里云做产品经理是怎样的体验?

    简介:许力(仁威) 阿里云数据库产品事业部高级产品经理,目前负责阿里云原生多模数据库Lindorm产品 许力(仁威) 阿里云数据库产品事业部高级产品经理,目前负责阿里云原生多模数据库Lindorm产品 ...

  3. 在阿里云做前端,是种怎样的体验?

    阿里妹导读:前端是个资源型角色,在认知里对业务的理解深度不够,加上通常负责业务领域很广,比较难有积累和沉淀.如果问一个毕业10年的JAVA老司机,他跟你谈的一定是大流量下的分布式架构,而前端可能还是昨 ...

  4. 云栖大会 | 释放计算弹性,阿里云做了很多

    戳蓝字"CSDN云计算"关注我们哦! 时至今日,已经没有人怀疑云计算是最主流的企业IT基础设施之一.围绕云计算最基础最核心的话题计算力,探讨在新硬件.新技术和新场景带来的机遇和挑战 ...

  5. 阿里云 Aliplayer高级功能介绍(四):直播时移

    基本介绍 时移直播基于常规的HLS视频直播,直播推流被切分成TS分片,通过HLS协议向播放用户分发,用户请求的m3u8播放文件中包含不断刷新的TS分片地址:对于常规的HLS直播而言,TS分片地址及相应 ...

  6. 为什么当初很多人不看好的阿里云做起来了?

    11月2日,阿里巴巴发布最新一季度财报,阿里云上半年收入突破100亿人民币,达到去年同期水平. 过去几年,阿里云收入规模连续13个季度保持接近100%增长,取得中国第一.全球第三的行业地位.估值也从2 ...

  7. 为什么有争议的王坚把阿里云做起来了?

    给广大想当阿里云代理的朋友一些建议,因为目前国内市场三大云厂商竞争过于激烈,三家云厂商对待云计算的态度以及市场的占有度都不一样,虽然是一个社会主赛道,但是主赛道上的选手,值得大家去仔细筛选,选择跟好的 ...

  8. 在阿里云做前端这几年~

    点击上方"IT平头哥联盟",选择"置顶或者星标" 一起进步- 作者:阿里云高级前端技术专家 城池 https://yq.aliyun.com/articles/ ...

  9. 阿里云推出SRT 杜比全景声直播方案,低成本打造高质量直播观感体验

    超过200个国家和地区共5144万人观看:浙江卫视.东方卫视55城总收视达2.39,稳居同时段市场第一:优酷直播间63%观看晚会的用户参与了互动:微博68.2亿的主话题阅读量:2019天猫双11狂欢夜 ...

最新文章

  1. c 多线程运行混乱_一篇文章读懂 Python 多线程
  2. [转]DB2常用命令大全
  3. jQuery $.post $.ajax用法
  4. 基于BPMN2.0的工单系统架构设计(上)
  5. kafka和storm集成_Storm和Kafka集成的重要生产错误和修复
  6. linux c url下载文件,OpenCV教程之使用cmake生成MakeFile时下载文件
  7. python32位系统下载_pythonwin下载-PythonWin 32位(Python集成开发环境) 3.6 官方版 - 河东下载站...
  8. Linux多线程编程-线程间参数传递
  9. 机器人运动学轨迹跟踪控制(Matlab实现)
  10. 一个软件完整的开发流程,不会程序也能自己制作手机App
  11. 图片不能承受之重-转
  12. 大数据薪水大概多少_大数据工资一般多少
  13. keytool 错误:Keystore was tampered with, or password was incorrect
  14. java ipv6校验_IPV6地址校验(java)
  15. hark others by kalilinux
  16. 2020_CIKM_Partial Relationship Aware Influence Diffusion via a Multi-channel Encoding Scheme for Soc
  17. php移动端可拖动可视化,可视化编辑uniapp项目DIY拖拽
  18. 【转载】破解物联网落地困境-阿里云硬件接入最佳实践
  19. java 判断文件名合法_java用正则方法验证文件名是否合法
  20. git push 报错:remote: Permission to XXXA/xxxx.git denied to XXXB

热门文章

  1. xcode动态改变窗口大小_详细的理论要点+3个经典案例,帮助你深入理解动态面板...
  2. qlistview 自定义控件_是否可以在QListView中添加自定义窗口小部件?
  3. matlab 函数 命名参数,如何处理MATLAB中的函数参数的名称/值对
  4. mysql 5.5免安装配置_mysql的参考文档mysql5.5.21免安装版的配置方法
  5. php抓取带帐号密码,PHP实现抓取迅雷VIP账号的方法_PHP
  6. 评审专家:基金本子“瘦”点好
  7. 元宇宙对未来网络技术的挑战
  8. 高校开学返校最新消息!学生票乘车时间延长至5月31日!
  9. 邱勇校长在2018级研究生开学典礼上的讲话 | 融合成就人生新的高度
  10. php流程控制的类型有哪些,流程控制包括哪些内容