PHP直播功能实现的两种方式

目前,相比 Java、C++等开发语言,用 PHP 做直播开发的相对较少。但也有不少开发者会有这方面的需求,ZEGO 提供了两种方式可实现 PHP 直播功能。

第一种:使用互动直播 UIKit 实现PHP直播

ZEGO 的互动直播 UIKit(自定义 UI 的直播场景化 SDK)全部由 JavaScript 编写,并获得 Web 浏览器的原生支持,因此如果您使用的是 JQuery、PHP 或 JSP,可以参考使用 HTML 脚本接入。接入步骤如下:

准备环境

在开始集成互动直播 UIKit 前,请确保开发环境满足以下要求:

  • Windows 或 macOS 开发电脑已经连接到 Internet。
  • 满足 ZEGO SDK 兼容性的浏览器,推荐使用最新版本的 Google Chrome 浏览器。

前提条件

快速开始

1. 首先生成一个Kit Token

计划正式上线应用时,请参考此步骤生成 Kit Token。如果您想加快集成测试,可以先 跳过这一步

2. 在以下代码中将 appID 和 serverSecret 参数替换为您从管理控制台获取的项目 AppID 和 ServerSecret。

<span><</span>html<span>></span>

<span><</span>head<span>></span>
    <span><</span>style<span>></span>
        #root {
            width: 100vw;
            height: 100vh;
        }
    <span><</span>/style<span>></span>
<span><</span>/head<span>></span>


<span><</span>body<span>></span>
    <span><</span>div id="root"<span>></span> <span><</span></div<span>></span>
<span><</span>/body<span>></span>
<span><</span>script src="https://unpkg.com/@zegocloud/zego-uikit-prebuilt/zego-uikit-prebuilt.js"<span>></span> <span><</span>/script<span>></span>
<span><</span>script<span>></span>

    function getUrlParams(url) {
        let urlStr = url.split('?')[1];
        const urlSearchParams = new URLSearchParams(urlStr);
        const result = Object.fromEntries(urlSearchParams.entries());
        return result;
    }

    // 通过调用方法生成 Kit Token。
    // @param 1: appID
    // @param 2: serverSecret
    // @param 3: 房间 ID
    // @param 4: 用户 ID
    // @param 5: 用户名
    const appID = ;
    const serverSecret = "";
    const roomID = ;
    const userID = Math.floor(Math.random() * 10000) + "";
    const userName = "userName" + userID;
    const kitToken = ZegoUIKitPrebuilt.generateKitTokenForTest(appID, serverSecret, roomID, userID, userName);

    // 您可以根据 URL 参数分配不同的角色。
    let role = getUrlParams(window.location.href)['role'] || 'Host';
    role = role === 'Host' ? ZegoUIKitPrebuilt.Host : ZegoUIKitPrebuilt.Audience;

    const zp = ZegoUIKitPrebuilt.create(kitToken);
    zp.joinRoom({
        container: document.querySelector("#root"),
        scenario: {
            mode: ZegoUIKitPrebuilt.LiveStreaming,
            config: {
                role,
            },
        },
        sharedLinks: [{
            name: '作为观众加入',
            url:
               window.location.protocol + '//' + 
               window.location.host + window.location.pathname +
                '?roomID=' +
                roomID +
                '&role=Audience',
        }],
        // 设置语言为中文
        language: "zh-CN",
    });
<span><</span>/script<span>></span>

<span><</span>/html<span>></span>

两步即可接入。当然这里会涉及一些认证,Kit Token 鉴权以及自定义调整参数等,详细请参考:接入文档

第二种:使用 ZEGO Web SDK 实现PHP直播

ZEGO Web SDK 是一款实时的音视频互动服务产品,可实现低至 200 ms 的端到端平均时延,完美支持一对多、多对多的实时音视频通话、直播、会议等场景。

跟第一种方式类似,通过使用 HTML 脚本接入 SDK 来实现。

接入 SDK 方式有两种,使用 npm 方式集成和从官网下载 SDK 手动集成。我们这里介绍 npm 方式集成:

1. 下载并安装 Node.js 和 npm。

2. 新建项目,创建一个文件夹作为基础音视频通话的项目文件夹,结构类似如下:

├── index.html
├── index.js

3. 将以下代码拷贝到 “index.html” 文件中。

<span><</span>html<span>></span>

<span><</span>head<span>></span>
    <span><</span>meta charset="UTF-8"<span>></span>
    <span><</span>title<span>></span> Zego Express Video Call<span><</span>/title<span>></span>
    <span><</span>style type="text/css"<span>></span>
        * {
            font-family: sans-serif;
        }

        h1,
        h4 {
            text-align: center;
        }

        #local-video, #remote-video {
            width: 400px;
            height: 300px;
            border: 1px solid #dfdfdf;
        }

        #local-video {
            position: relative;
            margin: 0 auto;
            display: block;
        }

        #remote-video {
            display: flex;
            margin: auto;
            position: relative !important;
        }
    <span><</span>/style<span>></span>
<span><</span>/head<span>></span>

<span><</span>body<span>></span>
    <span><</span>h1<span>></span>
        Zego RTC Video Call
    <span><</span>/h1<span>></span>
    <span><</span>h4<span>></span>Local video<span><</span>/h4<span>></span>
    <span><</span>div id="local-video"><span><</span>/div<span>></span>
    <span><</span>h4<span>></span>Remote video<span><</span>/h4<span>></span>
    <span><</span>div id="remote-video"<span>></span><span><</span>/div<span>></span>
    <span><</span>script src="index.js"<span>></span><span><</span>/script<span>></span>
<span><</span>/body<span>></span>

<span><</span>/html<span>></span>

4. 通过 npm 安装 SDK。

在终端中,cd 到 ”index.js“ 文件所在的文件夹,执行 npm i zego-express-engine-webrtc 命令安装依赖。

  • npm 下载包支持 typescript 语言(推荐)。
  • 如果在 macOS 或 Linux 系统中执行 npm 命令失败,提示 “permission denied”,请在 npm 命令前加上 sudo 重新执行即可。

5. 在 “index.js” 文件中引入 SDK。

完整集成 SDK 或单独集成功能模块,请参考开发文档

6. 集成 SDK 后,即可开始实现音视频通话功能,完整文档请参考:实现视频通话

通过以上两种方式,可以轻松实现PHP直播功能。如果在接入过程中有任何问题,欢迎联系我们的售前和技术支持👇

PHP直播功能实现的两种方式

原创文章,作者:ZEGO即构科技,如若转载,请注明出处:https://market-blogs.zego.im/reports-baike/1791/

(0)
上一篇 9月 27, 2024 10:17 上午
下一篇 10月 10, 2024 9:56 上午

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注