Назад | Перейти на главную страницу

Как включить передачу видеопотока в плейлист HLS (.m3u8), загруженный на Apache2?

Я не понимаю, как настроить сервер Apache2 для сохранения входящего видеопотока HLS в плейлисте (файл .m3u8 расширение). Эта проблема возникает, когда мне нужно записать в список воспроизведения любой поток HLS, который создается этим кодом Python (мне нужно создать тихое простое приложение для видеонаблюдения, выбранная среда - Flask):

import ffmpeg_streaming
from ffmpeg_streaming import Formats, Bitrate, Representation, Size

import sys

def monitor(ffmpeg, duration, time_):
    per = round(time_ / duration * 100)
    sys.stdout.write("\rTranscoding...(%s%%) [%s%s]" % (per, '#' * per, '-' * (100 - per)))
    sys.stdout.flush()

video = ffmpeg_streaming.input('rtsp://freja.hiof.no:1935/rtplive/_definst_/hessdalen03.stream')

_360p = Representation(Size(640, 360), Bitrate(276 * 1024, 128 * 1024))
_480p = Representation(Size(854, 480), Bitrate(750 * 1024, 192 * 1024))
_720p = Representation(Size(1280, 720), Bitrate(2048 * 1024, 320 * 1024))

hls_stream = video.hls(Formats.h264(), hls_list_size = 10, hls_time = 60)
hls_stream.representations(_480p)
hls_stream.output('http://100.79.203.22/teststreamer/scandinavia.m3u8')

Вот http://100.79.203.22/teststreamer/scandinavia.m3u8 выглядит как (я считаю, что это правильный путь, IP-адрес - временное временное решение) путь к плейлисту scandinavia.m3u8 Я создал себя внутри корневого каталога Apache2 (в моем случае это /var/www/html). Итак, плейлист просто вложен в teststreamer который принадлежит корневому каталогу. Есть разделы файла конфигурации Apache2, которые имеют значение для настройки хранилища файлов:

<Directory />
        Options FollowSymLinks
        AllowOverride None
        Require all denied
</Directory>

<Directory /usr/share>
        AllowOverride None
        Require all granted
</Directory>

<Directory /var/www/html>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride all
        Order Allow,Deny


<Directory /var/www/html>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride all
        Order Allow,Deny
        Allow from all
        Header set Access-Control-Allow-Origin "*"
        Require all granted
</Directory>

Остальные строки содержат те же настройки, которые были частью конфигурации с момента окончания установки сервера (моя ОС - Ubuntu 18.04). Итак, я работаю с некоторыми интерфейсами, поэтому конфигурации включают определенные функции только для включения операций CORS. Существенным здесь является факт неожиданного сбоя при запуске программы Python: выходной поток не достигает списка воспроизведения на сервере Apache, скорее, он потрясающим образом сохраняется в папке проекта Python. http подкаталог появляется сначала внутри этой папки, затем http становится родительским каталогом для 100.79.203.22 (да, это имя еще одной странной папки, появившейся в результате выполнения программы), то 100.79.203.22 становится родителем для teststreamer, Ну наконец то scandinavia.m3u8 занимает емкость внутри teststreamer.
Честно говоря, я полагаю, что есть какие-то неправильные или отсутствующие настройки на основе файла конфигурации Apache. Конечно, я разрешил записывать внешние данные в плейлист, а также весь корневой каталог сервера. Но любой поток не попадает в пункт назначения, почему на самом деле? Бьюсь довольно долго, идей как правильно поставить стрим на сервер нет.