Разработан ли простой метод потокового видео в реальном времени с HTTPS-сервера apache2 (raspberry pi)? - PullRequest
0 голосов
/ 11 июля 2019

Я старый даффер, который пытается настроить Raspberry Pi 3 для потокового видео на сайте HTTPS. После большой борьбы с raspbian strech, apache2 и получением сертификата безопасности мне удалось разместить домен HTTPS на малине, но я не могу заставить видео отображаться за пределами моей локальной сети. Я отредактировал страницу индекса в домене, чтобы встроить живое видео, и это показывает прямой эфир, когда я загружаюсь в Chrome с ПК с Windows в локальной сети, но хотя страница загружается извне локальной сети, видео не отображается. Веб-адрес https://rydepier.com Странно то, что видеопоток доступен через порт 8081 на моем WAN IP для всех желающих. Разве нет простого способа вставить это на страницу HTML5?

Видеопоток поступает с USB-камеры, подключенной к пи через службу 'motion', и (насколько я знаю) кодируется в формате h264 без обертки mp4

Вот код для страницы индекса (очень грязный из новичка в HTML). Видео с тегом mp4 локально хранится в файле HTML на pi

.
<html>

<head>

    <title>Number 4 Homepage </title>

    <style>

        body

        {

            margin: 20px;

            padding: 0px;

        }

        img

        {

            width: 90%;

            <!height: 50%;>

        }

    </style>

</head>

<body>

    <h1>Greetings from Number 4</h1>

    <p>Live view from the Mezanine Deck.</p>



    <img style="-webkit-user-select: none;" src="http://192.168.1.10:8081/">        <h1>Solstice 2019.</h1>

    <video width="640" height="480" controls>

    <source src="vid2.MP4" type="video/mp4">



    Your browser does not support the video tag.

    </video>

</body>

1 Ответ

0 голосов
/ 11 июля 2019

Причина, по которой вы не можете получить доступ к видео извне, заключается в том, что вы используете метод доступа к нему через локальный IP-адрес. Не вдаваясь в подробности, локальные адреса (частные IP-адреса) в диапазоне адресов 192.168.0.0 - 192.168.255.255 будут уникальными в этой сети, но не будут публично доступны для тех, кто в Интернете. Это похоже на то, как мои файлы в каталоге C: \ Users доступны для меня, но мне нужно разместить их где-нибудь на сервере, если я хочу, чтобы они были доступны кому-то другому.

Решение состоит в том, что вам нужно получить доступ с публичного IP. Вместо того, чтобы найти это вручную, вы можете заменить 192.168.1.10:8081 на rydepier.com:8081. DNS преобразует домен в соответствующий публичный IP-адрес, и видео будет транслироваться повсюду.

На самом деле, я знаю это, потому что не могу получить доступ к видеопотоку с частным IP-адресом, но могу получить к нему доступ http://rydepier.com:8081

Заменить

<img style="-webkit-user-select: none;" src="http://192.168.1.10:8081/">        <h1>Solstice 2019.</h1>

С

<img style="-webkit-user-select: none;" src="http://rydepier.com:8081/">        <h1>Solstice 2019.</h1>
...