Ich möchte alle 30 Sekunden in einem ~ 30 Minuten Video nach verschiedenen Punkten suchen. Die Dateigröße beträgt 100 MB. Wenn ich suche, beginnt der Player von diesem Punkt an zu laden oder muss er die gesamte Datei laden und dann die Zeit darin finden?Muss für die Suche nach einem HTML5-Video die gesamte Datei geladen werden?
Antwort
Es hängt vom Browser ab. Wenn wir über einen modernen Browser sprechen, dann werden sie typischerweise eine neue HTTP-Anfrage an den Server senden, die einen Range:
Header enthält, der anzeigt, welcher "Chunk" der Datei, die sie laden wollen, angibt. Dies wäre nur für einen Browser, der http 1.1 oder höher verwendet. Ich denke, wenn der Browser HTML5-Video unterstützt, dann können Sie ziemlich sicher sein, dass sie http 1.1 verwenden werden. Beachten Sie jedoch, dass der Client normalerweise immer etwas laden wird. Also, wenn Sie 5 Sekunden in das Vid suchen, wird es im Wesentlichen beginnen, das ganze Ding wieder zu laden, bis eine andere Suche passiert.
HTTP/1.1 ist nicht das Problem ... alles unterstützt HTTP/1.1. Das Problem ist, ob der Client bestimmen kann, welcher Bereich angefordert werden soll (nicht immer möglich, insbesondere für problematische Formate). Es ist nicht ungewöhnlich für einen Kunden, "Nadel fallen". Er weiß die Gesamtgröße der Datei basierend auf den Anfangsantwort-Headern und sollte wissen, wie lange das Video basierend auf einigen Containerformat-Headern zeitlich ist. Es wird oft raten, wo der Benutzer sucht und versuchen, von dort zu dekodieren. Das Problem ist, dass bei verlustreichen Formaten die Bitraten nicht immer konstant sind, so dass das Timing nicht so genau ist. – Brad
Das andere Problem hier ist, ob der Server Bereichsanforderungen unterstützt oder nicht. Sie können HTTP/1.1 problemlos unterstützen und keine Bereichsanforderungen verarbeiten. In der Tat ist dies sehr häufig, insbesondere wenn Menschen ihren eigenen Code schreiben, um Medien zu bedienen, ohne zu wissen, was sie alles zu handhaben haben. – Brad
Ja, das ist ein guter Punkt. Der Server muss Bereichsheader verarbeiten können, damit beide Seiten den gewünschten Effekt erzielen. Ich nahm an, dass der Kontext ein typischer Webserver wie Lighttpd oder Nginx war, aber wenn es sich um einen benutzerdefinierten Servercode handelt, ist dies definitiv ein Faktor, den man berücksichtigen sollte – Harvtronix
Nein, es beginnt mit dem Laden des angegebenen Zeitstempels, solange der Browser die Dauer des Videos kennt.
- 1. die Suche nach einem .Net ORM
- 2. Schnellste Möglichkeit für die Suche nach einem Attribut in org.w3c.dom.Document
- 3. Cookie für die gesamte Website?
- 4. Was für die Suche nach isolierten Untergruppen
- 5. Suche füllt nicht die gesamte Breite
- 6. Zeit für die Suche nach Verschlüsselungen
- 7. WebView muss zweimal geladen werden, um korrekt geladen zu werden
- 8. Die Ansichtsmatrix muss zweimal geladen werden. Ich weiß nicht, warum
- 9. Muss zweimal für die CSV-Datei gespeichert werden
- 10. Allgemeines Hilfsprogramm für die Suche nach Ausnahmesituationen
- 11. LDAP-Filter für die Suche nach Studenten
- 12. Abfrage für die Suche nach einem MAX-Wert
- 13. Suche nach einem guten semantischen Parser für die russische Sprache
- 14. die Suche nach einem freien, Zeit-Sampling-Profiler für C++
- 15. Auf der Suche nach einem Algorithmus für die Roboternavigation
- 16. Warum muss die Methode, die ich die Zeile in einer Tabelle neu laden muss, nur einmal neu geladen werden?
- 17. MD5 für die gesamte Asset-Pipeline?
- 18. Mit foreach für die Suche nach PHP
- 19. benötigen Kriterien für die Suche nach folgenden
- 20. MySQL COUNT ??? Hilfe für die Suche nach
- 21. Suche nach Strings in einem Textfeld, die in einem DIV
- 22. rails: Die Datenbankkonfiguration konnte nicht geladen werden. Keine solche Datei -
- 23. Muss ich die gesamte Modellklasse in der Hibernate-Konfigurationsdatei registrieren?
- 24. gesetzt Hintergrundfarbe für die Tabelle, wenn die Seite geladen werden
- 25. muss die gesamte Zeile mit Ausnahme der übereinstimmenden Zeichenfolgen
- 26. Assets, die langsam in Entwicklung geladen werden
- 27. zu finden, ohne die gesamte Datei lesen
- 28. die Suche nach Spalte, die nicht
- 29. sql: muss die Einschränkung für die Umbenennungstabelle geändert werden?
- 30. die Suche nach einem String mit seinem entsprechenden Wert (oder etwas anderes) in einem NSDictionary Datei
basierend auf [dieser] (http://blog.grio.com/2012/08/how-to-seek-an-html5-video-at-a-specific-time-on-load.html) es scheint, als könntest du, ** wenn ** die Video-Metadaten geladen wurden, also kennt der Browser bereits die Videogröße, so dass er den Server bitten kann, von einer anderen Position zu laden, ** und ** der Server weiß, wie er zu honorieren ist Teildatenübertragungsanforderungen. Der schnellste Weg, um herauszufinden, ist natürlich, versuchen Sie es einfach auf einer Test-URL und sehen, was passiert für Ihre Einrichtung. –