H.264 Video-Encoder in Javascript

8

Ich möchte einen Video-Encoder komplett in Javascript erstellen. Die Idee ist, dass der Benutzer in der Lage ist, ein existierendes Video (einfach genug) oder eine Reihe von Bildern anzugeben und dann in der Lage zu sein, es zur Veröffentlichung in H.264 zu kodieren.

Ich verstehe, dass das Codieren von Inhalten momentan nicht unterstützt wird, aber ich habe mich gefragt, ob das etwas ist, das vollständig in Javascript (oder einer Flash-Bridge) möglich ist oder nicht?

Danke.

    
GlGuru 10.06.2013, 13:55
quelle

2 Antworten

3

Es ist möglich, einen Videoencoder mit Javascript unter Verwendung von emscripten zu kompilieren. Hier ist zum Beispiel eine emscripten-kompilierte Version von googles VP9 libvpx-Bibliothek:

Ссылка

Leider ist es unglaublich langsam - in der Größenordnung von einem Zehntel der Geschwindigkeit der nativen Bibliothek. Ich glaube, dies liegt an der Tatsache, dass es viel Speicherzugriff gibt, und das ist in emscripten unglaublich langsam (siehe Ссылка ). Die Codierung basiert im Allgemeinen auf GPU- oder SIMD-Parallelität, die derzeit in JavaScript nicht verfügbar ist.

Ich denke, Video-Kodierung ist derzeit in Javascript gerade nicht machbar. Die beste Lösung wäre, dass W3C HTML5 eine Videokodierungs / Dekodierungs-API hinzufügt, vielleicht als Teil von WebRTC / getUserMedia.

Siehe auch diesen Blogbeitrag, der die Situation beschreibt:

Ссылка

    
CpnCrunch 24.04.2014 01:33
quelle
1

Die Videokodierung ist im Wesentlichen nur eine spezielle mathematische Operation für Binärdaten aus einer Datei, um mehr Binärdaten in eine andere Datei zu übertragen. Vorausgesetzt, Sie haben eine Möglichkeit, die Daten zu erhalten (z. B. HTML 5 FileReader ) und aus (z. B. AJAX ) auf die Art und Weise, wie Sie es brauchen, es ist sicherlich im Bereich der Möglichkeiten für den Teil in die Mitte in JavaScript sein.

    
rakslice 07.08.2013 23:00
quelle