[ANSWERED] Controling VLC within Isadora
laurentR last edited by Woland
it may sounds like a strange request, but I would like to find a way to control within Isadora a VLC player installed on another computer, thru a local network. Simple commands like play/stop would be a good start...
I found some subject about controling VLC thru network but I can't get out of it!
This sounds like a really useful thing to do. I found the specification for it here. And it looks, at the face of it, that this might be achievable sending commands through http and json? Although the documentation gives examples as XML, there is an indication that json is viable:
- Talk to VLC through HTTP XML/JSon requests.
Therefore trying to send commands to the IP address with the appropriately structured json format actor might be the place to start.
So I gave this a shot with the HTTP server that is built into VLC. Since VLC requires a password since release 'X.X' it is not easy as it seems since we can't the parameters with the URL. That is something that has been discontinued long ago by the browsers. So they will open an Auth window in the browser.
Isadora doesn't seem to like the URL in the Get Url actor.. So I'm wondering what the best way might be to get this up and running.. Running the server to listen to your command is not the issue, that works great.. But letting Isadora talk with seems to be a bigger fish to fry.
I was able to get this working and the following is what worked for me with VLC using its default port settings on Mac OS:
1. check 'Enable HTTP Web Interface' and set a password: "vlcremote" in VLC Preferences and 'Save' (I used VLC v3.0.12 intel 64bit to test this)
2. restart VLC and playback a test movie
3. in an Isadora patch on another computer on the same network add a 'GET URL Text' actor to the Scene Editor
4. find the IP address of the remote computer (the one running VLC) and use that ip address to replace the one in the following line:
5. toggle the 'get' trigger of the 'Get URL Text' actor and any media playing through VLC on the remote computer appears to pause/play.
NOTE: the http password set in the VLC preferences appears in the Get URL Text address after the second colon.
Thanks to both of you and congratulation Russell, your method works great for me on Mac !!
Good to know that it is working for you. If you get any additional commands functioning it would be great to get your report.
I've noted this down as a possible Knowledgebase article for us to create. Thanks everyone <3
I have had an opportunity to develop this a little more today. You can find a link below to a patch that has two methods for controlling VLC and returning status and file information about what VLC is doing on a remote machine. One method is XML the other JSON. You will need the JSON Parser Beta add on to work with the JSON method. The XML data has not been fully parsed in the patch and in comparison the JSON Parser Beta actor is a lot more convenient to set up. However, both methods refresh the data parameters each time a trigger is used.
Just a follow-up, I had multiple applications listening on port 8080. When I changed this in VLC everything was smooth sailing :)
Amazing patch @bonemap!
Thanks again, I was not expecting so much when I ask the question! The patch work great for me!
But I actually have another question wich is I guess due to my lake of knowlegde in network : everything work fine when my 2 computers are connected to a router ( actually my internet box) , but when I try to connect directly the 2 computers thru rj45 cable, it's not working anymore. I of course change the ip adress following what I see in Network Setting, and I know the communication is ok since I can control stuff via NetBroadcater actor... But I guess it's not the same protocol?
when I try to connect directly the 2 computers thru rj45 cable, it's not working anymore.
iirc, direct connection via rj45 isn't the same networking-wise as having both machines hooked up to a router. My gut feeling is it's always better to have a router or switch involved. I could be wrong though.
jfg last edited by
it works if you use a crossover cable and use the self-assigned IP from the target computer (VLC). Something like 169.254. … . …
I have just try and it works with Json and XML
Of course, I knew my question was stupid ;-) I was just using the wrong cable... And now it works! Merci Jean-Francois