2016-07-10 15 views
0

Windows 2012サーバマシンにVLCプレーヤーをインストールしました。私は入力された.oggストリームをvlcプレーヤーを使って.mp3に変換したい。私は.oggストリームを生成するWebアプリケーションを持っています。ユーザーが私のWebアプリケーションの変換ボタンをクリックすると、私の入力として.oggストリームを取り、サーバーにインストールされたvlcプレーヤーにWindowsコマンドを実行するjavascriptを実行します。トランコードを開始します。 vlcを使用して.oggを.oggに変換するwindowsコマンドがありますが、これはプログラム的に発生します。ボタンをクリックしてコマンドラインにアクセスし、Windowsコマンドを実行する方法をクリックしますか?Windowsコマンドを使用してJavascriptからVLC Playerを実行

+0

宛先システムはWindowsのみですか? – StanE

+0

@StanEはい。それは窓になります。目的地を心配しないでください。私はトランスコードされたファイルを保存することもあれば保存しないこともあります。私はちょうど私がjavascriptからWindowsのコマンドを実行する方法が必要です。または、WebアプリケーションからWindowsコマンドを実行する別のより良い方法がある場合。 –

答えて

0

クライアントシステムを操作せずにJavaScriptでこれを行うことはできないと私は考えています。すべてのウェブサイトがクライアントシステム上でコマンドを実行できるようになるのは危険です。ブラウザのJavaScriptはサンドボックス内で実行されるため、システムにアクセスしてコマンドを実行することはできません。

しかし、システムを操作する可能性がある場合は、これを行うことができます。少なくともWindowsでは。新しい擬似プロトコルをWindowsレジストリに追加し、VLCプレーヤーにリンクすることができます。 Torrentクライアント、jDownloader、IRCクライアントなどの他のアプリと同じように。そして、あなたが入力したか

vlcurl:your-data-comes-here 

一つの実施例のように、そのようなプロトコルアドレスでポップアップを開くことができ、電子メールの擬似プロトコルは、あなたが今お使いのブラウザで試すことができ、次のとおりです。

mailto:test%40example.com?subject=Hello%20you 

ここに例があります:

注意してください!これにより、クライアントシステムはWebからの攻撃に対して脆弱になる可能性があります。私はそれを例として示しており、私はこの方法を使うことを勧めません。また、これはすべてのブラウザで動作するわけではありません。一部のブラウザはレジストリシステムの設定をまったく処理しません。また、一部のブラウザでは受け入れる必要があるダイアログが表示されます。したがって、機能は限られています。 regファイルの例:

Windows Registry Editor Version 5.00 

[HKEY_CLASSES_ROOT\vlcurl] 
@="VLC player URL" 
"FriendlyTypeName"="VLC player URL" 
"URL Protocol"="" 
"EditFlags"=dword:00000002 

[HKEY_CLASSES_ROOT\vlcurl\DefaultIcon] 
@="C:\\Program Files (x86)\\VideoLAN\\VLC\\vlc.exe,0" 

[HKEY_CLASSES_ROOT\vlcurl\shell] 

[HKEY_CLASSES_ROOT\vlcurl\shell\open] 

[HKEY_CLASSES_ROOT\vlcurl\shell\open\command] 
@="\"C:\\Program Files (x86)\\VideoLAN\\VLC\\vlc.exe\" \"%1\"" 

最後の行を編集する必要があります。次に、上記で書いたURL( "vlcurl:your-data-comes-here")を実行することができます。

別の方法として、ブラウザのサンドボックス(afaik)をバイパスする独自のブラウザプラグイン/アドオンを使用することができます。

関連する問題