Rumah pembangunan bahagian belakang masalah PHP Bagaimana untuk melaksanakan fungsi siaran langsung dalam talian dalam php

Bagaimana untuk melaksanakan fungsi siaran langsung dalam talian dalam php

Dec 27, 2021 am 11:12 AM

Cara melaksanakan fungsi siaran langsung dalam talian dalam PHP: 1. Cari perkhidmatan awan siaran langsung dalam konsol dan cipta ruang awan siaran langsung 2. Parsing nama domain seperti yang diperlukan 3. Pasang komposer pakej; 4. Laksanakannya melalui kaedah liveStart Hanya siaran langsung.

Bagaimana untuk melaksanakan fungsi siaran langsung dalam talian dalam php

Persekitaran pengendalian artikel ini: sistem Windows 7, PHP versi 7.1, komputer Dell G3.

Bagaimana untuk melaksanakan fungsi siaran langsung dalam talian dalam PHP?

php Qiniu Cloud melaksanakan fungsi siaran langsung:

1: Saya sedang mengusahakan projek penjualan siaran langsung Latar belakang disediakan dan sedia untuk disambungkan ke siaran langsung saya mencari Alibaba, TX dan Qiniu, dan mendapati bahawa siaran langsung Alibaba PHP hanya mempunyai kod dan tiada dokumentasi. Saya telah mendaftar akaun dengan Qiniu, tetapi apabila saya memohon ruang siaran langsung, saya telah disekat oleh nama domain Pemiliknya tersekat Nama domain yang telah didaftarkan perlu didaftarkan dengan keselamatan awam laman web itu semula

https://developer.qiniu.com/af/kb/3987/how-to-make-website-and-inquires-the-police-put-on-record-information?ref=support.qiniu.com
Salin selepas log masuk

Saya mencari sekali lagi dan mendapati jika ia melibatkan perniagaan prestasi dalam talian, anda perlu memohon "Lesen Perniagaan Budaya Internet", sila rujuk kerajaan tempatan Jabatan pentadbiran kebudayaan akan menunggu permohonan selesai sebelum meneruskan ke langkah seterusnya.

Dua: Pendaftaran nama domain akhirnya siap Mari kita mulakan langkah kedua untuk melaksanakan fungsi siaran langsung Anda boleh merujuk kepada Seven pada terminal mudah alih Niuyun SDK, berikut adalah kes penstriman tolak sisi pelayan Kali ini, strim rtmp digunakan untuk melaksanakan siaran langsung perkhidmatan awan dalam konsol dan mencipta awan siaran langsung ruang
Bagaimana untuk melaksanakan fungsi siaran langsung dalam talian dalam php
Selepas ruang siaran langsung dicipta, ia akan dihasilkan Beberapa nama domain peringkat kedua, menghuraikan nama domain mengikut keperluan, dan kemudian ia akan kelihatan seperti berikut
Bagaimana untuk melaksanakan fungsi siaran langsung dalam talian dalam php
Selepas kod dijalankan, anda akan melihat sejarah main balik dan maklumat lain strim langsung yang anda buat dalam strim langsung
Bagaimana untuk melaksanakan fungsi siaran langsung dalam talian dalam php
Pasang pakej komposer

php composer.phar require qiniu/php-sdk
Salin selepas log masuk

Anda boleh menemui dua kes dalam vendor/pili-engineering/pili-sdk-php.v2, satu adalah siaran langsung dan satu lagi adalah gandum berterusan Ya, kali ini siaran langsung akan dilaksanakan terlebih dahulu, dan artikel seterusnya akan dikemas kini dengan Lianmai

