阿里雲視頻直播PHP-SDK接入教程
阿里雲 視頻直播 配置 及 PHP-SDK 接入教程
准備工作
域名管理
配置鑒權
地址生成器及DEMO演示-熟悉鑒權
接入SDK
阿里雲 視頻直播 配置 及 PHP-SDK 接入教程
個人感覺,阿里的文檔比微信的要坑很多…
微信最多是有些比較重要的東西放到比較不起眼、比較難發現的地方.
阿里的文檔就是要么就是sdk已經更新了,但是文檔還沒更新,導致文檔與SDK不匹配.在關鍵點卡我一下…
要么是同樣的功能有好幾個版本的SDK以及文檔,卻不告訴你哪個是最新的…
吐槽結束~
准備工作
1.最重要的,先仔細看下視頻直播文檔!
2. 購買阿里雲的視頻直播服務 ,用量不大的時候建議使用按量收費的方式結算,接通之后消耗了流量才扣錢;
3. 准備好備案的域名,到時候需要解析兩個二級域名(推流域名與拉流域名);
4. 如果需要存儲直播視頻文件的話,需要使用對象存儲OSS服務,因為直播錄制的視頻都會到這里面.這也是可以先使用后收費的(按量收費).
域名管理
首先進入視頻直播的控制台>>域名管理>>添加域名
添加兩次,分別是播流域名和推流域名,
添加完成之后進行域名解析配置這兩個域名的CDN加速指向分配的CNAME.
然后配置將它們兩個域名(一個推流,一個播流)關聯起來.
配置鑒權
推流與播流的鏈接都是以一定的規則自己拼起來的,首先要在域名配置
地址生成器及DEMO演示-熟悉鑒權
AppName:隨意理解,或者理解為分組吧;
StreamName:理解為直播的id,一個StreamName同時只能推一個直播流.可以開始直播-終止直播-開始直播-終止直播…
有關鑒權的規則是這樣的:鑒權規則
代碼如下:
<?php $AppName = 'AppName'; //app名稱 ,隨意設定 $StreamName = "StreamName"; //直播流名稱 ,隨意設定 $now = time(); //------------------- 阿里雲視頻直播控制台 地址生成器 鑒權設置 ----------- //加密key,即直播后台鑒權里面自行設置 $pull_key = 'oCudfghYGM'; //播流 主key $push_key = '0hgggfjAhT'; //推流 主key $time = $now + 60*60*3; //URL的有效期 180分鍾 隨意設定 //------------------------ end --------------------------------------------- $strpush = "/{$AppName}/{$StreamName}-{$time}-0-0-{$push_key}"; $push_cdn = 'push.paxy365.com'; $pull_cdn = 'pull.paxy365.com'; //推流地址 一個 $pushurl = "rtmp://{$push_cdn}/{$AppName}/{$StreamName}?auth_key={$time}-0-0-".md5($strpush); //播流地址 $strviewrtmp = "/{$AppName}/{$StreamName}-{$time}-0-0-{$pull_key}"; $strviewflv = "/{$AppName}/{$StreamName}.flv-{$time}-0-0-{$pull_key}"; $strviewm3u8 = "/{$AppName}/{$StreamName}.m3u8-{$time}-0-0-{$pull_key}"; $rtmpurl = "rtmp://{$pull_cdn}/{$AppName}/{$StreamName}?auth_key={$time}-0-0-".md5($strviewrtmp); //播流地址 $flvurl = "http://{$pull_cdn}/{$AppName}/{$StreamName}.flv?auth_key={$time}-0-0-".md5($strviewflv); //播流地址 $m3u8url = "http://{$pull_cdn}/{$AppName}/{$StreamName}.m3u8?auth_key={$time}-0-0-".md5($strviewm3u8); //播流地址
獲取到推流URL和播流URL就可以愉快地玩直播啦,可以下載阿里的DEMO(APP)到手機上,測試這URL是否有用~
接入SDK
阿里是將所有的SDK打包一起下載,里面不僅有視頻直播的SDK,還有別的業務的SDK…T_T
PHP SDK 下載地址
我的項目是TP框架(還是3.2的)
在一開始拿到SDK代碼的時候很懵逼,無從下手…
度娘了下才知道要引入的是這兩個文件 ! ! !
<?php include_once LIB_PATH . 'Vendor/aliyun-openapi/aliyun-php-sdk-core/Config.php'; include_once LIB_PATH . 'Vendor/aliyun-oss-php/autoload.php'; //接下來就可以為所欲為了~~~
原文:https://blog.csdn.net/qq_41976646/article/details/88317894