Rumah  >  Artikel  >  pembangunan bahagian belakang  >  PHP Memanggil Kamera untuk Sembang Video Langsung: Panduan Langkah Mudah

PHP Memanggil Kamera untuk Sembang Video Langsung: Panduan Langkah Mudah

PHPz
PHPzasal
2023-07-31 16:57:111268semak imbas

PHP memanggil kamera untuk sembang video masa nyata: panduan langkah mudah

Dengan perkembangan rangkaian dan teknologi maklumat, komunikasi video memainkan peranan yang semakin penting dalam kehidupan orang ramai. Dalam aplikasi web, sembang video masa nyata juga telah menjadi keperluan biasa. Artikel ini akan memperkenalkan cara menggunakan PHP untuk memanggil kamera untuk mencapai sembang video masa nyata dan menyediakan panduan langkah mudah kepada pembaca.

Langkah 1: Semak persekitaran dan persediaan
Sebelum bermula, kami mesti memastikan persekitaran pembangunan kami memenuhi keperluan berikut:

  1. Pelayan perlu memasang PHP, versi tidak kurang daripada 5.4
  2. Keperluan pelanggan untuk menyokong teknologi WebRTC, penyemak imbas moden arus perdana (seperti Chrome, Firefox, dll.) telah pun disokong, memastikan pengguna boleh menjalankan aplikasi sembang video masa nyata seperti biasa
  3. Pemacu kamera mesti dipasang dan berfungsi dengan baik.

Langkah 2: Sediakan pelayan

  1. Buat folder bernama "sembang video" dan buat dua subfolder di dalamnya: "klien" dan "pelayan" untuk menyimpan kod pelanggan dan pelayan masing-masing ;
  2. Buat "index.php" " fail dalam folder "pelayan" dan tulis kod sebelah pelayan di dalamnya, seperti ditunjukkan di bawah:
<?php
    // 创建一个WebSocket服务器
    $server = new swoole_websocket_server("0.0.0.0", 9501);

    // 监听WebSocket连接打开事件
    $server->on('open', function (swoole_websocket_server $server, $request) {
        echo "connected
";
    });

    // 监听WebSocket消息事件
    $server->on('message', function (swoole_websocket_server $server, $frame) {
        // 将接收到的消息广播给所有客户端
        foreach ($server->connections as $fd) {
            $server->push($fd, $frame->data);
        }
    });

    // 监听WebSocket连接关闭事件
    $server->on('close', function ($ser, $fd) {
        echo "closed
";
    });

    // 启动WebSocket服务器
    $server->start();
?>

Kod di atas menggunakan sambungan swoole untuk mencipta pelayan WebSocket dan lulus " Acara "terbuka" mendengar pembukaan sambungan acara, acara "mesej" mendengar acara mesej dan acara "tutup" mendengar acara penutup sambungan.

Langkah 3: Tulis kod pelanggan

  1. Buat fail "index.html" dalam folder "klien" dan tulis kod klien di dalamnya, seperti yang ditunjukkan di bawah:
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>视频聊天</title>
    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
    <script>
        // 创建WebSocket连接
        var ws = new WebSocket("ws://localhost:9501");

        // 监听连接打开事件
        ws.onopen = function() {
            console.log("connected");
        };

        // 监听消息事件
        ws.onmessage = function(e) {
            console.log(e.data);
        };

        // 监听连接关闭事件
        ws.onclose = function() {
            console.log("closed");
        };

        // 监听连接错误事件
        ws.onerror = function(e) {
            console.log("error", e);
        };

        // 捕获摄像头画面并发送到服务器
        function capture() {
            var video = document.getElementById('video');
            var canvas = document.createElement('canvas');
            canvas.width = video.videoWidth;
            canvas.height = video.videoHeight;
            var context = canvas.getContext('2d');
            context.drawImage(video, 0, 0, canvas.width, canvas.height);
            var dataURL = canvas.toDataURL('image/jpeg');
            ws.send(dataURL);
            setTimeout(capture, 100);
        }

        // 页面加载完毕后开始捕获摄像头画面
        $(document).ready(function() {
            capture();
        });
    </script>
</head>
<body>
    <video id="video" autoplay></video>
</body>
</html>

Kod di atas mencipta sambungan WebSocket , dan berkomunikasi dengan pelayan melalui pemantauan acara yang berkaitan. Pada masa yang sama, selepas halaman dimuatkan, rakaman kamera ditangkap dalam masa nyata melalui JavaScript dan dihantar ke pelayan.

Langkah 4: Jalankan aplikasi sembang video masa nyata

  1. Masukkan folder "server" dalam terminal dan laksanakan arahan "php index.php" untuk memulakan pelayan WebSocket
  2. Lawati "client/index.html dalam fail penyemak imbas " untuk memulakan sembang video langsung.

Ringkasan:
Artikel ini memperkenalkan panduan langkah demi langkah mudah tentang cara menggunakan PHP untuk memanggil kamera bagi melaksanakan sembang video masa nyata, dan menyediakan contoh kod bahagian pelayan dan pelanggan yang berkaitan. Pembaca boleh mengubah suai dan mengembangkan mengikut keperluan mereka sendiri untuk mencapai fungsi yang lebih kaya. Sembang video masa nyata boleh memberikan pengguna cara yang mudah untuk berkomunikasi dan membawa tahap pengalaman komunikasi yang lebih tinggi kepada pengguna Internet. Semoga artikel ini dapat memberi manfaat kepada pembaca.

Atas ialah kandungan terperinci PHP Memanggil Kamera untuk Sembang Video Langsung: Panduan Langkah Mudah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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