Ich frage mich, ob es möglich ist, den Start & End-Bytes in HTTP-Bereich Anforderungen zu bestimmen oder lassen Sie den Browser irgendwie wissen, wo zu starten und lassen Sie es einige Benutzer verwenden definierte Chunk-Größe oder so. Ich habe eine Datei in meiner Datenbank und es ist in mehrere Chunks aufgeteilt, jeder Chunk ist 2 MB.Wie HTTP-Bereich Anfrage Start-und End-Bytes (Nodejs + Mongodb)
z. 20 MB-Datei => 10 Chunks
Wenn der Browser startet die Datei (Video-Datei) herunterladen, ich habe studiert Chrome, es denden prüft den 'range=bytes 0-'
Byte-Bereich, und wenn der Server antwortet erfolgreich mit dem ‚richtigen‘ Bytes und 206 Header zurück, dann sendet es eine weitere Anforderung für das End-Bytes der Datei zB 'range=bytes 1900000-'
,
es ist einfach checkes, wenn Ihr Server
Auf dem Serverside gut für die Teilantwort antwortet ich meine App codiert habe, so dass sie schicken 2 MB Teiltöne, wenn Sie es schön dazu fragen :)
Was ich will, der Browser
range=bytes 0-'
range=bytes 2000000-4000000 bytes'
range=bytes 4000000-6000000 bytes'
Aber wenn Sie einen Teil fragen, die in einem 2MB chunk fit tun zu tun, wird es einen Fehler geben. Oder es wird einfach nicht von der richtigen Position für eine Audio/Video-Datei abgespielt.
range=bytes 2500000-4000000 bytes'
range=bytes 0-1000000 bytes'
dies einen Fehler geben, weil ich nicht von einem Teil eines Chunks zu senden beginnen. Ansonsten muss ich meine Chunks in Scheiben schneiden und einige Pufferoperationen durchführen. Aber ich möchte es sauber halten. Wenn dies möglich ist, lass es mich wissen.
Ich implementiere partielle Downloads nicht nur für mp4, sondern auch für andere Dateitypen, zB Audiodateien, ISO-Dateien usw. Ich wusste nichts über die Moov-Index-Sache. Aber ich bin gespannt wie es mit MongoDB Gridfs funktioniert. Der mongodb nodejs-Treiber teilt die Datei auch in Chunks auf und wenn ich die Datei abrufen möchte, beginnt der mp4 perfekt zu streamen und es ist suchbar. Sie schneiden definitiv die Pufferlänge des Stücks ab, um dem angeforderten Bytebereich und so weiter zu entsprechen. Aber ich bin nicht dort noch, Dank für die Info though – webmaster