直播流程详解

1.添加播流域名
在这里插入图片描述2. 绑定对应的推流域名,

在这里插入图片描述
编辑推流回调地址,$_GET 对应的回调参数为

action 事件 publish:推流。 publish_done:断流。
ip 推流的客户端IP。
id 推流流名称。
app 推流域名。默认为自定义的推流域名,如果未绑定推流域名即为播流域名
appname 推流应用名称。
time Unix时间戳。单位:秒。
usrargs 用户推流的参数。
node CDN接受流的节点或者机器名。
height 分辨率的高。单位:像素。 说明 分辨率信息(height和width)仅在首次回调时产生。
width 分辨率的宽。单位:像素。

在这里插入图片描述
3.地址生成器
OBS 添 推流地址
在这里插入图片描述
在服务器端可以采用鉴权串拼接进行生成

public function foundLiveStudio($streamName, $expire = 1800)
    {
        $time = time() + $expire;
        $LiveName = '/' . $this->appName . '/' . $streamName;
        //推流地址
        $pushUrl = 'rtmp://' . $this->rtmpLink . $LiveName . '?auth_key=' . md5($LiveName . '-' . $time . '-0-0-' . $this->key);
        //rtmp 播放地址
        $rtmpUrl = 'rtmp://' . $this->playLike . $LiveName . '?auth_key=' . md5($LiveName . '-' . $time . '-0-0-' . $this->payKey);
        //flv 播放地址
        $flvUrl = 'http://' . $this->playLike . $LiveName . '.flv?auth_key=' . md5($LiveName . '.flv-' . $time . '-0-0-' . $this->payKey);
        //m3u8 播放地址
        $m3u8Url = 'http://' . $this->playLike . $LiveName . '.m3u8?auth_key=' . md5($LiveName . '.m3u8-' . $time . '-0-0-' . $this->payKey);
        return compact('pushUrl', 'rtmpUrl', 'flvUrl', 'm3u8Url');
    }

4.管理录制配置存储至OSS
在这里插入图片描述
通过其回调地址参数的uri 拼接其域名,存入数据库中。
file_get_content(“php://input”)

domain 录制的播流域名。
app 应用名。
stream 流名。
event 事件名。
record_started:录制已经成功开始。
record_paused:录制已经成功暂停。
record_resumed:录制已经成功恢复继续录制。

当状态结束后文件生成回调生成回调参数

domain 录制的播流域名。
app 应用名。
stream 流名
uri 目标录制文件在用户录制OSS Bucket下的路径。
duration 目标录制文件录制内容时长,单位:秒
start_time 录制开始时间。Unix时间戳,单位:秒。
stop_time 录制结束时间。Unix时间戳,单位:秒。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值