Ich bin ein Neuling im Video-Streaming und ich baue nur eine Beispiel-Website, die Videos spielt. Hier gebe ich einfach den Speicherort der Videodatei an den Video-Tag in HTML5. Ich habe gerade bemerkt, dass in YouTube das Video-Tag die Blob-URL enthält und einen Blick darauf geworfen hat. Ich habe festgestellt, dass die Videodaten in Segmente fallen und auf einen Begriff namens Pseudo-Streaming stoßen. Während es scheint, dass die Website, die ich baue, die ganze Datei herunterlädt und das Video abspielt. Ich versuche nicht live zu streamen, versuche nur lokale Videos zu streamen. Ich dachte, die Art und Weise, wie Videodaten in Segmenten empfangen werden, wird von einem Video-Streaming-Server übernommen. Ich stieß auf den Open-Source-Streaming-Server RED5, aber die meisten der Beispiele, die ich gebe, sind für Live-Streaming, an dem ich nicht experimentiere. Es sind einige Tage vergangen und ich bin mir nicht sicher, ob ich auf dem richtigen Weg bin.Wie erstelle ich einen einfachen Video-Streaming-Server?
Antwort
Der segmentierte Ansatz, auf den Sie sich beziehen, ist die Unterstützung von Adaptive Bit Rate Streaming - ABR.
ABR ermöglicht dem Clientgerät oder Player das Herunterladen des Videos in Chunks, z. B. 10 Sekunden Chunks, und Auswählen des nächsten Chunks mit der für die aktuellen Netzwerkbedingungen am besten geeigneten Bitrate. Sehen Sie hier für ein Beispiel:
Für Ihre bestehende Website, solange der Server-Bereichsanforderungen unterstützt, dann sind Sie wahrscheinlich nicht wirklich das ganze Video herunterladen. Bei Bereichsanforderungen fordert der Browser oder Player jeweils nur einen Teil der Datei an, damit die Wiedergabe gestartet werden kann, bevor die gesamte Datei heruntergeladen wird.
Für MP4-Dateien, beachten Sie, dass Sie müssen die Header-Informationen, die in einem "Block" oder "Atom" genannt MOOV Atom, am Anfang der Datei und nicht das Ende - es ist am Ende für normale MP4-Dateien. Es gibt eine Reihe von Tools, die Sie zum Start bewegen können - zB:
Sie sind definitiv auf dem richtigen Weg mit Ihren Untersuchungen - Video-Hosting und Streaming ist ein Spezialgebiet Daher ist es im Allgemeinen leichter, vorhandene Streaming-Technologien und -Dienste zu nutzen, als sie selbst zu erstellen. Einige gute Plätze zu suchen um ein Gefühl für Open-Source-Lösungen zu erhalten:
- 1. Wie erstelle ich einen einfachen CPU-Benchmark?
- 2. Wie erstelle ich einen einfachen benutzerdefinierten Shortcode in Wordpress?
- 3. Wie erstelle ich einen einfachen Baum mit rpart?
- 4. Wie erstelle ich einen einfachen "Build" in Angular SPA
- 5. Wie erstelle ich einen einfachen Timer um jede Sekunde einen Spaß mit setInterval auszuführen?
- 6. Wie erstelle ich einen eigenen PEAR Channel?
- 7. Wie erstelle ich einen Thread?
- 8. Wie erstelle ich einen Metagrammar?
- 9. Wie erstelle ich einen Server
- 10. Wie erstelle ich einen Timer
- 11. Wie erstelle ich einen Webhook?
- 12. Wie erstelle ich einen Zeitplaner?
- 13. Wie erstelle ich einen Cookie?
- 14. Wie erstelle ich einen Lohnrechner?
- 15. Wie erstelle ich einen NSManagedObjectContext
- 16. Wie erstelle ich einen Timer in WPF?
- 17. In postgresql: Wie erstelle ich einen einfachen Zähler, den ich zurücksetzen kann?
- 18. Wie erstelle ich eine Webschnittstelle zu einem einfachen Python-Skript?
- 19. Wie schreibe ich einen einfachen Silverlight Komponententest?
- 20. Wie programmiere ich einen einfachen Musik-Player?
- 21. Wie schreibe ich einen einfachen SSH-Client?
- 22. Wie schreibe ich einen einfachen Interpreter Wrapper?
- 23. Wie starte ich einen einfachen Container?
- 24. Wie schreibe ich einen einfachen USB-Treiber?
- 25. Wie erstelle ich korrekt einen Zend Feed?
- 26. Wie erstelle ich einen einfachen UIViewController in Swift und setze ihn als Startansicht
- 27. Wie erstelle ich einen benutzerdefinierten Kalebassenschritt, um einen Befehl auszuführen?
- 28. Wie erstelle ich einen JDBC-Verbindungspool?
- 29. Wie erstelle ich einen Snapshot in Nest?
- 30. Wie erstelle ich einen neuen Desktop? C++