Frage

Ich baue eine Anwendung, mit der authentifizierte Benutzer den Webbrowser verwenden können, um MP3-Audiodateien (von Reden) auf einen Server hochzuladen, um das Audio in einem Netzwerk zu verteilen. Die Audiodateien müssen eine bestimmte Bitrate (32 kbit / selber) verwenden, um eine effiziente Verwendung der Bandbreite und eine genehmigte Abtastrate (22.050 oder 44.100) zu gewährleisten, um die Kompatibilität zu maximieren. Anstatt diese Anforderungen nach dem Upload mithilfe eines serverseitigen Skripts zu bestätigen, hoffte ich, HTML5 FALLERADER zu verwenden, um diese Informationen vor dem Upload zu ermitteln. Wenn der Browser eine ungültige Bitrate und / oder eine Abtastrate erkennt, kann der Benutzer darüber informiert werden, und der Upload-Versuch kann blockiert werden, bis die erforderlichen Änderungen an der Audiodatei vorgenommen werden.

ist das mit HTML5 möglich? Bitte beachten Sie, dass die Frage in Bezug auf HTML5 ist, nicht über den Ansatz meiner Anwendung. Kann HTML5 die Abtastrate und / oder die Bitrate einer MP3-Audiodatei erkennen?

fyi Hinweis: Ich verwende ein FTP-Java-Applet, um den Upload auszuführen. Das Applet ist eingerichtet, um den Benutzer automatisch an eine URL von meiner Wahl nach einem erfolgreichen Upload weiterzuleiten. Dies bringt das schwere Anheben auf den Kunden, anstatt auf dem Server. Es ist auch notwendig, da das endgültige Ziel jeder hochgeladenen Datei unterschiedlich ist. Sie können auf verschiedenen Servern und verschiedenen Domänen sein, die möglicherweise verschiedene Skriptsprachen auf dem Server unterstützen. Jeder Server überschreitet den Speicherplatz den Speicherplatz ansonsten, oder wenn das serverseitige Skript einen FTP-Übertragung hat, wird die Leistung des Servers schnell als einzelner Ausfallpunkt abgebaut. Für meine Anwendung, die hochgeladene Audiodateien auf mehreren Servern und mehreren Domänen speichert, muss die Validierung der Bitrate und der Abtastrate auf der Clientseite erfolgen.

War es hilfreich?

Lösung

Sie können FILEREADER API verwenden und JavaScript-Audio-Codecs erstellt, um diese Informationen aus den Audiodateien zu extrahieren.

Eine Bibliothek, die den Basiscode für reine JS-Codecs bereitstellt, ist aurora.js - dann ist der eigentliche Codec-Code darauf aufgebaut

https://github.com/audiocogs/aurora.js/wiki/ Bekannt - verwendet

Natürlich muss der Browser die FileReader-API unterstützen.

Ich habe nicht von Ihrem Anwendungsfall verstanden, warum Sie Java-Applet oder FTP benötigen.HTTP-Uploads funktionieren gut für mehrere große Dateien, wenn Async Badckend (wie Node.js, Python Twisted) und skalierbarer Speicher (Amazon S3) ordnungsgemäß verwendet wird.Ähnliche Anwendungsfall ändert eingehende Bilder, was eine weitaus anspruchsvollere Anwendung ist als Audiometadaten aus der Datei.Der einzige Vorteil auf der Client-Seite besteht darin, die Anzahl unnötiger Uploads von nicht-technisch-bewussten Benutzern zu reduzieren.

Andere Tipps

In Anbetracht dessen Benutzer kann jeder Benutzer Ihr Skript / Markup ändern, um diese oder sogar erneut zu umgehen, würde ich es nicht einmal in Betracht ziehen.

Wenn jemand Ihr Validierungsskript mit einem Bit von Kenntnissen von HTML / JavaScript ändern kann, verwenden Sie nicht HTML / JavaScript. Es ist einfacher, sicherzustellen, dass es validiert und korrekt überprüft wird, indem Sie ihn auf dem Server bestätigen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top