<?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;

    /**
     * Create a new controller instance.
     *
     * @return void
     */
    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[&#39;user&#39;]) && !empty($userInfo[&#39;user&#39;])) {
            $request->offsetSet(&#39;user_id&#39;, $userInfo[&#39;user&#39;][&#39;id&#39;]);
        } else {
            return $this->sendResponse($msg, &#39;error&#39;, &#39;&#39;, 401);
        }
        $data = $request->all();
        $broadcast = app(BroadcastRepositoryEloquent::class)->findWhere([&#39;type&#39; => $data[&#39;type&#39;], &#39;user_id&#39; => $data[&#39;user_id&#39;]])->first();
        if (empty($broadcast)) {
            return $this->sendResponse(trans(&#39;admin.operate_failed&#39;) . &#39;未找到直播间&#39;);
        }
        $broadcast[&#39;name&#39;] = $data[&#39;name&#39;];
        //创建hub
        $mac = new Mac($this->accessKey, $this->secretKey);
        $client = new Client($mac);
        $hub = $client->hub($this->hubName);
        //获取stream
        $streamKey = $broadcast[&#39;show_id&#39;];
        $stream = $hub->stream($streamKey);
        $list = $hub->listStreams($streamKey, 1, "");
        //如果没找到对应的直播流创建新直播流
        if (count($list[&#39;keys&#39;]) == 0) {
            //获取stream
            $hub->create($streamKey);
        }
        if ($data[&#39;type&#39;] == 0) {
            $result = $this->updateShop($broadcast, $streamKey, $msg);
            if ($result == false) {
                return $this->sendResponse(trans(&#39;admin.operate_failed&#39;) . $msg);
            }
        } else {
            $result = $this->updateCurriculum($broadcast, $streamKey, $msg);
            if ($result == false) {
                return $this->sendResponse(trans(&#39;admin.operate_failed&#39;) . $msg);
            }
        }
        return $this->sendResponse(trans(&#39;admin.operate_succeeded&#39;), &#39;succ&#39;, [&#39;p_href&#39; => $broadcast[&#39;p_href&#39;]]);
    }

    //更新商城直播间
    public function updateShop($broadcast, $streamKey, &$msg = &#39;&#39;)
    {
        //获取推流地址
        $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([&#39;name&#39; => $broadcast[&#39;name&#39;], &#39;chatroom_status&#39; => 0, &#39;p_href&#39; => $p_href, &#39;g_href&#39; => $g_href, &#39;pic&#39; => $pic])->save();
        if ($u_broadcast == false) {
            return $this->sendResponse(trans(&#39;admin.operate_failed&#39;) . &#39;更新直播间出错&#39;);
        }
        return true;
    }
Salin selepas log masuk

Pembelajaran yang disyorkan: "Tutorial Video PHP"

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan fungsi siaran langsung dalam talian dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

OWASP Top 10 PHP: Huraikan dan mengurangkan kelemahan umum. OWASP Top 10 PHP: Huraikan dan mengurangkan kelemahan umum. Mar 26, 2025 pm 04:13 PM

Artikel ini membincangkan kelemahan OWASP 10 dalam strategi PHP dan mitigasi. Isu -isu utama termasuk suntikan, pengesahan yang rosak, dan XSS, dengan alat yang disyorkan untuk memantau dan mendapatkan aplikasi PHP.

PHP 8 JIT (Just-in-Time) Penyusunan: Bagaimana ia meningkatkan prestasi. PHP 8 JIT (Just-in-Time) Penyusunan: Bagaimana ia meningkatkan prestasi. Mar 25, 2025 am 10:37 AM

Kompilasi JIT Php 8 meningkatkan prestasi dengan menyusun kod yang sering dilaksanakan ke dalam kod mesin, memberi manfaat kepada aplikasi dengan pengiraan berat dan mengurangkan masa pelaksanaan.

PHP Secure File Muat naik: Mencegah kelemahan berkaitan fail. PHP Secure File Muat naik: Mencegah kelemahan berkaitan fail. Mar 26, 2025 pm 04:18 PM

Artikel ini membincangkan mendapatkan muat naik fail PHP untuk mengelakkan kelemahan seperti suntikan kod. Ia memberi tumpuan kepada pengesahan jenis fail, penyimpanan selamat, dan pengendalian ralat untuk meningkatkan keselamatan aplikasi.

Penyulitan PHP: Penyulitan simetri vs asimetrik. Penyulitan PHP: Penyulitan simetri vs asimetrik. Mar 25, 2025 pm 03:12 PM

Artikel ini membincangkan penyulitan simetri dan asimetrik dalam PHP, membandingkan kesesuaian, prestasi, dan perbezaan keselamatan mereka. Penyulitan simetri lebih cepat dan sesuai untuk data pukal, manakala asimetrik digunakan untuk pertukaran utama yang selamat.

Pengesahan PHP & amp; Kebenaran: Pelaksanaan selamat. Pengesahan PHP & amp; Kebenaran: Pelaksanaan selamat. Mar 25, 2025 pm 03:06 PM

Artikel ini membincangkan pelaksanaan pengesahan dan kebenaran yang mantap dalam PHP untuk mencegah akses yang tidak dibenarkan, memperincikan amalan terbaik dan mengesyorkan alat peningkatan keselamatan.

PHP API Kadar Mengehadkan: Strategi Pelaksanaan. PHP API Kadar Mengehadkan: Strategi Pelaksanaan. Mar 26, 2025 pm 04:16 PM

Artikel ini membincangkan strategi untuk melaksanakan kadar API yang mengehadkan PHP, termasuk algoritma seperti baldi token dan baldi bocor, dan menggunakan perpustakaan seperti simfoni/kadar-limiter. Ia juga meliputi pemantauan, had kadar penyesuaian secara dinamik, dan tangan

Pengesahan Input PHP: Amalan Terbaik. Pengesahan Input PHP: Amalan Terbaik. Mar 26, 2025 pm 04:17 PM

Artikel membincangkan amalan terbaik untuk pengesahan input PHP untuk meningkatkan keselamatan, memberi tumpuan kepada teknik seperti menggunakan fungsi terbina dalam, pendekatan putih, dan pengesahan sisi pelayan.

PHP CSRF Perlindungan: Bagaimana untuk mencegah serangan CSRF. PHP CSRF Perlindungan: Bagaimana untuk mencegah serangan CSRF. Mar 25, 2025 pm 03:05 PM

Artikel ini membincangkan strategi untuk mencegah serangan CSRF di PHP, termasuk menggunakan token CSRF, kuki tapak yang sama, dan pengurusan sesi yang betul.

See all articles