web-dev-qa-db-ja.com

ブラウザを介してVLCプレーヤーでビデオストリームを開く

VLCプレーヤーを開き、ストリームビデオの再生を開始するタイプのリンクをWebページに追加することは可能ですか?このように:

または、ブラウザにVLCプレーヤーを埋め込むことはできますか?

17
user516242

UPDATE:2018-09-25この応答のほとんどは古いブラウザにのみ適用されるため、一部のセクションを更新しています。

古いブラウザでも可能ですが、ブラウザとOSのバージョンに応じてクライアント側のブラウザプラグインが必要でした。以下を参照してください。 https://web.archive.org/web/20150212035837/http://www.videolan .org/doc/play-howto/en/ch04.html

以下は、埋め込みまたはフォールバックしてダウンロードするか、クリックしてストリーミングする方法を示す抜粋です。

<object type="application/x-vlc-plugin" data="http://server.example.com/video1.mpeg" width="400" height="300" id="video1">
     <param name="movie" value="http://server.example.com/video1.mpeg"/>
     <embed type="application/x-vlc-plugin" name="video1"
     autoplay="no" loop="no" width="400" height="300"
     target="http://server.example.com/video1.mpeg" />
     <a href="http://server.example.com/video1.mpeg">Download Video1</a>
</object>

VLCプレーヤープラグインは、名前またはIDでアクセスされる便利なJavaScript APIを公開します。

<a href="javascript:;" onclick='document.video1.play()'>Play video1</a>
<a href="javascript:;" onclick='document.getElementById('video1').pause()'>Pause video1</a>
<a href="javascript:;" onclick='document.video1.stop()'>Stop video1</a>
<a href="javascript:;" onclick='document.video1.fullscreen()'>Fullscreen</a>

MIMEタイプapplication/x-vlc-pluginは、VLCプラグインをアクティブにするために使用されます(使用可能な場合)。通常のリンクなど、何らかの形式のフォールバックを提供する必要があります。

VLCがサポートするプロトコルへのリンクに関しては、ユーザーのデバイスやOSの設定、特に特定のプロトコルのデフォルトのメディアプレーヤーとして選択したアプリケーションに依存します。しかし、例は次のとおりです。

http://www.example.com/your_file.mpg

または:

rtsp://www.example.com/your_file.3gp

VLCをデフォルトのプレーヤーとして設定する方法に関する「ヘルプ」指示を含めることができます。または、VLCが他の何かではなく開かれるアプリケーションであることを確認するために、クライアント側に独自のソフトウェアをインストールする必要があります。 VLCは、コマンドライン(そのVLC第4章リンクのページ上部で指定)で簡単に実行できます。

HTML5のサポートがますます普及しているので、Ogg、MP4、またはWebMのサポートされているプロファイルでHTML5 <video>タグとエンコードを使用することを検討してください。

UPDATE:2018-09-25上記の通知は、今まで以上に重要になりました。 HTML5とオープンスタンダードに固執します。 VLCチームがWebExtensions標準で動作するバージョンを開発してプラグインを死から取り戻さない限り、上記はもはや機能しません。個人使用の場合、それを使用して独自のビデオストリーミング用に特別に何かを構築した場合でも、ローカルネットワークで古いブラウザを使用できますが、この方法で通常のWebユーザー/訪問者に何かを構築することはお勧めしません。

13
bcmoney

Windows、Mac、Linuxでvlc://リンクを開くためのプログラムをいくつか作成しました。 https://github.com/stefansundin/vlc-protocol を参照してください

「vlc://」を削除するには、基本的にプロトコルとVLCの間にプログラムが必要です。VLCはこれらのリンクを認識せず、URLを開く前にこのプレフィックスを削除する必要があるためです。

2
stefansundin

ストリーミングサイトを開いて、ページのソースを表示し、ビデオのURLを見つけることができます(URLを表示するには、ビデオを再生する必要がある場合があります)。次に、このリンクをコピーして「ネットワークストリームを開く...」(Ctrl+N)そしてここに行きます。

このプロセスを自動化して、ストリーミングサイトでURLを見つけ、カスタムプロトコルを使用してVLCでURLを開く小さなスクリプトを作成しました。ページ内の動画のURLを見つけてvlcs:URL;にリダイレクトする非常にシンプルなJSスクリプトです。カスタムプロトコルは、文字列からvlcs:を削除し、結果のURLをVLCに送信する別のスクリプトを開きます。これはすべて、ストリーミングサイトを開くだけです。

一部のストリーミングサイトで機能しますが、他のサイトでもスクリプトをアップグレードします。コードを読んで、お気に入りのストリーミングサイトを追加するか、新しいサイトのプルリクエストを送信してください。

手順とリンクを次に示します。 https://github.com/giuseppe-dandrea/Stream-to-VLC

それがあなたを助けることを願っています!

1

IOでは、callback-urlを使用してWebページからvlcを開くことができます。

vlc-x-callback://x-callback-url/ACTION?url=...&PARAMETER=...

詳細はこちらをご覧ください: https://wiki.videolan.org/Documentation:IOS/#x-callback-url

In Chrome on Androidインテントでそれを行うことができます:

https://developer.chrome.com/multidevice/Android/intents

リンクからバーコードリーダーを開く例を次に示します。

href="intent://scan/#Intent;scheme=zxing;package=com.google.zxing.client.Android;end"
1
yglodt