Интересно, можно ли определить начальные байты & в запросах диапазона HTTP или позволить браузеру как-то знать, с чего начать, и позволить ему использовать некоторого пользователя определенный размер блока или около того. У меня есть файл в моей базе данных, и он разделен на несколько кусков, каждый кусок - 2 МБ.Как определить HTTP-запрос начала и конца байта (nodejs + mongodb)
например. 20 MB файл => 10 фрагментов
Когда браузер начинает загрузку файла (видеофайла), я изучил Chrome, он сначала проверяет диапазон байтов , и если сервер успешно отвечает «правильными» байтами и 206 заголовками назад, то он посылает другой запрос для конечных байт файла, например 'range=bytes 1900000-'
,
это просто checkes, если ваш сервер отвечает также для частичного ответа
на ServerSide я кодированный мое приложение так, что он будет посылать 2 МБ, если вы попросите его это хорошо :)
Что я хочу, чтобы браузер сделать
range=bytes 0-'
range=bytes 2000000-4000000 bytes'
range=bytes 4000000-6000000 bytes'
Но если вы спросите частичный, который не приспосабливает в 2mb куске он выдаст ошибку. Или он просто не будет воспроизводиться с правой позиции для аудио/видеофайла.
range=bytes 2500000-4000000 bytes'
range=bytes 0-1000000 bytes'
это даст ошибку, потому что я не могу начать, чтобы отправить из части куска. В противном случае я должен нарезать куски и выполнять некоторые операции с буфером. Но я хочу сохранить его в чистоте. Если это возможно, сообщите мне.
Я осуществляю частичную загрузку не только для mp4, но и для других типов файлов, например, аудиофайла, iso-файлов и т. Д. Не знал о значении индекса moov. Но мне любопытно, как он работает с gridfs MongoDB. Драйвер mongodb nodejs также разбивает файл на куски, и когда я хочу получить файл, mp4 отлично работает с потоком, и он доступен для поиска. Они определенно разрезают длину буфера блока, чтобы соответствовать запрошенному диапазону байтов и т. Д. Но я еще не там, спасибо за информацию, хотя – webmaster