Cara menggunakan PHP dan API Awan Youpai untuk melaksanakan fungsi video langsung
Kini, dengan perkembangan berterusan dan mempopularkan teknologi rangkaian, video langsung telah menjadi salah satu cara penting untuk orang ramai mendapatkan maklumat dan hiburan. Sebagai bahasa skrip yang digunakan secara meluas dalam pembangunan web, PHP, digabungkan dengan API Youpaiyun, boleh membantu kami melaksanakan fungsi penstriman video langsung dengan mudah.
Youpaiyun ialah penyedia perkhidmatan storan awan dan rangkaian pengedaran kandungan (CDN) terkenal yang menyediakan fungsi dan API berkaitan untuk siaran langsung video Perkhidmatannya stabil dan boleh dipercayai serta sokongan teknikalnya lengkap, menjadikannya sangat sesuai untuk membina a platform siaran langsung video.
Artikel ini akan memperkenalkan cara menggunakan PHP dan API Awan Youpai untuk melaksanakan fungsi siaran langsung video, termasuk mencipta saluran, menjana alamat tolak, menolak dan memainkan video, dsb. Berikut ialah langkah dan contoh kod khusus:
Buat Saluran
Pada platform siaran langsung, kami perlu membuat saluran terlebih dahulu untuk mengehoskan strim video langsung. Pembuatan saluran boleh diselesaikan dengan menghubungi API Youpaiyun.
<?php $apiUrl = 'https://api.upyun.com/'; $apiKey = 'YOUR_API_KEY'; $apiSecret = 'YOUR_API_SECRET'; // 请求参数 $params = [ 'service' => 'live', 'type' => 'push', 'app' => 'live', 'name' => 'channel_name' ]; // 生成签名 $sign = md5(json_encode($params) . $apiSecret); // 发送请求 $response = file_get_contents($apiUrl . 'create/channels?' . http_build_query($params) . '&sign=' . $sign); // 显示返回结果 echo $response; ?>
Dalam kod di atas, anda perlu menggantikan YOUR_API_KEY
dan YOUR_API_SECRET
dengan kunci API anda sendiri. Kemudian ubah suai channel_name
mengikut keperluan kepada nama saluran yang anda ingin buat. YOUR_API_KEY
和YOUR_API_SECRET
替换为你自己的API密钥。然后根据需要修改channel_name
为你想要创建的频道名称。
生成推流地址
在频道创建成功后,我们需要生成一个推流地址,用于将视频流推送到又拍云的服务器。同样,我们可以通过调用又拍云的API来实现。
<?php $apiUrl = 'https://api.upyun.com/'; $apiKey = 'YOUR_API_KEY'; $apiSecret = 'YOUR_API_SECRET'; // 请求参数 $params = [ 'service' => 'live', 'type' => 'push', 'app' => 'live', 'name' => 'channel_name', 'expire' => time() + 3600, // 过期时间设定为1小时后 'nonce' => uniqid() // 随机字符串,用于防止重放攻击 ]; // 生成签名 $sign = md5(json_encode($params) . $apiSecret); // 发送请求 $response = file_get_contents($apiUrl . 'get/streamUrls?' . http_build_query($params) . '&sign=' . $sign); // 解析返回结果 $result = json_decode($response, true); // 显示推流地址 echo $result['data']['rtmp']; ?>
同样需要将YOUR_API_KEY
和YOUR_API_SECRET
替换为你自己的API密钥。修改channel_name
为你之前创建的频道名称。
推流和播放视频
获取到推流地址后,我们就可以使用任意视频推流工具进行推流,比如OBS等。播放视频则可以使用HTML5的<video>
标签进行播放。
<?php $rtmpUrl = 'YOUR_RTMP_URL'; // 替换为你自己的推流地址 ?> <!-- 推流 --> <object width="640" height="480"> <param name="movie" value="player.swf"/> <param name="allowFullScreen" value="true"/> <param name="flashvars" value="rtmp_url=<?php echo $rtmpUrl; ?>"/> <object type="application/x-shockwave-flash" data="player.swf" width="640" height="480"> <param name="allowFullScreen" value="true"/> <param name="flashvars" value="rtmp_url=<?php echo $rtmpUrl; ?>"/> <div> <h1>视频播放需要启用Flash Player,请点击 <a href="http://www.adobe.com/go/getflashplayer">这里</a>下载最新版本。</h1> </div> </object> </object> <!-- 播放 --> <video width="640" height="480" controls> <source src="<?php echo $rtmpUrl; ?>" type="video/rtmp"> 您的浏览器不支持HTML5 video标签。 </video>
将YOUR_RTMP_URL
Selepas saluran berjaya dibuat, kita perlu menjana alamat tolak untuk menolak strim video ke pelayan Youpaiyun. Begitu juga, kita boleh mencapai ini dengan memanggil API Youpaiyun.
rrreee🎜Juga perlu menggantikanYOUR_API_KEY
dan YOUR_API_SECRET
dengan kunci API anda sendiri. Tukar channel_name
kepada nama saluran yang anda buat sebelum ini. 🎜🎜🎜🎜Tolak dan mainkan video🎜Selepas mendapatkan alamat tolak, kita boleh menggunakan mana-mana alat tolak video untuk menolak, seperti OBS, dsb. Untuk memainkan video, anda boleh menggunakan teg HTML5 <video>
. 🎜rrreee🎜Ganti YOUR_RTMP_URL
dengan alamat push yang anda perolehi sebelum ini. 🎜🎜🎜🎜Melalui langkah di atas, kami telah berjaya melaksanakan fungsi siaran langsung video menggunakan PHP dan API Awan Youpai. Sudah tentu, ini hanyalah contoh mudah dan anda boleh melanjutkan dan menambah baik kod mengikut keperluan anda. Saya harap artikel ini akan membantu kerja pembangunan anda! 🎜Atas ialah kandungan terperinci Cara menggunakan PHP dan API Awan Youpai untuk melaksanakan penstriman video secara langsung. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!