我们已经准备好了,你呢?

2020我们与您携手共赢,为您的企业形象保驾护航!

当前位置:首页>>知识中心>>源码知识>>视频直播生成推流和播放地址的PHP代码示例

人气:45544

视频直播生成推流和播放地址的PHP代码示例
来源:阿里云 更新时间:2020年04月17日 点击:45544次
直播推流地址和播放地址本身没有API接口,需要在客户端自行拼接地址,然后使用推流工具或者播放器对其推流或播放。本文主要介绍如何生成直播的推流以及播放地址(PHP示例代码)

<?php


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;

}


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));

//生成随机的StreamNmae

$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);


?>


上一条:Win7下搭建python开发环境图文教程(安装Python、pip、解释器)
下一条:RTMP配置鉴权(PHP方式)
联系电话:13431448806
选择我们,助您企业扬帆起航!多年来,我们一直用诚心、责任心服务每一位客户。
09月优惠套餐· video

玩法形式多样助力品牌扩散 · 90后、00后已成为短视频主流用户

09月源码开发与建站流程 · Process

千里之行,始于足下 · 迈出源码开发与建站这一步,就从联系我们开始

我们已经准备好了,你呢?

从2021年09月28日起:我们与您携手共赢,为您的企业形象保驾护航!