Вот моя конфигурация 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
предназначены для установки использования памяти на стороне сервера.
Как предотвратить постоянную загрузку видео в фоновом режиме, когда видео приостановлено, чтобы он не терял пропускную способность клиента и моего сервера?
Мне не кажется, что он зависит от браузера. Я использую тот же браузер Chrome для воспроизведения видеоролика YouTube продолжительностью 1 час, и когда я нажал кнопку паузы, сетевая активность прекратится. Это как-то связано с используемым в браузере игроком? Или это может быть настроено на стороне сервера для такого поведения воспроизведения? – KDX
Это браузер/плеер. Не сервер. Сервер ничего не знает о кнопках видео или потоковой передачи или паузы. Он просто отправляет данные, о которых он просит. Не смотрите на сетевую активность, смотрите сетевые запросы в инструментах браузера dev. – szatmary