广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >php怎么实现在线直播功能
  • 412
分享到

php怎么实现在线直播功能

php直播 2018-02-18 21:02:44 412人浏览 无得
摘要

本文操作环境:windows7系统,PHP7.1版,Dell G3电脑。php怎么实现在线直播功能?php 七牛云实现直播功能:一:最近在做一个直播卖货的项目,后台搭建好了准备接入直播,搜了几家阿里,TX和七牛,结果阿里的直播php只有代码

本文操作环境:windows7系统,PHP7.1版,Dell G3电脑。

php怎么实现在线直播功能?

php 七牛云实现直播功能:

一:最近在做一个直播卖货的项目,后台搭建好了准备接入直播,搜了几家阿里,TX和七牛,结果阿里的直播php只有代码没有文档,TX的我朋友说代码比较乱就不考虑了,上了七牛注册了一个账户,申请直播空间的时候被域名卡主了,已经备案的域名还要再网站公安备案一次

https://developer.qiniu.com/af/kb/3987/how-to-make-WEBsite-and-inquires-the-police-put-on-record-infORMation?ref=support.qiniu.com

又搜了搜发现涉及网络表演业务的,需办理《网络文化经营许可证》,请咨询当地人民政府文化行政部门,等待申请完以后在进行下一步。

二:域名备案终于好了,开始搞第二步,实现直播功能,移动端可以参考七牛云SDK,下面是服务端推流案例,本次使用的是rtmp流实现直播,在控制台找到直播云服务,创建直播云空间
在这里插入图片描述
创建好直播空间后会生成几个二级域名,按需要将域名解析出来,然后就到了下面的样子
在这里插入图片描述
代码运行起来后会在直播流中看到你说创建的直播流播放历史等信息
在这里插入图片描述
安装composer包

php composer.phar require qiniu/php-sdk

再vendor/pili-engineering/pili-sdk-php.v2里能找到两个案例,一个是直播的,一个是连麦的,这次先实现直播,下一篇再更新一下连麦

<?php

namespace App\Modules\api\Http\Controllers;

use App\Modules\Live\Models\Broadcast;
use App\Modules\Live\Repositories\BroadcastRepositoryEloquent;
use Illuminate\Http\Request;
use Qiniu\Pili\Client;
use Qiniu\Pili\Mac;
use function Qiniu\Pili\RTMPPlayURL;
use function Qiniu\Pili\RTMPPublishURL;
use function Qiniu\Pili\SnapshotPlayURL;

class LiveController extends ApiBaseController
{
    private $auth;
    private $accessKey;
    private $secreTKEy;
    private $hubName;

    
    public function __construct()
    {
        $this->accessKey = config("qiniu.accessKey");
        $this->secretKey = config("qiniu.secretKey");
        $this->hubName = config("qiniu.bucket");
        parent::__construct();
    }
    
    public function liveStart(Request $request)
    {
        $userInfo = parent::getAuthenticatedUser($msg);
        if (isset($userInfo['user']) && !empty($userInfo['user'])) {
            $request->offsetSet('user_id', $userInfo['user']['id']);
        } else {
            return $this->sendResponse($msg, 'error', '', 401);
        }
        $data = $request->all();
        $broadcast = app(BroadcastRepositoryEloquent::class)->findWhere(['type' => $data['type'], 'user_id' => $data['user_id']])->first();
        if (empty($broadcast)) {
            return $this->sendResponse(trans('admin.operate_failed') . '未找到直播间');
        }
        $broadcast['name'] = $data['name'];
        //创建hub
        $mac = new Mac($this->accessKey, $this->secretKey);
        $client = new Client($mac);
        $hub = $client->hub($this->hubName);
        //获取stream
        $streamKey = $broadcast['show_id'];
        $stream = $hub->stream($streamKey);
        $list = $hub->listStreams($streamKey, 1, "");
        //如果没找到对应的直播流创建新直播流
        if (count($list['keys']) == 0) {
            //获取stream
            $hub->create($streamKey);
        }
        if ($data['type'] == 0) {
            $result = $this->updateShop($broadcast, $streamKey, $msg);
            if ($result == false) {
                return $this->sendResponse(trans('admin.operate_failed') . $msg);
            }
        } else {
            $result = $this->updateCurriculum($broadcast, $streamKey, $msg);
            if ($result == false) {
                return $this->sendResponse(trans('admin.operate_failed') . $msg);
            }
        }
        return $this->sendResponse(trans('admin.operate_succeeded'), 'succ', ['p_href' => $broadcast['p_href']]);
    }

