阅读 159

推流地址 java_Java实现腾讯云直播生成推流地址和播放地址

推流地址 java_Java实现腾讯云直播生成推流地址和播放地址

最近在做小程序直播,用到了腾讯云直播,下面为相关文档和程序


URL规则:https://cloud.tencent.com/document/product/267/13457


防盗链计算:https://cloud.tencent.com/document/product/267/13458


小程序源码调试(推流):https://cloud.tencent.com/document/product/454/12554


观看直播:在下面程序生成的三个视频直播URL中任选一个,使用播放器播放


代码如下:


package com.zhaoyl.emall.bkstage.web.data;


import java.security.MessageDigest;


import java.security.NoSuchAlgorithmException;


import java.text.DateFormat;


import java.text.ParseException;


import java.text.SimpleDateFormat;


/**


* 直播获取url


* @author zhiming.liang


* @date 2018-06-26 17:09.


*/


public class LiveTest {

public static void main(String[] args) {

printUrls();


}


/**


* 输出Url


*/


public static void printUrls(){

//过期时间


String expirationTime = "2018-06-26 23:59:59";


//Unix时间戳


Long unixTime = getUnixTime(expirationTime);


//bizid


String bizId = "88888";


//随机码 随机码自己随意填写


String randomStr = "549b399e00";


//推流防盗链


String key = "9999cb04c2398c576895898031be0000";


String streamId = bizId+"_"+randomStr;


//时间戳16进制


String txTime = Integer.toHexString(unixTime.intValue()).toUpperCase();


//获取md5 txSecret


String txSecret = getMd5(key+streamId+txTime);


//视频推送url


String pushUrl = "rtmp://"+bizId+".livepush.myqcloud.com/live/"+streamId+"?bizid="+bizId+"&txSecret="+txSecret+"&txTime="+txTime;


//视频播放url rtmp


String playUrlRtmp = "rtmp://"+bizId+".liveplay.myqcloud.com/live/"+streamId;


//视频播放url flv


String playUrlFlv = "http://"+bizId+".liveplay.myqcloud.com/live/"+streamId+".flv";


//视频播放url hls


String playUrlHls = "http://"+bizId+".liveplay.myqcloud.com/live/"+streamId+".m3u8";


System.out.println("pushUrl="+pushUrl);


System.out.println("playUrlRtmp="+playUrlRtmp);


System.out.println("playUrlFlv="+playUrlFlv);


System.out.println("playUrlHls="+playUrlHls);


}


/**


* 获取unix时间戳


* @return


* @throws Exception


*/


public static Long getUnixTime (String dateStr) {

try {

DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");


long epoch = df.parse(dateStr).getTime();


return epoch/1000;


} catch (ParseException e) {

e.printStackTrace();


}


return 0L;


}


/**


* 获取md5字符串


* @param str


* @return


*/


public static String getMd5(String str) {

MessageDigest md5 = null;


try {

md5 = MessageDigest.getInstance("MD5");


} catch (NoSuchAlgorithmException e) {

e.printStackTrace();


}


byte[] bs = md5.digest(str.getBytes());


StringBuilder sb = new StringBuilder(40);


for(byte x:bs) {

if((x & 0xff)>>4 == 0) {

sb.append("0").append(Integer.toHexString(x & 0xff));


} else {

sb.append(Integer.toHexString(x & 0xff));


}


}


return sb.toString();


}


}

————————————————

版权声明:本文为CSDN博主「大大干哈」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/weixin_35414475/article/details/114624351


文章分类
后端
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