<?php

function getBilibiliLiveHlsUrl($roomId) { $apiUrl = "https://api.live.bilibili.com/room/v1/Room/playUrl?cid=" . $roomId . "&quality=4&platform=h5";

$response = file_get_contents($apiUrl);
$data = json_decode($response, true);

if ($data['code'] == 0) {
    $streamUrl = $data['data']['durl'][0]['url'];
    return $streamUrl;
} else {
    return false;
}

}

// 使用示例 $roomId = $_GET['roomId']; // 从请求参数中获取房间号 $hlsUrl = getBilibiliLiveHlsUrl($roomId); // 调用函数获取HLS直链

if ($hlsUrl) { header("Content-Type: application/vnd.apple.mpegurl"); echo $hlsUrl; } else { echo "获取HLS直链失败"; }

?>

上述代码定义了一个名为getBilibiliLiveHlsUrl的函数,该函数接受一个B站直播间房间号作为参数,并使用B站的API获取直播HLS流的m3u8直链。

使用示例中,我们通过$_GET['roomId']获取请求中的房间号,然后调用getBilibiliLiveHlsUrl函数获取HLS直链。如果成功获取到HLS直链,则将其设置为响应的Content-Type,并输出到客户端。如果获取失败,则输出错误消息。

请注意,这只是一个简单的示例,实际情况可能更加复杂,你可能需要根据自己的需求进行适当的修改和调整。

PHP获取B站直播间HLS流m3u8直链API

原文地址: https://www.cveoy.top/t/topic/qx06 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录