flv.js macht drei Dinge:
1. HTML5 unterstützt nativ nur die Wiedergabe von MP4-/WebM-Formaten, flv.js implementiert die Wiedergabe von Videos im FLV-Format auf HTML5.
2 Sorgen Sie für einen reibungslosen Übergang der Bilibili-Webseite zum HTML5-Player. Das historische Erbe stellt kein Hindernis mehr dar.
3. Für die Video-Live-Übertragung unterstützt HTML5 die HTTP-FLV-Wiedergabe mit extrem geringer Latenz, wodurch die Abhängigkeit der Web-Live-Übertragung von Flash entfällt.
Einige Leute fragten mich, warum ich das MP4-Format nicht direkt verwende, und äußerten ihre Abneigung dagegen Das FLV-Format.
Einerseits ist dieses Problem ein Erbe der Geschichte Nachdem Sie das FLV/MP4-Verpackungsformat sorgfältig studiert haben, werden Sie feststellen, dass das FLV-Format sehr einfach ist. Die internen Boxen von MP4 sind unterschiedlich, die Struktur ist komplex und solide und es gibt zu viele redundante Daten. FLV verfügt über inhärente Streaming-Eigenschaften und eignet sich für Netzwerk-Streaming, während MP4, das am weitesten verbreitete Speicherformat, nicht unbedingt ein elegantes Design aufweist.
Ich möchte hier nicht über die Vor- und Nachteile von Multimedia-Kapselungsformaten sprechen. flv.js ist ein gutes Beispiel für die Implementierung einer benutzerdefinierten Videoformatwiedergabe auf HTML5, die vollständige Nutzung neuerer Technologien auf HTML5/Web wie Media Source Extensions
, Fetch API und ECMAScript 6 und das Testen mit diesen APIs: Während der Entwicklung wurde festgestellt, dass es Fehler in der Unterstützung von Edge für die Fetch-API gab. Es wurde festgestellt, dass verschiedene Browser einige Unterschiede und Probleme in den Implementierungsdetails von MSE aufwiesen. Es wurde festgestellt, dass die MSE-Implementierung von Safari weniger robust (komisch) war 🎜> in flv In den frühen Tagen des .js-Projekts waren Media Source Extensions (MSE) in China unbekannt, jedoch hat sich die MSE-API in den letzten vier Jahren weiterentwickelt und ist eine der wichtigsten APIs im Zusammenhang mit HTML5-Multimedia. MSE ist der Schlüssel zur Realisierung der benutzerdefinierten Formatwiedergabe auf HTML5. Die Open Source von flv.js hofft auch, dass MSE umfassender verstanden und angewendet werden kann. Schließlich beschleunigen Browser wie Chrome den Prozess der Eliminierung von Flash. HTML5-Videos wurden von verschiedenen Browserherstellern mit leistungsstarken Erweiterungen für das Medienformat FLV.js implementiert Die HTML5-Multimedia-Technologie hat die Veralterung von Flash überwunden.
Mein Bruder ist großartig ...
Als der h5-Player zum ersten Mal herauskam, vermutete ich, dass Station B Emscripten verwendet, um C++-Programme wie flv2mp4 (es gibt sowieso asm.js) zu kapseln, und übergab es dann an Slice API und dann Stream to Video-Tag... Schließlich habe ich einen MIDI-Player gebaut (
https://
ACGSounds.com) Wahrscheinlich habe ich so gespielt...und dann war flv.js Open Source...Ich war überrascht! Ich habe tatsächlich natives js verwendet, um die Metadaten, den AAC-Stream und den Videostream direkt zu lesen ... und dann remux (ich wurde von videojs-contrib-hls inspiriert, Emscripten für Dinge wie ffmpeg zu verwenden, um große Nachrichten zu machen ... Das Rudel ist wirklich gruselig …
Dieses flv.js löst ein Problem bei der Verwendung von flv als Videocontainer und der Wiedergabe in einem HTML5-Player. Allerdings. . . Die Nachfrage ist nicht hoch. . . Wenn ich eine vollständige HTML5-Website erstellen möchte, wäre es dann nicht besser, MP4 zu speichern?
Dies wird jedoch durch die Medienquellenerweiterung implementiert, was uns ein gutes positives Beispiel für die Verwendung dieser Schnittstelle liefert.
Die Sache ist eine gute Sache, weist aber große Einschränkungen auf
Andere Websites, die FLV verwenden, werden weiterhin Flash verwenden, um High-End-Werbefunktionen zu implementieren (z. B. Speicher in reines MP4 umwandeln
Diese Drittanbieter mögen uns werden durch Cors blockiert und es ist schwer zu erreichen
(Jemand hat die relevanten Leute vorhin gefragt, warum sie immer noch FLV speichern, Flash wird früher oder später sterben. Die Antwort ist „Es ist nur eine Remux-Sache“, und es kostet nichts viele Ressourcen“...)
Aber es ist nicht völlig unmöglich
Wenn ein Dritter flv.js einführen muss, um FLV von Station B abzuspielen, ist es am einfachsten,
http://
xxx.xxx.xxx.xxx/ws.acgv
ideo.comAdresse kann die Wiedergabe jedes beliebigen Domainnamens unterstützen Meine Seite wird heute Abend versuchen, zu unterstützenIch habe es die ganze Nacht versucht, aber als der Cache sprang, gab es immer noch keine Cors, also habe ich beschlossen, aufzugeben.
Es ist sehr gut, dass Sie dieses Framework verwenden können, um einen HLS-Player zu modifizieren. Damit ist die browserseitige Video-Liveübertragung neben FLASH und WebRTC eine dritte universelle Option. Korrektur: Ich habe den Code von hls.js nicht gesehen, daher gehe ich davon aus, dass er aus C++-Code konvertiert wurde und nicht gewartet oder geändert werden kann. Es gibt Korrekturen in den Kommentaren, Sie können die Kommentare lesen. Darüber hinaus scheint die Infrastruktur für die webseitige Videowiedergabe langsam gewachsen zu sein: http+WebSocket+MSE+MPEG-Dash+Video-Tag+Audio-Tag+WebGL+WebRTC ein Videowiedergabesystem, das nicht schwächer ist als das native Niveau (nicht nativ). Denken Sie vorerst nicht an Online-Bearbeitung und -Mischung, das ist nicht realistisch. Derzeit reicht die interne Reife jedes Moduls nicht aus, sondern die Entwicklung Voraussetzungen für komplexe Web-Video-Anwendungen sind bereits vorhanden.
Für andere Hersteller, die bei der Werbung auf Flash setzen, ist Bilibili ein Hauch frischer Luft. . .
Ich liebe diese beschissene Website. . (゜-゜)つロ
Lassen Sie mich nur eines sagen: Die Fähigkeit, dies zu tun, verdient in der Tat Stolz und Stolz, und der Prozess, dies zu tun, verdient in der Tat Bewunderung.
Erste Reihe Membran Qianqian. @qianqian
Kurzgebratene Schenkel oder ähnliches sind mir egal. Wenn der Shenzhou voll beladen ist, beträgt die Temperatur jedenfalls nur 50-60 Grad. . . Was mich interessiert, ist!
HTML5 kann Dutzende Videos ohne Absturz öffnen!
Wenn Sie mehr als 7 Blitze haben, werden Sie definitiv sterben!
Ein gutes Open-Source-Projekt. Es ist jedoch wahrscheinlicher, dass es sich um eine experimentelle und Backup-Lösung handelt.
Im Wesentlichen hängt dies von der Implementierung von Media Source Extensions ab.
Das bedeutet, dass iOS Safari auf der mobilen Seite grundsätzlich nicht darauf zugreifen kann, wodurch die Möglichkeit, die FLV-Wiedergabe im Browser kurzfristig auf die mobile Seite zu bringen, ausgeschlossen ist.
In Bezug auf die Implementierungsideen ist es näher an hls.js, das darin besteht, die Videoressourcen-Slices selbst abzurufen und sie dann zu verbinden und dem Videoelement zuzuführen.
Abschließend hoffe ich wirklich, dass dieses Projekt noch lange weitergehen kann, denn dies ist eine weitere positive Herausforderung für Flash- und Video-Website-Lösungen, die ich gesehen habe. Außerdem ist es Open Source, Open Source, Open Source!
Das Problem, dass der Computer beim Ansehen von Bilibili auf dem Mac hochgefahren ist, wurde gelöst.
Übrigens, da die großen Video-Websites die Sperrfunktion aktiviert haben, startet der Computer, sobald ich die Sperrfunktion einschalte Denken Sie darüber nach, es ist immer noch das Gewissen von Bilibili, da ich mich oft mit Videos beschäftige und sie durch flv.js ersetzt habe Nun, ich hoffe, es wird besser
Oben sehen Sie, wie Sie die Open Source von Bilibili (bilibili) anzeigen können. Einzelheiten zum HTML5-Player-Kern flv.js finden Sie in anderen verwandten Artikeln zum PHP-Chinesen Website für weitere Informationen!
Verwandte Artikel: