Потоковое сохраненное видео HLS с использованием Nginx или Node - PullRequest
0 голосов
/ 01 мая 2018

Мы должны передавать потоковые сохраненные файлы HLS (.m3u8, а не живые) клиентам на локальном сервере. Несколько клиентов запрашивают несколько видео одновременно, и сохраненные сегменты m3u8 должны обслуживаться с сервера.

Я вижу две альтернативы

1) Потоковая передача с помощью nginx Live 2) Использование Nodejs или приложения Python для потоковой передачи видео клиентам.

Я запутался с nginx и отдельным сервером приложений. Nginx также поддерживает потоковую передачу без сервера приложений. Может ли nginx работать для потоковой передачи нескольких сохраненных видео для нескольких клиентов или только для прямой трансляции?

Учебник Nginx :: https://docs.peer5.com/guides/setting-up-hls-live-streaming-server-using-nginx/

Приложение Nodejs: HLS-сервер для обслуживания сохраненных файлов m3u8 https://github.com/RationalCoding/hls-server

Я попробовал nodeApp и он работал нормально и хотел использовать для этого обратный прокси-сервер nginx. Но я нахожу потоковое с использованием nginx. Так что для моего приложения я должен пойти с потоковым приложением узла или потоковой передачи Nginx? этот nginx динамически поддерживает несколько потоков одновременно?

Любые предложения или документы полезны.

Ответы [ 2 ]

0 голосов
/ 04 мая 2018

Да, мы можем использовать любой HTTP-сервер для обслуживания статических файлов. Если вы хотите написать некоторую логику, то должны использовать сервер приложений. NGINX сервер Conf для статического обслуживания HLS.

server {
    listen       8001;
    server_name  localhost;

    location /gcf-media {
        # Disable cache
        add_header 'Cache-Control' 'no-cache';

        # CORS setup
        add_header 'Access-Control-Allow-Origin' '*' always;
        add_header 'Access-Control-Expose-Headers' 'Content-Length';

        # allow CORS preflight requests
        if ($request_method = 'OPTIONS') {
            add_header 'Access-Control-Allow-Origin' '*';
            add_header 'Access-Control-Max-Age' 1728000;
            add_header 'Content-Type' 'text/plain charset=UTF-8';
            add_header 'Content-Length' 0;
            return 204;
        }

        types {
            application/dash+xml mpd;
            application/vnd.apple.mpegurl m3u8;
            video/mp2t ts;
        }

        root /Users/tarun/Desktop/labVideo;
    }

Теперь попробуй localhost: 8081 / gcf-media / 1 / 1.m3u8 в VLC или любом клиентском приложении

0 голосов
/ 01 мая 2018

Если он не работает, то любой веб-сервер будет работать, так как это просто набор небольших файлов. Для этого вам не нужна специальная потоковая поддержка.

HLS для видео по запросу может обслуживаться с любого простого веб-сервера. Будь то nginx, Apache, IIS или какой-нибудь самодельный сервер узлов.

...