java阿里云直播推流拉流工具类
package com.core.common.utils;import com.alibaba.fastjson.JSONObject;import java.util.HashMap;
import java.util.Map;/*** @Author peng* @Description: 阿里云直播推拉流地址工具类*/
public class AliPlayAndPushUtils {/*** 推流域名 阿里云配置的推流域名*/private static final String pushDomain = "推流域名";/*** 拉流域名 阿里云配置的拉流域名*/private static final String pullDomain = "播流域名";/*** appName*/private static final String appName = "随便取一个app名字:比如说 penggelive";/*** 鉴权key: 阿里云创建了推流域名和播流域名过后,他给生成的,每个域名一个,推流用推流的key,播流用播流的key,我这里只有一个key,因为我自己定义的一个,然后去阿里云里面把他们两个的权鉴备用key都设置成我设置的了*/private static final String key = "xxxxxxx";/*** @param time 十位数的时间戳* @return 推流的地址*/public static String CreatePushUrl(String streamName, long time) {String strpush = "/" + appName + "/" + streamName + "-" + time + "-0-0-" + key;String pushUrl = "rtmp://" + pushDomain + "/" + appName + "/" + streamName + "?auth_key=" + time + "-0-0-" + MD5Utils.getMD5(strpush);
// System.out.println(">>>>>>>>>>>>>>>>>>>>>>>>>>推流: " + pushUrl);return pushUrl;}/*** @param time 十位数的时间戳
// * @param rand 这是用来标识的 否则同一个时间戳 生成的地址总是相同的 随机数,建议使用UUID(不能包含中划线“-”,例如: 477b3bbc253f467b8def6711128c7bec 格式)* @return 播放流的地址 默认是flv 也可以更改此代码*/public static String GetPlayUrl(String streamName, long time) {String strviewrtmp1 = null;String strviewflv1 = null;String strviewm3u81 = null;String rtmpurl1 = null;String flvurl1 = null;String m3u8url1 = null;strviewrtmp1 = "/" + appName + "/" + streamName + "-" + time + "-0-0-" + key;strviewflv1 = "/" + appName + "/" + streamName + ".flv-" + time + "-0-0-" + key;strviewm3u81 = "/" + appName + "/" + streamName + ".m3u8-" + time + "-0-0-" + key;rtmpurl1 = "rtmp://" + pullDomain + "/" + appName + "/" + streamName + "?auth_key=" + time + "-0-0-" + MD5Utils.getMD5(strviewrtmp1);flvurl1 = "http://" + pullDomain + "/" + appName + "/" + streamName + ".flv?auth_key=" + time + "-0-0-" + MD5Utils.getMD5(strviewflv1);m3u8url1 = "http://" + pullDomain + "/" + appName + "/" + streamName + ".m3u8?auth_key=" + time + "-0-0-" + MD5Utils.getMD5(strviewm3u81);Map<String, String> resultMap = new HashMap<>(5);resultMap.put("rtm", rtmpurl1);resultMap.put("flv", flvurl1);resultMap.put("m3u8", m3u8url1);
// System.out.println(">>>>>>>>>>>>>>>>>>拉流: " + rtmpurl1);
// System.out.println(">>>>>>>>>>>>>>>>>>拉流: " + flvurl1);
// System.out.println(">>>>>>>>>>>>>>>>>>拉流: " + m3u8url1);return JSONObject.toJSONString(resultMap);}}
import java.math.BigInteger;
import java.security.MessageDigest;
import java.util.UUID;/*** @Author wp* @Description:*/
public class MD5Utils {public static String getMD5(String str) {try {// 生成一个MD5加密计算摘要MessageDigest md = MessageDigest.getInstance("MD5");// 计算md5函数md.update(str.getBytes());// digest()最后确定返回md5 hash值,返回值为8为字符串。因为md5 hash值是16位的hex值,实际上就是8位的字符// BigInteger函数则将8位的字符串转换成16位hex值,用字符串来表示;得到字符串形式的hash值String md5=new BigInteger(1, md.digest()).toString(16);//BigInteger会把0省略掉,需补全至32位return fillMD5(md5);} catch (Exception e) {throw new RuntimeException("MD5加密错误:"+e.getMessage(),e);}}private static String fillMD5(String md5){return md5.length()==32?md5:fillMD5("0"+md5);}public static String getUUID() {return UUID.randomUUID().toString().replaceAll("-", "");}
}
java阿里云直播推流拉流工具类相关推荐
- 阿里云视频点播-->>>阿里云媒资上传工具类及配置
阿里云媒资上传 官网: 介绍 1.阿里云视频点播 2.视频服务流程 三,测试类中编写代码 四,媒资管理管理配置-存储管理 五,开始编写我们的JAVA代码 1.application.yml 2.配置类 ...
- 阿里云oss文件上传工具类
阿里云oss文件上传工具类 阿里云oss 阿里云oss 导入文件阿里云oss的maven依赖 <!-- 阿里云oss依赖 --><dependency><groupId& ...
- JAVA生成阿里云直播推流和拉流
import cn.hutool.crypto.digest.DigestUtil; import org.apache.commons.lang.StringUtils;import java.ut ...
- java 阿里云直播配置及推拉流地址获取
一.开通阿里云直播 首先进入阿里云直播产品主页:https://www.aliyun.com/product/live . 点击下方的"立即开通". 如果是还未注册的用户请按照页面 ...
- video 拉流卡顿_【video】视频直播推流拉流慢、卡顿解决方案
一.摘要 视频直播类App当前已经普遍采用CDN来实现访问加速,但还是经常遇到推拉流慢.卡顿的问题,一般是由于调度不精准.域名劫持.终端手机接入网络动态切换等因素导致.结合使用CDN和HTTPDNS可 ...
- Java中阿里云OSS文件上传工具类
阿里云OSS文件上传下载工具类 前言: 本质上就是获取配置文件信息,然后注入bean,调用sdk中提供的增删改方法: 为了避免同名文件会替换,用了hutool中唯一id生成+文件名做拼接 导入依赖:→ ...
- 直播推流拉流概念介绍
先上图 推流,指的是把采集阶段封包好的内容传输到服务器的过程.介绍一下目前有主流的推送协议,以及各自的优缺点. RTMP RTMP是Real Time Messaging Protocol(实时消息传 ...
- upyun 又拍云直播推拉流
SDK下载地址:https://github.com/upyun/ios-live-sdk 运行环境:iOS8以上,并只能在真机中运行,不然会报错 模拟器调试过滤: #if !TARGET_OS_SI ...
- 安卓 即构科技直播使用阿里云鉴权切换流地址
即构科技集成直播后,需求中需要拉流端(观众)切换到阿里云的流地址,而不是用即构返回的即构流地址,原因是即构的流比较贵,阿里云的收费非常的便宜,差距大概是阿里云的四倍吧,所以考虑到用前端进行流地址的切换 ...
最新文章
- CentOS 7.3 安装配置RabbitMQ
- Gephi——使用map of countries和Geo Layout实现包含地理坐标的数据可视化
- Struts 2基础
- Oracle中过程/函数返回结果集
- asp.net mvc 实现文件管理参考资料
- nacos 启动_【Nacos源码之配置管理 一】阅读源码第一步,本地启动Nacos
- python沙箱逃逸小结
- tag untag_交换机该怎么理解Hybird中Tag和Untag端口模式?
- 用R进行meta分析(metafor包)
- 关于EPCS系列芯片的说明
- 2021年中国原油产量、需求量及石油原油行业发展趋势分析[图]
- Python数据分析项目实例5: 分析某餐饮企业的订单详情表数据(基于matplotlib的python数据可视化分析)
- lisp 焊接符号标注_焊接符号标注及表示方法-详解aws焊接符号、钢结构焊接符号含义大全...
- Sitemesh小记
- swper插件:刷新页面,banner轮播图出不来
- html作业介绍家乡,dreamweaver网页大作业 我的家乡
- 一体化伺服电机一圈多少脉冲
- Project计算项目进度
- 上传artifacts到maven仓库
- 如何备份Chrome浏览器收藏夹