Open video stream on VLC Player through the browser

user516242 picture user516242 · Nov 15, 2011 · Viewed 81.9k times · Source

Is it possible to add a type of link on a webpage that will open up VLC Player and start playing a stream video? Like this one:

Alternatively, is it possible to embed VLC Player in the browser?

Answer

bcmoney picture bcmoney · Nov 15, 2011

UPDATE: 2018-09-25 Most of this response only applies to older browsers, so updating some sections.

It was possible on older browsers, but required a client-side browser plugin depending on your Browser and OS versions, see: https://web.archive.org/web/20150212035837/http://www.videolan.org/doc/play-howto/en/ch04.html

Here's an excerpt showing how to embed and fallback to download or click to stream:

<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>

The VLC player plugin exposes a useful JavaScript API accessed either by name or ID:

<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>

The MIME-type application/x-vlc-plugin is used to activate the VLC plugin (when it is available). You should provide some form of fallback, such as a regular link.

As for linking to VLC-supported protocols, it will depend on the user's device and/or OS settings, particularly which application they've selected as the default Media player for a given protocol. But an example could be:

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

OR:

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

You could include "help" instructions on how to set VLC as your default player, or, alternatively you would require some software of your own to be installed on the client-side to ensure that VLC is the application that gets opened, not something else. VLC can easily be run by command-line (specified at the top of the page in that VLC Chapter 4 link).

Note that with HTML5 support getting more and more ubiquitous you might want to consider using HTML5 <video> tag and encoding in a supported profile of Ogg, MP4 or WebM.

UPDATE: 2018-09-25 The above notice is now more important to take into consideration than ever. Stick to HTML5 & open standards. The above just won't work anymore, unless VLC team brings the plugin back from the dead by developing a version that works with WebExtensions standard. For personal use, you could still use an old browser on your local network if you had built something in particular for your own video streaming using that, but would not suggest you build anything for regular web users/visitors this way.