Возможность nginx HLS vod для остановки и отслеживания потоков

1027
Dexa

Мне нужно иметь возможность транслировать VOD, но видео будет отслеживаться в минуту, поэтому мне нужно постоянно хранить информацию о том, сколько минут у пользователя, и когда он тратит минуты, мне нужно прервать его поток.

Я реализовал это в Wowza, теперь я пытаюсь найти способ сделать это в nginx. Самая большая проблема в том, что я не знаю, отправляет ли nginx информацию о запрошенном фрагменте видео в мой PHP (или любой другой скрипт), где я могу решить, разрешить или нет текущий запрос.

если кто-то может сказать мне, возможно ли вообще, и если да, то указать мне правильное направление.

1

1 ответ на вопрос

0
h0tw1r3

Можно настроить потоковую передачу HLS с возможностью vod, используя nginx-rtmp-модуль с открытым исходным кодом .

Модуль Rtmp имеет крючки для уведомлений .

Например:

on_play

Устанавливает обратный вызов воспроизведения HTTP. Каждый раз, когда клиент выдает команду воспроизведения, HTTP-запрос выдается асинхронно, и обработка команды приостанавливается до тех пор, пока он не вернет код результата. HTTP код результата затем анализируется.

  • Код HTTP 2xx продолжает сеанс RTMP
  • HTTP 3xx перенаправляет RTMP в другой поток, имя которого взято из заголовка ответа HTTP Location. Если новое имя потока запускается с помощью rtmp: //, вместо этого создается удаленное реле. Ретрансляторы требуют, чтобы вместо имени домена был указан IP-адрес, и они работают только с версиями nginx больше 1.3.10. Смотрите также notify_relay_redirect.
  • В противном случае соединение RTMP обрывается

У Nginx также есть коммерческое предложение . Последнее, что я слышал, это было $ 1500 / год за место. По этой цене он должен делать то, что вам нужно, но я не знаком с этим.