新聞資訊

新聞資訊 產品更新

Java端獲取阿里云視頻直播推流和波流教程

編輯:006     時間:2020-03-04

近年來,隨著網絡的發達,直播行業也是混的風生水起,今天小編叫你如何借助阿里云的視頻直播功能做一套直播和觀看直播的完整流程,讓小白也能搞直播!

第一步:首先開通阿里云的視頻直播功能,在域名管理處,添加播流域名推流域名(注意:兩域名的直播中心地址要一致!!!!!


第二步:在播流域名處,關聯添加的推流域名,然后在兩個域名開啟URL鑒權,并記錄相應的KEY值


注意:別忘了在播流域名配置跨域訪問設置哦!!!


第三步:開始部署java代碼:

①在本地項目中引入Jar包                                   

aliyun-java-sdk-live-3.8.0.jar

commons-codec-1.10.jar

hutool-core-4.4.0.jar

②在Java代碼中放入自己的 域名,APPname,StreamName,和域名相應的鑒權

獲取推流和播流地址:

public Map<String,Object> push(String appName,String streamName)
   { // 推流域名  String pushDomain = "******";    
 // 用名 String appName = "*********";   // 流名 String streamName = "*********";  // 推流key  String pushIdentKey = "********";  // url有效時間  //  Integer identUrlValidTime = aliyunLiveConfig.getAliyunLiveIdentUrlValidTime();  // 時間  String timestamp = String.valueOf(System.currentTimeMillis() / 1000);    // 合推流域名前//      rtmp://{pushDomain}/{appName}/{streamName}   String rtmpUrl = StrUtil.format("rtmp://{}/{}/{}", pushDomain, appName, streamName);  System.out.println(rtmpUrl);    // md5加密串 //    
  /{appName}/{streamName}-{timestamp}-0-0-{pushIdentKey}  String md5Url = StrUtil.format("/{}/{}-{}-0-0-{}", appName, streamName, timestamp, pushIdentKey);   // md5加密  String md5Str = DigestUtils.md5Hex(md5Url);  System.out.println(md5Url);  System.out.println(md5Str);    // 合最終鑒權過的推流域名 //      {rtmpUrl}?auth_key={timestamp}-0-0-{md5Str}
 String finallyPushUrl = StrUtil.format("{}?auth_key={}-0-0-{}", rtmpUrl, timestamp, md5Str);  System.out.println(finallyPushUrl);  return Util.result( 0, "操作成功", 1 , finallyPushUrl ); // 返回 }           獲取播流地址: 
public Map<String,Object> pull(String appName,String streamName)
   { // 拉流域名  String pullDomain = "***************";  // 用名 String appName = "********";  // 流名 String streamName = "*******";  // 拉流key  String pullIdentKey = "**********";   // url有效時間  // Integer identUrlValidTime = aliyunLiveConfig.getAliyunLiveIdentUrlValidTime();  /
/ 時間  String timestamp = String.valueOf(System.currentTimeMillis() / 1000);   // 合通用域名 //      {pullDomain}/{appName}/{streamName}  String pullUrl = StrUtil.format("{}/{}/{}", pullDomain, appName, streamName);    // md5加密串 //      /{appName}/{streamName}-{timestamp}-0-0-{pullIdentKey}  String md5Url = StrUtil.format("/{}/{}-{}-0-0-{}", appName, streamName, timestamp, pullIdentKey);  String md5FlvUrl = StrUtil.format("/{}/{}.flv-{}-0-0-{}", appName, streamName, timestamp, pullIdentKey);  String md5M3u8Url = StrUtil.format("/{}/{}.m3u8-{}-0-0-{}", appName, streamName, timestamp, pullIdentKey);    // md5加密  String md5Str = DigestUtils.md5Hex(md5Url);  String md5FlvStr = DigestUtils.md5Hex(md5FlvUrl);   String md5M3u8Str = DigestUtils.md5Hex(md5M3u8Url);     // 合三拉流域名前//        rtmp://{pullUrl}?auth_key={timestamp}-0-0-{md5Str}   String rtmpUrl = StrUtil.format("rtmp://{}?auth_key={}-0-0-{}", pullUrl, timestamp, md5Str); //       
 http://{pullUrl}.flv?auth_key={timestamp}-0-0-{md5FlvStr}   String flvUrl = StrUtil.format("http://{}.flv?auth_key={}-0-0-{}", pullUrl, timestamp, md5FlvStr);
 //        http://{pullUrl}.m3u8?auth_key={timestamp}-0-0-{md5M3u8Str}  String m3u8Url = StrUtil.format("http://{}.m3u8?auth_key={}-0-0-{}", pullUrl, timestamp, md5M3u8Str);     Map<String, String> urlMap = new HashMap<String, String>();  urlMap.put("rtmpUrl", rtmpUrl);  urlMap.put("flvUrl", flvUrl);  urlMap.put("m3u8Url", m3u8Url);   return Util.result( 0, "操作成功", urlMap.size() , urlMap ); // 返回 }
到這里,訪問我們相應的接口就可以獲取推流和播流地址了

推流地址直接復制到 OBS 直播軟件中就可以了

播流地址直接復制到阿里云播放器就可以播放了~~~~~




鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

回復列表

相關推薦
乌克兰妈妈与男孩XXX-6k夜趣-伊人综合人网22名图片-巨型蝌蚪电影在线看