Input number for VLM commands

Feature requests for VLC.
vice
Blank Cone
Blank Cone
Posts: 61
Joined: 18 Oct 2007 13:43

Input number for VLM commands

Postby vice » 12 Jun 2008 17:57

I'm trying to figure out how to change the input of a VLM element by VLM commands and haven't found anything. I'm trying to use the input list of a broadcast VLM element as a basic playlist, but I need the command to select the input number.

I'm scripting remotely a VLC media player a this could be very usefull to implement some kind of switching functionality to the broadcast VLM elements.

My fisrt input is a live stream so its never ends, but I need to switch to others inputs on demand.

For example, we could relay a live streaming and from time to time switch to some anouncement, advertisement, replay action or whatever. With the option sout-keep to keep the streaming going.

If this is imposible, the only way to do it is:
  • 1. Stop the VLM element, destroy its input, set the new input, and play again the VLM element. Restart the process to get back to the old input.
    2. Or, Stop and play differents VLM elements all of them with the same output.
    3. Use the VLC media player own playlist and forget about VLM.
Searching for possible VLM commands, I found:
control (name) [instance_name] (command)
with control commands:
play, stop, pause and seek.

of all those, seek sounds promising but it only handles seeking in the current input (I understand), perhaps we could add a new control command like this:

Code: Select all

control (name) [instance_name] inputn (input number)
or, better still,play command with opcional input number:

Code: Select all

control (name) [instance_name] play [input number]
event extend the seek control command with an optional input number, so it could be written:

Code: Select all

control (name) [instance_name] seek [+-](percentage) | [+-](seconds)s | [+-](milliseconds)ms [input number]
I don't think this could be hard to implement.

Thanks in advance!

vice
Blank Cone
Blank Cone
Posts: 61
Joined: 18 Oct 2007 13:43

Re: Input number for VLM commands

Postby vice » 13 Jun 2008 13:26

Sorry for the post.

I've see in the latest code that you already have solved this with the command:

Code: Select all

control (name) [instance_name] play [input number]
The good thing is that you win another tester for the current 0.9.

I'm going to test if the input switching are smooth enought.

Thanks for the good work.

vice
Blank Cone
Blank Cone
Posts: 61
Joined: 18 Oct 2007 13:43

Re: Input number for VLM commands

Postby vice » 16 Jun 2008 18:31

Tested input switching with the current version of git and found some dificulties to acomplish what I intend to do.

I've create a broadcast VLM element with many inputs and correctly, I switch beetwen differents inputs with the command

Code: Select all

control VLMElement play [input_number]
. The switchin are corretly handled but to be usefull as a remote input switcher I need to fix or to implement some new options for the stream out.

Streaming out with the RTP module:
The VLM broadcast element has the option sout-keep (I thought it keep the complete output chain).
The RTP address and the port number are kept (broadcast address) but the RTP payload type increase by one each time the input change. So if a client is receiving the RTp streams it needs to reread the SDP definition again to keep with the streaming.

It could be a nice idea to add the option sout-rtp-pl-keep to keep the number of the RTP payload. And skeep the reassign RTP payload numbers function if the stream out has previously assigned one(s).

Streaming out with the standard module with TS over UDP
Again, sout-keep activated.
The same result, the address and the port was kept, but the PID of the stream out increase with every input change. The client can follow more easily the stream because it can update the information present in the transport stream. I think it could be usefull a sout-pid-keep option.


But I'm more interested in the first option.

vice
Blank Cone
Blank Cone
Posts: 61
Joined: 18 Oct 2007 13:43

Re: Input number for VLM commands

Postby vice » 17 Jun 2008 18:16

Solved using different VLM Elements with the same output configuration. In this case, stopping and playing another you have the same address, the same port and the same RTP payload in the case of the RTP stream out.

So please keep this as a feature :wink:

Do you need a test?

amertahir
New Cone
New Cone
Posts: 2
Joined: 18 Nov 2009 05:56

Re: Input number for VLM commands

Postby amertahir » 18 Nov 2009 06:02

hi,

I have 6 incoming streams and i want to send one of them as the output via RTP, but i want to be able to switch between them whenever i want, just like a video switcher. Actually, I have configured Darwin Streaming Server with VLC so that I can stream live videos over the web using RTSP. So, any ideas how can I select from multiple input streams in real-time without breaking the output stream? (currently, I'm using gather module with a playlist, but there are delays while switching and it doesn't allow input streams to be of different codecs, resolutions, etc.)

VLC_help
Mega Cone Master
Mega Cone Master
Posts: 25661
Joined: 13 Sep 2006 14:16

Re: Input number for VLM commands

Postby VLC_help » 23 Nov 2009 13:31

amertahir: is your post a feature request?

amertahir
New Cone
New Cone
Posts: 2
Joined: 18 Nov 2009 05:56

Re: Input number for VLM commands

Postby amertahir » 28 Nov 2009 10:26

it's not a feature request, but i'm trying to find a way to accomplish this using vlc. Currently, I can use gather module with playlist so that i can stream to darwin streaming server, which is RTP streaming to 127.0.0.1 with some port (e.g. 1234) along with a generated SDP file (using sdp parameter in rtp destination). It works fine, but i have to use playlists to do that and the different streams (entries in the playlist) must have same bitrate, resolution and codecs for gather module to work. So, I thought maybe VLM might solve this problem.

vice
Blank Cone
Blank Cone
Posts: 61
Joined: 18 Oct 2007 13:43

Re: Input number for VLM commands

Postby vice » 19 Apr 2010 01:42

I think that different bitrate, resolution and codec could change in the input of the gather module.
Please correct me if I'm wrong.

But the problem is how do you transmit those changes to a client that is receiving the output stream?
You just generated an static SDP that is only read by the client at the beguining of the stream.

Some tests that I remenber:
Changes of bitrates don't stop VLC as client.
Changes of resolution: I remenber to have some problem with old clients only showing part of a bigger one. Because reloading the client solves the problem I supose that the "gather-Stream out" part is correct.
Neveer tried a change of codec, but I think this must stop the decoding If the codec is completely different form the SDP description.


Return to “VLC media player Feature Requests”

Who is online

Users browsing this forum: No registered users and 7 guests