Есть ли функция для потоковой передачи моей PiCamera на веб-сервере - PullRequest
0 голосов
/ 08 ноября 2019

Есть ли разумное решение для потоковой передачи живого видео с моей PiCamera на сервер apache2. Я хочу, чтобы я мог активировать поток с помощью кнопки на сервере и отключить его таким же образом. Однако я искал много решений, но не нашел решения, которое относится к моей проблеме. Может, кто-то здесь знает, как это решить. На сервере apache2 я использую HTML, PHP и CSS. Я использую язык PHP для настройки других кнопок с помощью скрипта Python.

Здесь вы можете увидеть мой код PHP, который я использую для активации скрипта:

<html>
<head>
    <form method="post" >
        <input type="submit" value="Schiessen" name="schiessen">
    </form>
<title>MUW</title>
</head>
<body>
    <?php
    if(isset($_POST["schiessen"]))
    {
        $command = escapeshellcmd("/var/www/html/runMotors.py");
        $output = shell_exec($command);
        echo $output;
    }
    ?>
</body>

Вот пример того, как я хочу, чтобы мой сервер выглядел как. Наиболее важным является то, что посередине находится своего рода дисплей, который показывает прямой эфир. Очень важно, что вы все еще можете использовать кнопки, даже если камера включена. Поэтому дисплей камеры должен быть прямоугольником посередине. enter image description here

1 Ответ

0 голосов
/ 13 ноября 2019

Вы также можете использовать колбу . Это веб-фреймворк для Python. например, с домашней страницы фляги, приведенной выше:


from flask import Flask, escape, request

app = Flask(__name__)

@app.route('/')
def hello():
    name = request.args.get("name", "World")
    return f'Hello, {escape(name)}!'

@app.route('/run_motors')
def run_motors():
    # method calls here.
    return

app.run(host='localhost', port=3000)

Ваш код Python будет прослушивать указанный вами порт (по умолчанию 5000 - это фляга), и когда HTTP-запрос приходит к указанномуroute (в этой ситуации это '/ run_motors'), он вызовет другой метод.

...