+
95
-

swoole如何利用websocket搭建一个实时的摄像头监控?

swoole如何利用websocket搭建一个实时的摄像头监控?

网友回复

+
15
-

原理就是通过canvas实时获取摄像头每一帧数据转换成base64传给websocket服务器进行中转,代码如下:

1、用swool搭建一个websocket服务器来中转视频信号数据

<?php
$server = new swoole_websocket_server("0.0.0.0", 8080);

$server->on('message', function (swoole_websocket_server $server, $frame) {
	foreach($server->connection_list() as $fd) {
		$server->push($fd, $frame->data,true);
	}
});

$server->start();

2、视频信号采集后发布到websocket服务器

<html>

<head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    <title>录制页面</title>
</head>

<body>
    <video autoplay id="sourcevid" style="width:640px;height:480px"></video>
    <canvas id="output" style="display:none"></canvas>



    <script type="text/javascript" charset="utf-8">
        if( document.createElement('canvas').getContext ) {
            var socket = new WebSocket("ws://"+document.domain+":8080"),
            back = document.getElementById('output'),
            backcontext = back.getContext('2d'),
            video = docum...

点击查看剩余70%

我知道答案,我要回答