2015-10-15 6 views
1

Я установил Nginx и сконфигурировал VOD для адаптивной потоковой передачи с использованием модуля nginx-vod. При запросе файла master.m3u8 я получаю те же файлы ts, которые используются для различной пропускной способности сети.Адаптивная потоковая скорость передачи данных не работает в nginx-vod-модуле на сервере NGINX

Файл master.m3u8 имеет следующее содержание:

#EXTM3U 
#EXT-X-STREAM-INF:PROGRAMID=1,BANDWIDTH=1914317,RESOLUTION=1280x544,CODECS="avc1.64001f,mp4a.40.2" 
    http://localhost/content/Input.mp4/index-v1-a1.m3u8 

Конфигурация Nginx является:

location /content { 
     vod hls; 
     vod_mode local; 

     root /usr/share/nginx/html; 

     gzip on; 
     gzip_types application/vnd.apple.mpegurl; 

     expires 100d; 
     add_header Last-Modified "Sun, 19 Nov 2000 08:52:00 GMT"; 
    } 

Как я могу получить адаптивным битрейтом включить с помощью Nginx-ВОД-модуль и что самый лучший способ проверить это?

ответ

1
  1. Вы кодируете несколько версий своего Input.mp4 с различными разрешениями/битрейтами. Соотношение сторон должно быть одинаковым. Например: Input_high.mp4, Input_low.mp4

  2. редактируется список воспроизведения мастер m3u8 и добавить каждый исполнение с конкретным битрейтом и разрешением:

    #EXTM3U 
    #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=...,RESOLUTION=...,CODECS="..." 
    /content/Input_low.mp4.m3u8 
    #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=...,RESOLUTION=...,CODECS="..." 
    /content/Input_high.mp4.m3u8 
    
  3. Когда nginx-vod-module получает запрос на filename.mp4.m3u8 он автоматически сегменты filename.mp4 для HLS и создает для вас плейлист. Например: /content/Input_low.mp4.m3u8 за /content/Input_low.mp4

+0

master m3u8 динамически подается и генерируется. Я не хочу создавать файлы плей-листа и сегментов. Я сохранил только файл mp4. –

+0

@RachitGupta Вы * должны * создавать мастер-список воспроизведения вручную, так же как и тот, который содержит информацию о потоке. Список воспроизведения мультимедиа автоматически создается для каждого файла. И вы должны закодировать свой файл в нескольких вариантах 'mp4'. См .: https://www.nginx.com/wp-content/uploads/2015/06/Serving-Media-with-NGINX-Plus1.pdf – aergistal

+0

Что это значит? «закодируйте свой файл в нескольких вариантах mp4». Нужно ли добавлять несколько mp4 разных качеств? –