网站ppt怎么做,做网站的公司哪家有名,网站建设暖色调,阿里云搭建自己的网站最近在用阿里云的直播SDK在进行直播功能的开发,整体来说磕磕绊绊#xff0c;因为里面有好多的东西#xff0c;一时半会的搞不定#xff0c;但是工期又有期限#xff0c;所以天天熬夜#xff0c;程序员真心不容易#xff0c;废话不多说#xff0c;今天分享这个主要就是来…最近在用阿里云的直播SDK在进行直播功能的开发,整体来说磕磕绊绊因为里面有好多的东西一时半会的搞不定但是工期又有期限所以天天熬夜程序员真心不容易废话不多说今天分享这个主要就是来说明一下阿里云的直播推流和播流地址怎么生成的
在这之前我们需要了解上面说的推流 播流 拉流都是什么玩意啥意思
·视频直播的基础服务是直播流的接入和分发服务。您可以使用推流地址通过推流工具将视频流推送至阿里云平台进行视频的内容处理及分发观众可以通过播放地址和播放器观看直播内容。推送至阿里云中心的视频可以根据您的需求进行设置从而适用于不同的应用场景。
推流
推流是把采集阶段封装好的音视频直播流推送到阿里云直播服务中心的过程。拉流
拉流是将第三方直播流地址拉取到阿里直播中心进行CDN内容分发推流至需要的节点的过程。播流
播流是将直播服务中心已有直播内容分发到播放器进行播放过程。·
?php/*** 生成推流地址* param $push_domain 推流域名* param $push_key 推流域名配置的鉴权Key* param $expireTime 过期时间单位是秒* param $appName 推流AppName* param $streamName 推流StreamName*/
function push_url($push_domain,$push_key,$expireTime,$appName,$streamName){$push_url ;//未开启鉴权Key的情况下if($push_key){$push_url rtmp://.$push_domain./.$appName./.$streamName;echo $push_url;return;}$timeStamp time() $expireTime;$sstring /.$appName./.$streamName.-.$timeStamp.-0-0-.$push_key;$md5hash md5($sstring);$push_url rtmp://.$push_domain./.$appName./.$streamName.?auth_key.$timeStamp.-0-0-.$md5hash;echo $push_url;echo PHP_EOL;return;
}
/*** 生成播放地址* param $play_domain 播放域名* param $play_key 播放鉴权Key* param $expireTime 过期时间单位是秒* param $appName 播放appName同推流appName)* param $streamName 播放streamName播放源流时streamName 同推流streamName播放转码流时streamName 为推流streamName_{转码模板ID}*/
function play_url($play_domain,$play_key,$expireTime,$appName,$streamName){//未开启鉴权Key的情况下if($play_key){$rtmp_play_url rtmp://.$play_domain./.$appName./.$streamName;$flv_play_url http://.$play_domain./.$appName./.$streamName..flv;$hls_play_url http://.$play_domain./.$appName./.$streamName..m3u8;}else{$timeStamp time() $expireTime;$rtmp_sstring /.$appName./.$streamName.-.$timeStamp.-0-0-.$play_key;$rtmp_md5hash md5($rtmp_sstring);$rtmp_play_url rtmp://.$play_domain./.$appName./.$streamName.?auth_key.$timeStamp.-0-0-.$rtmp_md5hash;$flv_sstring /.$appName./.$streamName..flv-.$timeStamp.-0-0-.$play_key;$flv_md5hash md5($flv_sstring);$flv_play_url http://.$play_domain./.$appName./.$streamName..flv?auth_key.$timeStamp.-0-0-.$flv_md5hash;$hls_sstring /.$appName./.$streamName..m3u8-.$timeStamp.-0-0-.$play_key;$hls_md5hash md5($hls_sstring);$hls_play_url http://.$play_domain./.$appName./.$streamName..m3u8?auth_key.$timeStamp.-0-0-.$hls_md5hash;}echo rtmp播放地址: .$rtmp_play_url;echo PHP_EOL;echo flv播放地址: .$flv_play_url;echo PHP_EOL;echo hls播放地址: .$hls_play_url;echo PHP_EOL;return;
}
//推流域名
$push_domain testpush.cn;
//推流域名配置的鉴权Key
$push_key test_Push_key;
//生成随机的AppName
$appName md5(uniqid(microtime(true),true));
//生成随机的StreamName
$streamName md5(uniqid(microtime(true),true));
//配置过期时间为1小时
$expireTime 3600;
//播放域名
$play_domain testPlay.cn;
//播放域名配置的鉴权Key
$play_key test_play_key;
push_url($push_domain,$push_key,$expireTime,$appName,$streamName);
play_url($play_domain,$play_key,$expireTime,$appName,$streamName);
?哎咋说呢多多的实践吧因为得静下心去测试一起努力合作共赢