快速搭建一個直播Demo

原因

最近幫朋友看一個直播網站的源碼,發現這份直播源碼藉助 阿里雲 、騰訊雲這些大公司提供的SDK 能夠很是方便的搭建一個直播網站。下面咱們來給你們講解下如何藉助 騰訊雲 咱們搭建一個簡易的 直播示例php

雲直播架構

600


主要分三部分html


1:直播端 經過設備 直接經過 直播服務提供方 的推流 地址 進行直播視頻,這些直播流視頻 會推送到  直播服務提供方  直播服務器雲存儲前端


2:直播服務提供方  會將 雲存儲的 視頻流 轉發到 CDN 節點安全


3:觀衆 就經過 各類終端 看直播(此時就會根據不一樣遊客 會 訪問不一樣的節點 )bash

生成推送流URL

根據 騰訊雲直播官方  https://cloud.tencent.com/product/lvb 介紹,全部用戶均可以領取20G 的流量,夠咱們測試了。 服務器

準備工做

1:官方註冊帳號 領取20G流量 官方地址: https://cloud.tencent.com/product/lvb架構

2:須要一個備案過的域名(用戶播放直播視頻域名) 。這就須要本身購買了app

3:支持推流的app。易推流 只支持IOS 、騰訊官方小直播 DEMO:https://cloud.tencent.com/document/product/267/32732#.E5.B0.8F.E7.9B.B4.E6.92.AD-demo dom


推流URL代碼

/**
 * 獲取推流地址
 * 若是不傳key和過時時間,將返回不含防盜鏈的url
 * @param domain 您的推流域名
 *        stream_id 您用來區別不一樣推流地址的惟一流ID
 *        key 安全密鑰
 *        time 過時時間 sample 2016-11-12 12:00:00
 * @return String url */

public static function getPushUrl($domain, $stream_id, $key = null, $time = null){
    if($key && $time){
        $tx_time = strtoupper( base_convert(strtotime($time),10,16));
        $tx_secret = md5($key.$stream_id.$tx_time);
        $ext_str = "?".http_build_query([
                "txSecret"=> $tx_secret,
                "txTime"=> $tx_time
            ]);
    }
    return "rtmp://".$domain."/live/".$stream_id.( isset($ext_str) ? $ext_str : "");
}


其中domain 和 key 都是經過騰訊控制檯獲取的 。以下圖測試



而其中的stream_id 你能夠理解爲直播房間id,在具體開發中 不要重複就行了


播放流URL

生成播放流URL很是簡單,可是須要 有本身備案過得域名。而後在後臺添加播放域名就好了。


添加完成域名以後 就須要將域名 cname 到 下圖二中的官方分配地址


zhibo_3.jpg


zhibo_4.jpg


播放URL代碼

/**
 * 獲取播放地址
 * @param domain 您的播放域名
 *        stream_id 您用來區別不一樣推流地址的惟一流ID
 * @return String url */

public static function getPlayUrl($domain, $stream_id){
    $data = [
        "rtmp://".$domain."/live/".$stream_id,
        "http://".$domain."/live/".$stream_id.".flv",
        "http://".$domain."/live/".$stream_id.".m3u8"
    ];
    return $data[1];
}


其中 domain 就是剛在添加的域名。stream_id 就是生成推送流裏面的參數。播放流能夠生成三種模式,flv 和 m3u8。通常咱們flv格式延遲會低些

效果展現

獲取推送Url 和 播放Url

zhibo_5.jpg

推送流Url:rtmp://44159.livepush.myqcloud.com/live/54php?txSecret=安全保密替換掉&txTime=5CC066FD
播放流Url:http://lvb.54php.cn/live/54php.flv

使用騰訊小直播軟件直播


易推流App


前端演示地址:http://m.54php.cn/demo/lvb ,可能沒法看到,由於浪子沒有直播了



原文地址: 快速搭建一個直播Demo
標籤: 直播    lvb   

智能推薦

相關文章
相關標籤/搜索