Electron(つまり、Node.jsとChromeブラウザシェルが一緒に詰め込まれた)をベースにしたデスクトップアプリケーションで作業しています。その機能の1つに、ローカルファイルシステムからの任意のビデオファイルの読み込みが含まれます。JavaScriptでビデオのコーデックを検出する
私が直面している課題は、任意のビデオファイルで使用されているコーデックがわからないことです。ファイル拡張子(つまり.mp4
、.webm
など)でフィルタリングできますが、MP4ファイルではファイル拡張子からはっきりしない多数のコーデックを使用できます。 HTML5ビデオプレーヤーが空になるまでビデオファイルがサポートされていないことは本当にわかりません(そして、これがのときに、プログラムでどのように検出するかわからなくても)。
私はすでにloadedmetadata
イベントハンドラを使用してビデオのサイズを検出していますが、基礎となるコーデックに関する情報は公開されていないようです。
これを回避する手段はありますか?私は、ブラウザのレベルでそれを検出しようとするのではなく、Chromeのレンダラープロセスにネイティブ "メイン"プロセスのコーデックを識別できるNode.jsパッケージを探しています。しかし、私が見ているNode.jsビデオパッケージはすべて、ffmpeg
実行ファイルに依存しています。これは私のElectronアプリと簡単にバンドルできません。
ブラウザがサポートするコーデックを検出するための100万のコードサンプルがあります。しかし、それはあなたが既知のビデオファイルと未知のブラウザを扱っているという前提から来ています。逆の場合は...既知のブラウザが保証されているが、未知のビデオファイルがある場合はどうなりますか?
"私は電子アプリと簡単に同梱できません" - https://www.npmjs.com/package/ffbinariesを使用して、ユーザーのプラットフォームに一致するバイナリをダウンロードできます。だから、何も束縛する必要はありません。 – Michael