VLC simple player
Simple module that starts VLC player via command-line together with HTTP interface enabled. It provides a unified API to start playing a file and to get information about current track.
Install
npm install vlc-simple-player --save
(Please note you'll need VLC binary installed in your system, you can download it on official website)
Example usage
var VLC = require('vlc-simple-player')
// start a fullscreen player
var player = new VLC('./path-to-your-movie/test.mp4')
// log current track time every second
player.on('statuschange', (error, status) => {
console.log('current time', status.time)
})
Interface
-
new VLC(path[, options])
– starts a VLC player in fullscreen-
path
– string path to the video file./test.mov
-
options
– object with additional options-
{password: String}
will set a custom password for the HTTP interface (instead of random, which can be accessed byplayer.getPassword()
method, btw) -
{port: Number}
will set a custom port for the HTTP interface (instead of default 8080) -
{arguments: Array}
will replace default command-line arguments (--fullscreen
,--loop
,--no-video-title
)
-
-
-
player.on(eventName, callback)
- registers an event-
eventName
– a string, available options are:-
'error'
– stderr callback with error as an argument -
'statuschange'
– callback that fires every second if the movie is playing
-
-
callback
– a function with error and status object as an arguments
-
-
player.request(path, callback)
- exposed request method to the VLC HTTP interface-
path
– a string, HTTP GET path with response in JSON format. For example:vlc.request('/requests/status.json?command=pl_pause')
– toggles a pause. list of HTTP requests and interface description -
callback
– a function with error and status object as an arguments
-
-
player.process
- exposed spawned process -
player.quit()
– stops the movie and close the player (viaSIGKILL
)
Contribution
Please feel free to submit a pull request for a bug fix or new features