NGINX PLUS + MP4 to HLS (m3u8)

Maxim Dounin mdounin на mdounin.ru
Ср Янв 24 14:09:20 UTC 2018


Hello!

On Wed, Jan 24, 2018 at 08:24:25AM -0500, Rusrich wrote:

> Файловое хранилище содержит mp4 файлы.
> Просмотр видеоконтента осуществляется с помощью html5 плеера версии
> Flowplayer.
> 
> Подскажите, как правильно настроить nginx, чтобы формировался плейлист m3u8
> для каждого mp4 файла.
> 
> Файлы находятся в директории site.ru/tv/media/
> Ссылка на видеофайл site.ru/tv/media/example.mp4
> 
> Исходя из источника http://nginx.org/ru/docs/http/ngx_http_hls_module.html
> прописываю это:
> 
> location ~ ^/tv/media/.+\.mp4$ {
> hls;
> hls_fragment 5s;
> hls_buffers 10 10m;
> hls_mp4_buffer_size 1m;
> hls_mp4_max_buffer_size 5m;
> root /var/www/;
> }
> 
> По инструкции из источника при включенном HLS плейлист m3u8 формируется там
> же по ссылке site.ru/tv/media/example.mp4.m3u8.
> 
> Однако плеер такую ссылку не видит.

У вас в location регулярное выражение, и написано ".mp4$", то есть 
запрос к /tv/media/example.mp4.m3u8 в этот location не попадёт.

Чтобы работало, проще всего - сделать префиксный location:

    location /tv/media/ {
        ...
    }

Либо же переписать регулярное выражение, чтобы в location попадали 
запросы к *.mp4.m3u8 и *.mp4.ts.

(Отмечу в скобках, что вопросы про NGINX Plus лучше задавать в 
техподдержку, plus-support at nginx.com.)

-- 
Maxim Dounin
http://mdounin.ru/


Подробная информация о списке рассылки nginx-ru