https://github.com/mguinada/vlc-client
vlc-client allows to control VLC media player over TCP
https://github.com/mguinada/vlc-client
client ruby vlc-media-player
Last synced: 5 months ago
JSON representation
vlc-client allows to control VLC media player over TCP
- Host: GitHub
- URL: https://github.com/mguinada/vlc-client
- Owner: mguinada
- License: mit
- Created: 2012-10-11T00:52:56.000Z (over 13 years ago)
- Default Branch: master
- Last Pushed: 2022-01-06T02:12:20.000Z (about 4 years ago)
- Last Synced: 2025-08-04T02:53:28.137Z (7 months ago)
- Topics: client, ruby, vlc-media-player
- Language: Ruby
- Homepage:
- Size: 119 KB
- Stars: 26
- Watchers: 3
- Forks: 20
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# vlc-client [](http://travis-ci.org/mguinada/vlc-client)
vlc-client manages a [VLC media player](http://www.videolan.org/vlc/) instance through its RC interface.
### Installation
Add this line to your application's Gemfile:
gem 'vlc-client'
And then execute:
$ bundle
Or install it yourself as:
$ gem install vlc-client
### Usage
##### Create a client and connect to a running VLC media player instance.
```ruby
vlc = VLC::Client.new('192.168.1.10', 9999) #Expects a VLC media player running on `192.168.1.10:9999`, e.g. `vlc --extraintf rc --rc-host 192.168.1.10:9999`
vlc.connect # connect to server
# => true
vlc.play('http://example.org/media.mp3') # play media
# => true
vlc.playing?
# => true
vlc.fullscreen
# => true
#...
```
##### Create a self managed client/server system.
If you need a local client/server VLC media player system
```ruby
vlc = VLC::System.new # A client/server system over a local managed VLC instance
vlc.connected? # auto connect
# => true
vlc.play('http://example.org/media.mp3')
# => true
vlc.progress
# => 1 #%
#...
# Technically this is the same as
vlc = VLC::Client.new(VLC::Server.new('localhost', 9595, false))
```
# Playlist management
```ruby
vlc = VLC::System.new
vlc.add_to_playlist('track1.mp3')
vlc.add_to_playlist('track2.mp3')
vlc.play
vlc.playlist
#=> [{:number=>1, :title=>"Track #1 title", :length=>"00:03:10", :times_played=>1}, {:number=>2, :title=>"Track #2 title", :length=>"00:03:30", :times_played=>0}]
```
### Reference
[reference](http://rdoc.info/github/mguinada/vlc-client)
### Notice
vlc-client has been tested on linux but it should work on any VLC installation as long as the command line is responsive for `vlc` and `cvlc` calls. On Mac OS X these are not available by default. They can be created with:
```bash
echo "alias vlc='/Applications/VLC.app/Contents/MacOS/VLC'" >> ~/.bash_profile
echo "alias cvlc='/Applications/VLC.app/Contents/MacOS/VLC'" >> ~/.bash_profile
```
### Contributing
1. Fork it
2. Create your topic branch (`git checkout -b my-topic-branch`)
3. Add/change specs for your unimplemented feature or bug fix
4. Hack it
5. Make sure specs pass (`bundle exec rake spec`)
6. Edit the documentation in coherence with your feature or fixes. Run `bundle exec rake yard` to review
7. Commit changes (`git commit -am 'Add some feature/fix'`) and push to the branch (`git push origin my-topic-branch`)
8. Submit a pull request
### Copyright
Copyright (c) 2012 Miguel Guinada
[LICENSE][] for details.
[license]: https://github.com/mguinada/vlc-client/blob/master/LICENSE