2016-09-11 11 views
0

Вот моя конфигурация Nginx в блоке сервера:Nginx MP4 Псевдо Streaming не будет останавливаться во время паузы

location /mp4/ { 
    mp4; 
    mp4_buffer_size  6M; 
    mp4_max_buffer_size 20M; 
    limit_rate 260k; 
    limit_rate_after 3m; 
} 

У меня есть следующие в блоке Http:

http { 
    sendfile  on; 
    tcp_nopush  on; 
    tcp_nodelay  on; 
    sendfile_max_chunk 512k; 
} 

Я загрузил 1.2 GB test http://example.com/mp4/sample.mp4 непосредственно в браузере Chrome.

Отображается встроенный плеер по умолчанию, и я могу без проблем работать с поиском и скрабом.

Но когда видео приостановлено, остальная часть клипа по-прежнему загружается.

Я заметил это, отслеживая использование полосы пропускания на стороне сервера.

Я читал, что mp4_max_buffer_size и mp4_buffer_size предназначены для установки использования памяти на стороне сервера.

Как предотвратить постоянную загрузку видео в фоновом режиме, когда видео приостановлено, чтобы он не терял пропускную способность клиента и моего сервера?

ответ

0

Сервер просто выполняет запросы. В браузере отображается количество данных, которые он запрашивает.

+0

Мне не кажется, что он зависит от браузера. Я использую тот же браузер Chrome для воспроизведения видеоролика YouTube продолжительностью 1 час, и когда я нажал кнопку паузы, сетевая активность прекратится. Это как-то связано с используемым в браузере игроком? Или это может быть настроено на стороне сервера для такого поведения воспроизведения? – KDX

+0

Это браузер/плеер. Не сервер. Сервер ничего не знает о кнопках видео или потоковой передачи или паузы. Он просто отправляет данные, о которых он просит. Не смотрите на сетевую активность, смотрите сетевые запросы в инструментах браузера dev. – szatmary