Closed kevkha closed 9 years ago
I.e. you need have two windows one with video output, second with command line to send commands?
Yes, just one GUI player like the demo and use a script or CLI on the other to feed the video or control some basic functions such as play, pause etc...
From VLC doc
rc Always enabled This is the Remote Control interface module. It allows you to control VLC via commands, such as play, stop, etc... or via a script. This interface is text-based, so you should use it when you are in console mode . Options: --rc-show-pos, --no-rc-show-pos : Indicates whether the position in the stream must be shown (outputs one timer line every seconds) (default disabled) --fake-tty, --no-fake-tty : Enables or disables TTY virtual terminal emulation (default disabled)
It's possible, but you have to implement CLI yourself.
Since VLC already had this module can we port it into your wrapper without much efforts. Just try to not recreating the wheels :)
Don't know. RC act as a VLC GUI, but we already have one - don't sure they could work together.
I understand how it works, and think it will not work with QmlVlc.
Could you consider it as an enhancement? It would be nice to have this module in QmlVlc. Thanks.
Don't think it's possible implement some generic solution which will be useful to many... So I'm afraid you have to do it yourself. Sorry.
I see there is a src module here https://github.com/videolan/vlc/tree/master/src/modules but not sure where to begin. Perhaps, alternate solution is implementing RTSP server/client with QmlVlc. Any thought?
What final task you trying to solve by this? Do you need control player over network or something else?
Yes, my project requires to feed video and control the video viewer remotely.
Will you have any server where your application will connect?
Previously, I used normal VLC player with RC module and I added a web interface to send player controls like pause and toggle audio track but I did not have much control with the viewer. With your library I have more control with the front end but back end is lack. To answer your question, currently both back end and front end are on the same host.
I mean maybe it will be simpler just get commands from server by player itself, not send it to player?
Not a bad idea. If we can't push then we pull from player. Still though, as a front end developer I really want the users to be able to control the player by other means (web, mobile) not depending on the RC (remote control).
I still little not understand your idea. 1) How your users see the video? Via some sort of client application? Or maybe they have no direct access to it (some sort of big display in public place maybe) - and that's why you need remote control application? 2) And it seems you have some sort of streaming server? Do you use QmlVlc on it?
It seems now I understand you. Let me think a little about it.
Thank you and sorry for not explaining the details before. If your QmlVlc library has Command Line API that would be perfect ;-)
and I use script to feed to VLC player programtically over VLC RC Module.
what type of script do you use?
Currently, I use Perl and some Python. Any supported scripting language by the OS should do. Thanks.
And you just emulate user typing? right?
That's correct.
Did you try send commands same way to QmlViewer?
Yes I tried with your demo but not working. I go to the debug folder where demo is and fire the command with pause for instance but it opens up another player instance instead of pausing.
So if you could handle emulated keyboard input directly in QmlVlcDemo like application - it will be enough for you?
Some basic IR controls I can do mapping but not sure solution for mri feeding and I need to query status of concurrent (is playing) video from script too.
i.e. it should be interactive... then I think you should make some basic server (sock or http) on application side and connect to it from your favorite scripting engine. Btw, did you consider using NW.js for this task? As I know it's allow implement basic http server with ease, and it could use WebChimera Plugin (based on QmlVlc)
or you could try something like this: http://doc.qt.io/qt-5/qtcpserver.html
I found your WebChimera before QmlVlc and love all your works but WebChimera Plugin for desktops and majority of users have mobile devices. I have no c++ exp but going to give it a try. Thanks for the link.
hm... QmlVlc will not work well on mobile devices too. It require some optimizations.
I have no c++ exp but going to give it a try. Thanks for the link.
Then it will be much easier for you implement it with NW.js...
Is it possible to use WebChimera in QML with WebKit as front end player without the need of WebChimera Plugin?
Your question little bit not clear for me. What do you mean by "use WebChimera" + "without the need of WebChimera Plugin"
Just if it's now clear for you, WebChimera Plugin = QmlVlc + FireBreath.
FireBreath - just library for simplify NPAPI (i.e. browser) plugins development.
and on top of WebChimera Plugin
@jaruba implemented WebChimera Player
- i.e. set of .qml and .js files implementing "ready to use" Web Player UI.
I want to have more controls of the player from both front end and back end. Since WebChimera offers http protocol so I was thinking creating a web interface using QML with webkit for front end and then mapping keyboard this way but not 100% this will work.
ok, then I can offer you following solution: 1) RC for frontend: http server on node.js (inside NW.js) + WebChimera Plugin/Player JS API 2) RC from backend: XMLHttpRequest from QML to backend server + WebChimera Plugin QML API
WebChimera Plugin JS API: https://github.com/RSATom/WebChimera/wiki/JavaScript-API WebChimera Plugin QML API: https://github.com/RSATom/WebChimera/wiki/QML-API WebChimera Player JS API: http://wiki.webchimera.org/Player_JavaScript_API
Thank you. I will create a PoC and see it will full fill my needs. This thread is getting lengthy and I guess we can rest it. I will file new one when need be. Thanks again for everything.
I would like to be able to control the player via CLI like so https://wiki.videolan.org/Documentation:Modules/rc/ Can this be done with this wrapper/library?