PHP集成騰訊雲直播與七牛雲直播相關操作

職場小白如何初次認識雲直播

PHP集成騰訊雲直播與七牛雲直播相關操作

騰訊雲與七牛雲的直播sdk

下載地址一個暖心大佬提供的集成sdk(非作者本人)
composer require goodspb/live-sdk

composer會出現存在一些問題,下面列舉一些常常出現的問題*

1.可能存在舊版本刪除問題,如果直接composer require 文件名,而這個文件名後面沒有加":版本號",會存在找不到地址導致失敗,所以建議在composer的時候如果該文件有版本號後面儘量加上
2.擴展包關聯問題,在有些擴展包下載的時候,是需要另一個擴展包支持的,例如我們下載的這個擴展包 goodspb/live-sdk是需要先看一下自己的vendor裏面有沒有guzzlehttp/guzzle這個擴展包的 沒有則 composer require guzzlehttp/guzzle
3.擴展包是存在php版本兼容問題的,composer的時候是需要看下自己的版本是否符合

由於tp版本不同引入vendor裏面擴展的方法也有不同的方法,方法不對not found class*

簡略的說一下常用引用方法,詳細去找論壇其他博主,本人較懶

  1. import(‘lib.cwb’,VENDOR_PATH,’.class.php’); 第一個參數是地址/類名,第二個參數定義的全局常量(vendor的地址) 第三個參數是讀取後綴爲.class或者爲.php
    2.vendor() 和上面使用方法相似,注意差別就是二三參數可以省略
    3.手動引入了類文件後,進行實例化需要特別注意了!在 new 類文件()時,在類文件前面加一個 “ \ ”,例如 $obj = new \Cwb();

上代碼

        $live =   new \Goodspb\LiveSdk\Live();
        1.配置文件引入
         $config = require __DIR__ . '/live.php';
         2.創建房間
        $live->setConfig($config);
        $agent = $live->getAgent();
        $room = $agent->create($room_id);
        數據會返回推流地址
        3.查看房間狀態
        $status = $agent->status($room_id);
        返回bool格式
        4.關閉直播
         $result = $agent->close($roomId);//關閉直播
         返回bool格式

關於配置文件

return [
    'upstream' => [
        /*
         * 比例最終加起來要100
         * 'qiniu' => 50,
         * 'jinshan' => 50,
         */
        'qiniu' => 100,
    ],
    'agents' => [
        'qiniu' => [
            'enable' => true,
            'class' => Goodspb\LiveSdk\Agents\QiniuAgent::class,
            'hub' => '',        //直播空間名
            'base_url' => [     //綁定域名
                'rtmp_push_url' => '',
                'rtmp_play_url' => '',
                'hls_play_url' => '',
                'hdl_play_url' => '',
            ],
            'expire' => '',     //推流地址過期時間
            'ak' => '',
            'sk' => '',
        ],
        'qcloud' => [
            'enable' => true,
            'class' => Goodspb\LiveSdk\Agents\QcloudAgent::class,
            'api_base_url' => 'http://fcgi.video.qcloud.com/common_access',
            'appid' => '',
            'bizid' => '',      //直播碼
            'expire' => ,  //推流過期時間
            'push_key' => '',   //推流防盜鏈Key
            'api_key' => '',    //Api鑑權Key
        ],
    ],
    'http' => [
        'timeout' => 30,
        'connect_timeout' => 0,
    ],
];

轉載地址插件官方文檔

關於視頻回放問題

1.騰訊雲
TencentCloud/tencentcloud-sdk-php
騰訊雲需要開通雲點播功能,然後在控制檯中配置錄製模板然後即可自動保存回放
查看回放需要下載官方第三方SDK或者使用API,個人覺得使用SDK更合適由於API存在v1,v3版本所以簽名很容易配置錯誤,SDK更加簡單有效
配置id和密鑰,然後官方有相關查詢參數,可以按照create_time進行倒敘查詢獲取最新的回放視頻
$params代表搜索參數以json格式傳輸

1.回放列表查詢(搜索媒資列表)

 try {

        $cred = new Credential("secretid", "secretkey");
        $httpProfile = new HttpProfile();
        $httpProfile->setEndpoint("vod.tencentcloudapi.com");

        $clientProfile = new ClientProfile();
        $clientProfile->setHttpProfile($httpProfile);
        $client = new VodClient($cred, "ap-beijing", $clientProfile);

        $req = new SearchMediaRequest();

        $params = $arr;
        $req->fromJsonString($params);

        $resp = $client->SearchMedia($req);

       return $resp->toJsonString();
    }
    catch(TencentCloudSDKException $e) {
        echo $e;
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章