前言

阿里云视屏直播支持自定义推拉流地址地址生成,但是在看了URL鉴权也就是自定生成规则之后,根据规则生成的推拉流连接不可用。后来提交工单发现了一个巨坑。

仔细看文档,文档没毛病,生成的规则也写的很清楚,唯一有毛病的就是生成的地址不可以使用。在经过反复的观看文档确定逻辑之后我很果断的就提交了工单。我确认我根据文档生成的地址是没有错误的,步骤也没有错误。我提交工单之后,阿里工作人员给了我dome。结果这里有个巨坑。天坑。内容如下:

这里跟文档上的md5加密规则根本就是两个东西。没错,就是生成的md5加密规则又问题。在我修改了生成md5加密规则后。链接可以用了。播放也正常了。世界也好起来了
下面是我的代码,有需要的可以根据自己业务修改

package com.moduyun.util;import cn.hutool.crypto.digest.DigestUtil;
import com.aliyuncs.utils.StringUtils;import java.util.HashMap;
import java.util.Map;public class CreateUrlUtils {/*** 生成推拉流地址* @param pushDomainName 推流域名* @param pullDomainName 拉流域名* @param appName APP名称* @param timestamp 失效时间* @param streamName * @param pushKey 推流密钥* @param pullKey 拉流密钥* @param templateId 模版id* @return*/public static Map<String, String> createUrl(String pushDomainName, String pullDomainName, String appName, Long timestamp, String streamName, String pushKey, String pullKey, String templateId) {HashMap<String, String> map = new HashMap<>();if (!StringUtils.isEmpty(templateId))streamName = streamName + "_" + templateId;Long newTimestamp = (System.currentTimeMillis() / 1000L) + (60L * timestamp);// 推流地址String rtmpURL = "rtmp://" + pushDomainName + "/" + appName + "/" + streamName;// 拉流地址String pullRtmpURL = "rtmp://" + pullDomainName + "/" + appName + "/" + streamName;String flvUrl = "http://" + pullDomainName + "/" + appName + "/" + streamName + ".flv";String M3U8Url = "http://" + pullDomainName + "/" + appName + "/" + streamName + ".m3u8";String udp = "artc://" + pullDomainName + "/" + appName + "/" + streamName;// 生成推流拉流地址map.put("push", createAuthKey(rtmpURL, appName, streamName, newTimestamp, pushKey));map.put("pull", createAuthKey(pullRtmpURL, appName, streamName, newTimestamp, pullKey));map.put("flv", createAuthKey(flvUrl, appName, streamName + ".flv", newTimestamp, pullKey));map.put("m3u8", createAuthKey(M3U8Url, appName, streamName + ".m3u8", newTimestamp, pullKey));map.put("udp", createAuthKey(udp, appName, streamName, timestamp, pullKey));return map;}/*** 生成鉴权地址* @param url * @param timestamp* @param key* @return*/public static String createAuthKey(String url, String appName, String streamName, Long timestamp, String key) {String hashValue = "/" + appName + "/" + streamName + "-" + timestamp + "-0-0-" + key;String md5Value = DigestUtil.md5Hex(hashValue);String auth_key = timestamp + "-0-0-" + md5Value;String newUrl = url + "?auth_key=" + auth_key;return newUrl;}public static void main(String[] args) {String url = "rtmp://live.edge.aliyun.com/11/22-1625127571-0-0-luF5Vl6PLm";String s = DigestUtil.md5Hex(url);System.out.println("鉴权是否通过 = " + s.equals("bd7cc227caada38fad3489fe2a666e93"));}
}

根据自己的业务需要进行一个参考吧,上面代码生成的URL推拉流地址都可以使用了。最后祝你好运。

阿里视频直播自定义推拉流地址生成相关推荐

  1. 阿里云视频直播推流和播流地址生成

    记录学习阿里云视频直播 准备环境: 1.已开通阿里云视频直播服务. 2.2个域名:一个用于推流,一个用于播流. 3.在视频直播服务里面找到域名配置,配置好播流和推流域名之间的关系. 4.下载Vlc和o ...

  2. JAVA生成阿里云直播推流和拉流

    import cn.hutool.crypto.digest.DigestUtil; import org.apache.commons.lang.StringUtils;import java.ut ...

  3. java 阿里云直播配置及推拉流地址获取

    一.开通阿里云直播 首先进入阿里云直播产品主页:https://www.aliyun.com/product/live . 点击下方的"立即开通". 如果是还未注册的用户请按照页面 ...

  4. 详细说明如何配置蜻蜓Q系统的直播功能完美实现直播和观赏直播,推拉流配置完整说明一颗优雅草科技伊凡写

    详细说明如何配置蜻蜓Q系统的直播功能完美实现直播和观赏直播,推拉流配置完整说明一颗优雅草科技伊凡写 一.登录后台找到直播配置 依次在站点配置-直播配置 ​ 编辑切换为居中 添加图片注释,不超过 140 ...

  5. 友盟多渠道打包+混淆+腾讯云直播的推/拉流

    一. 友盟多渠道打包 各种下载应用的软件网址,叫渠道分发商,如腾讯应用宝,百度,Google Play,多渠道打包通过了解下载量,有针对性的打广告 多渠道打包意义: 可以用这个APK,放上一段业务逻辑 ...

  6. 视频直播推流与拉流的实现

    序言 最近在研究直播的弹幕,东西有点多,准备记录一下免得自​​己忘了又要重新研究,也帮助有这方面需要的同学少走点弯路.关于直播的技术细节其实就是两个方面一个是推流一个是拉流,而弹幕的实现核心在即时聊天 ...

  7. 浅析主流视频直播系统的推拉流架构、传输协议

    随着移动网络网速的提升与资费的降低,视频直播作为一个新的娱乐方式已经被越来越多的用户逐渐接受.特别是最近这几年,视频直播已经不仅仅被运用在传统的秀场.游戏类板块,更是作为电商的一种新模式得到迅速成长. ...

  8. 视频直播技术干货:一文读懂主流视频直播系统的推拉流架构、传输协议等

    1.引言 随着移动网络网速的提升与资费的降低,视频直播作为一个新的娱乐方式已经被越来越多的用户逐渐接受.特别是最近这几年,视频直播已经不仅仅被运用在传统的秀场.游戏类板块,更是作为电商的一种新模式得到 ...

  9. 视频直播技术分享:一文读懂主流视频直播系统的推拉流架构、传输协议等

    本文由蘑菇街前端开发工程师"三体"分享,原题"蘑菇街云端直播探索--启航篇",有修订. 1.引言 随着移动网络网速的提升与资费的降低,视频直播作为一个新的娱乐方 ...

  10. 开源流媒体解决方案,流媒体服务器,推拉流,直播平台,SRS,WebRTC,移动端流媒体,网络会议,优秀博客资源等分享

    开源流媒体解决方案,流媒体服务器,推拉流,直播平台,SRS,WebRTC,移动端流媒体,网络会议,优秀博客资源等分享 一.优秀的流媒体博客资源 1.1 EasyNVR:专注于安防视频互联网化的技术 1 ...

最新文章

  1. CentOS 7 源码编译安装 PostgreSQL 11.2
  2. 去中心化多链钱包CoinU 30问(你想要的答案都在这里)
  3. 【Nginx】Nginx概述
  4. Servlet实现Session
  5. ldap配置系列二:jenkins集成ldap
  6. jzoj3771-小Z的烦恼【高精度,数学】
  7. 工行高级经理林承军:工行基于 MySQL 构建分布式架构的转型之路
  8. 0基础java语法_Java零基础教程(二)基础语法
  9. 如何在sql存储过程中打log_SQL语句优化
  10. 超级有意思的图片注释
  11. delphi ado 连接mysql_delphi mysql ado连接
  12. 利用jieba对已爬取好的中国地名信息进行分词
  13. Android性能优化之图片优化
  14. 加密与启示录:Crypto是流着奶与蜜的“应许之地”
  15. 跑步c语言,小程序 跑步 记录跑步代码 记时间和位置更新
  16. 计算机自带拼图程序,电脑上比较好用的拼图软件?
  17. HDU 6438 Buy and Resell 【贪心+思维+优先队列】
  18. CAD图形设置:层高与填充设置教程
  19. Java调用excel宏
  20. OpenDrive格式地图数据解析

热门文章

  1. linux shrink dev sd,Virt相关命令(转)
  2. 数据标注软件labelme详解
  3. html内嵌式选择器,CSS样式 CSS选择器(Cascading Style Sheet)
  4. 家用无线路由器WDS初始化失败解决方法
  5. 2020牛客暑期多校训练营(第九场)F.Groundhog Looking Dowdy
  6. python名片打印程序_Python的格式化输出--制作名片
  7. python根据时间序列画折线图_时间序列模型的python实现
  8. Unity3D 手机摇一摇 实现震动效果
  9. 重力传感事件应用之一 手机摇一摇(摇一次得一分)
  10. elasticsearch nested嵌套查询