    //更新商城直播间
    public function updateShop($broadcast, $streamKey, &$msg = '')
    {
        //获取推流地址
        $p_href = RTMPPublishURL("pili-publish.chengdulihong.com", $this->hubName, $streamKey, 3600, $this->accessKey, $this->secretKey);
        //获取播放地址
        $g_href = RTMPPlayURL("pili-publish.chengdulihong.com", $this->hubName, $streamKey);
        //截图直播地址
        $pic = SnapshotPlayURL("pili-publish.chengdulihong.com", $this->hubName, $streamKey);
        //更新直播间状态
        $u_broadcast = $broadcast->fill(['name' => $broadcast['name'], 'chatroom_status' => 0, 'p_href' => $p_href, 'g_href' => $g_href, 'pic' => $pic])->save();
        if ($u_broadcast == false) {
            return $this->sendResponse(trans('admin.operate_failed') . '更新直播间出错');
        }
        return true;
    }

以上就是php怎么实现在线直播功能的详细内容,更多请关注编程界其它相关文章!

--结束END--

本文标题: php怎么实现在线直播功能

本文链接: https://www.lsjlt.com/news/973.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • php怎么实现在线直播功能
    本文操作环境:Windows7系统,PHP7.1版,Dell G3电脑。php怎么实现在线直播功能?php 七牛云实现直播功能:一:最近在做一个直播卖货的项目,后台搭建好了准备接入直播,搜了几家阿里,TX和七牛,结果阿里的直播php只有代码...
    99+
    2018-02-18
    php 直播
  • 在线上线下都能使用的PHP直播功能开发
    随着互联网技术的不断发展,直播已经成为了新时代的主流,不仅广大娱乐爱好者通过直播了解娱乐明星的动向,还有教育、企业等各个领域都开始使用直播技术,因为直播无需任何物理场地和设备的投入,通过网络就可以实现。今天我们将探讨如何开发一款在线上线下都...
    99+
    2023-05-23
    开发 PHP直播功能 在线使用
  • 怎么在HTML5中使用websocket实现直播功能
    这篇文章给大家介绍怎么在HTML5中使用websocket实现直播功能,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。录像页面HTML结构<video autoplay id="sou...
    99+
    2023-06-09
  • PHP语言如何实现直播功能?
    PHP语言是一种常用的服务器端脚本语言,可以用于搭建各种类型的网站和应用程序。在现代互联网中,直播功能已经越来越普遍,很多网站和应用都加入了直播功能。那么,PHP语言如何实现直播功能呢?本文将介绍PHP语言实现直播功能的基本原理和方法。一、...
    99+
    2023-05-22
    直播 PHP 实现
  • 如何在PHP中实现在线直播课程
    近年来,随着互联网的快速发展,网络直播作为一种新型教育方式已经越来越受到各界人士的重视。在网络直播中,有很多具有技术含量的细节需要我们去掌握和实现。为此,本文将结合实例,详细介绍如何在PHP中实现在线直播课程。一、基础环境准备在进行在线直播...
    99+
    2023-05-20
    PHP (作为该任务所需用到的编程语言之一) 在线直播 (任务所涉及的主要功能) 实现 (任务的目标 需要编程实现)
  • PHP实现直播功能的三种方式
    随着互联网的普及和高速网络的加速,直播已经成为了一种非常流行的互联网应用。直播能够为用户提供实时的视频和音频流,并能够进行互动和交流,因此在各种社交平台和在线教育中广泛应用。而在直播应用中,PHP也是一种非常重要的编程语言之一,很多网站和应...
    99+
    2023-05-21
    PHP 实现方式 直播功能
  • PHP实现直播功能的准确方式
    随着直播行业的发展,越来越多的企业和个人开始尝试直播,希望能够利用直播来拓展自己的业务或增加个人影响力。而PHP作为一种在Web开发领域中广泛应用的编程语言,在实现直播功能上也具有一定的优势。在本文中,将介绍PHP实现直播功能的准确方式。一...
    99+
    2023-05-22
    直播 PHP 实现方式
  • 基于PHP的直播功能如何实现?
    随着互联网的不断发展,直播已经成为了一种非常普及的在线娱乐方式。而在直播背后,PHP作为一种非常流行的服务器端编程语言,也扮演着至关重要的角色。今天我们就来探讨一下,基于PHP的直播功能如何实现。一、什么是直播?首先我们需要理解什么是直播,...
    99+
    2023-05-21
    直播 PHP 实现
  • 高效的PHP直播功能实现流程
    随着互联网的高速发展和普及,直播已经成为了一种非常流行的互动形式。在如今的互联网应用中,PHP也扮演着很重要的角色。PHP是一种使用广泛的Web服务器端脚本语言,可以对HTML文档进行处理。为了实现直播功能,其实最核心的东西是直播流媒体的传...
    99+
    2023-05-24
    PHP流媒体 直播编码 实时传输
  • 详解Vue实现直播功能
    最近公司刚好在做直播,那么今天就记录一下遇到的坑,公司服务器用的亚马逊aws,所以直接看官方的api就可以了,aws官方地址aws直播api 先看下具体的实现后的效果图把 按照网上...
    99+
    2022-11-12
    Vue实现直播 Vue直播功能
  • 完美实现直播功能:PHP开发指南
    随着互联网的不断发展,直播功能已成为各行各业所需的重要特色,不论是电商平台、游戏直播,还是教学培训、音乐演出等,都需要一个稳定、高效的直播功能。而PHP作为一门通用型的脚本语言,无疑是实现直播功能的优秀选择之一。本文将从以下几个方面介绍PH...
    99+
    2023-05-22
    PHP 直播 开发
  • 如何在微信公众号上用PHP实现直播功能
    如何在微信公众号上用PHP实现直播功能随着科技的不断发展和智能手机的普及,直播已经成为了一种流行的社交媒体方式。很多企业和个人也开始在微信公众号上开设直播间,以吸引更多的粉丝和用户关注。本文将介绍如何用PHP实现在微信公众号上的直播功能,并...
    99+
    2023-10-26
    PHP 微信公众号 直播功能
  • vue+webrtc如何实现直播功能
    小编给大家分享一下vue+webrtc如何实现直播功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1.直播效果pc端移动端2.开直播步骤2.1引入腾讯web端(...
    99+
    2023-06-25
  • 怎么实现php在线演示功能
    本文操作环境:Windows7系统、PHP7.1版,DELL G3电脑怎么实现php在线演示功能?Windows下实现php在线预览功能最近用到文档在线预览功能,之前没接触过,一切从零开始,整了一段时间终于实现,现在把方法分享给大家!一、主...
    99+
    2022-03-26
    php
  • 如何使用PHP实现快速的直播功能?
    随着直播行业的不断发展,越来越多的企业开始尝试直播营销。而对于程序员来说,使用PHP实现直播功能是一个不错的选择。本文将介绍如何使用PHP实现快速的直播功能。了解直播的基本原理在开始使用PHP实现直播功能之前,我们首先应该了解直播的基本原理...
    99+
    2023-05-22
    PHP 直播功能 快速实现
  • 如何使用PHP实现完美的直播功能?
    近年来,直播功能已经成为了互联网应用的重要一环,它为用户提供了更加丰富的社交互动方式,也让许多行业拓展了新的业务形态。而 PHP 作为一门常用的 Web 编程语言,对于实现直播功能也有着不少的优点。本文旨在针对 PHP 程序员,介绍如何使用...
    99+
    2023-05-23
    实现方法 直播功能 PHP直播
  • Python怎么实现直播弹幕自动发送功能
    这篇文章主要讲解了“Python怎么实现直播弹幕自动发送功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python怎么实现直播弹幕自动发送功能”吧!前言先打开一个直播间按F12打开开发者...
    99+
    2023-06-29
  • 实用的PHP直播功能开发经验
    随着互联网技术的不断发展和普及,直播越来越成为人们获取信息、分享知识、展示才华的重要方式。而PHP作为一门广泛应用于Web开发的编程语言,也有着不少直播应用开发实践的经验。本文将结合实际开发案例,分享一些PHP开发直播功能的经验和技巧。一、...
    99+
    2023-05-24
    直播 PHP 开发经验
  • 如何使用PHP实现多平台的直播功能?
    随着现代互联网的发展,视频直播已成为人们闲暇时间的主要娱乐方式之一。随着移动互联网的普及,直播在手机App中的应用成为了新互联网时代的重要标志之一。PHP作为一种常用的服务端脚本语言,有着广泛的应用。那么,如何使用PHP实现多平台的直播功能...
    99+
    2023-05-24
    直播 PHP 多平台
  • 视频在线点播功能如何实现?
    1. 视频点播需求分析 1.1 需求描述 视频点播需求如下: 1、学生可以在windows浏览器上在线观看视频。 2、播放器具有快进、快退、暂停等基本功能。 1.2 视频点播解决方案 ...
    99+
    2023-09-14
    java python php Powered by 金山文档
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作