阅读 23 SEO

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/liangzhiming12/article/details/80818176


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