一、生成直播间
<?php
require VENDOR_PATH.'qiniu/lib/Pili_v2.php';
$ak = "七牛ak";
$sk = "七牛sk";
$hubName = "直播间名称";
//创建hub
$mac = new \Qiniu\Pili\Mac($ak, $sk);
$client = new \Qiniu\Pili\Client($mac);
$hub = $client->hub($hubName);
//获取stream 直播流名称
$streamKey = "shop".session('store_id').'_'.$zid;
$stream = $hub->stream($streamKey);
try {
//创建stream
$resp = $hub->create($streamKey);
} catch (\Exception $e) {
return 1;
}
//推流地址 3600 一小时
$update['push_url'] = \Qiniu\Pili\RTMPPublishURL("pili-publish.baidu.com", $hubName, $streamKey, 259200, $ak, $sk);
//RTMP 直播放址
$update['rtmp_url'] = \Qiniu\Pili\RTMPPlayURL("pili-live-rtmp.baidu.com", $hubName, $streamKey);
//HLS 直播地址
$update['hls_url'] = \Qiniu\Pili\HLSPlayURL("pili-live-hdl.baidu.com", $hubName, $streamKey);
//HDL 直播地址
$update['flv_url'] = \Qiniu\Pili\HDLPlayURL("pili-live-hls.baidu.com", $hubName, $streamKey);
![](https://img-blog.csdnimg.cn/bfb70d071da842c5a8b5ca3151527a31.png)
二、直播回放
<?php
require VENDOR_PATH.'qiniu/lib/Pili_v2.php';
// require join(DIRECTORY_SEPARATOR, array(VENDOR_PATH, 'qiniu\lib', 'Pili_v2.php'));
$ak = "七牛ak";
$sk = "七牛sk";
$hubName = '直播间名称';
$streamKey = "shop".session('store_id').'_'.$zid;//直播流名称
$mac = new \Qiniu\Pili\Mac($ak, $sk);
$client = new \Qiniu\Pili\Client($mac);
$hub = $client->hub($hubName);
$hubone = new \Qiniu\Pili\Hub($mac, $hubName);
$stream = $hub->stream($streamKey);
$data['code'] = 1;
$data['url'] = '';
$data['records'] = array();
//$startDate 开始时间
//$endDate 结束时间
try {
//保存直播数据
$fname = $stream->save($startDate, $endDate);
$data['url'] = "http://dianbo.baidu.com/".$fname['fname'];
} catch (\Exception $e) {
$data['code'] = 0;
}
try {
//查询推流历史
$records = $stream->historyActivity($startDate,$endDate);
$data['records'] = $records["items"];
return $data;
} catch (\Exception $e) {
}