Hi,<br><br>I would like to control the stream of a video on demand with my own RTSP client and not using the commands in VLC. <br>My goal is that my client controls the stream of a video that is displayed in a VLC client.<br>
<br>I first typed <br><br>$ vlc --ttl 2 -vvv --color -I telnet --telnet-password videolan --rtsp-host localhost:554<br><br>Then I added my video with the Telnet interface :<br><br>> new film vod enabled<br>> setup film input "/.../mymovie.avi"
<br><br>When I open the stream <a class="postlink" href="rtsp://localhost:554/film">rtsp://localhost:554/film</a> by typing :<br>$vlc -vvv <a class="postlink" href="rtsp://localhost:554/film">rtsp://localhost:554/film</a>
<br><br>I can see and control the stream (pause, read, rewind...). All works perfectly.<br><br>Now, I would like to control the stream with my own client. So I send my RTSP messages to the VOD server. <br>Here is the exchange of RTSP messages between my client and the vod server :
<br><br>****************************************************************************************************************<br><span style="font-size: 85%; line-height: 116%;">** OPTIONS **<br><br>C-->S<br>OPTIONS <a class="postlink" href="rtsp://localhost:554/film">
rtsp://localhost:554/film</a> RTSP/1.0\r\n<br>CSeq: 1\r\n<br>User-Agent: myvlc\r\n<br>\r\n<br><br>S-->C<br>RTSP/1.0 200 Ok\r\n<br>Cseq: 1\r\n<br>Server: VLC Server\r\n<br>Public: DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE\r\n
<br>Content-Length: 0<br>\r\n<br><br>** DESCRIBE **<br><br>C-->S<br>DESCRIBE <a class="postlink" href="rtsp://localhost:554/film">rtsp://localhost:554/film</a> RTSP/1.0\r\n<br>CSeq: 2\r\n<br>Accept: application/sdp\r\n
<br>User-Agent: myvlc\r\n<br>\r\n<br><br>S-->C<br>RTSP/1.0 200 OK\r\n<br>Content-type: application/sdp<br>Server: VLC Server\r\n<br>Content-Length: 373<br>Cseq: 2\r\n<br>Cache-Control: no-cache\r\n<br>\r\n<br><br>** SETUP **
<br><br>C-->S<br>SETUP <a class="postlink" href="rtsp://localhost:554/film/trackID=0">rtsp://localhost:554/film/trackID=0</a> RTSP/1.0<br>CSeq: 3<br>Transport: RTP/AVP;unicast;client_port=1234-1235<br>User-Agent: myvlc
<br><br>S-->C<br>RTSP/1.0 200 OK<br>Transport: RTP/AVP/UDP;client_port=1234-1235<br>Server: VLC Server<br>Content-Length: 0<br>Cseq: 3<br>Cache-Control: no-cache<br>Session: 441791550<br><br>** SETUP **<br><br>C-->S
<br>SETUP <a class="postlink" href="rtsp://localhost:554/film/trackID=1">rtsp://localhost:554/film/trackID=1</a> RTSP/1.0<br>CSeq: 4<br>Session: 441791550<br>Transport: RTP/AVP;unicast;client_port=1236-1237<br>User-Agent: myvlc
<br><br>S-->C<br>RTSP/1.0 200 OK<br>Transport: RTP/AVP/UDP;client_port=1236-1237<br>Server: VLC Server<br>Content-Length: 0<br>Cseq: 4<br>Cache-Control: no-cache<br>Session: 441791550<br><br>** PLAY **<br><br>C-->S<br>
PLAY <a class="postlink" href="rtsp://localhost:554/film">rtsp://localhost:554/film</a> RTSP/1.0<br>CSeq: 5<br>Session: 441791550<br>Range: npt=0.000-<br>User-Agent: myvlc<br><br>S-->C<br>RTSP/1.0 200 OK<br>Server: VLC Server
<br>Content-Length: 0<br>Cseq: 5<br>Cache-Control: no-cache<br>Session: 441791550;timeout=5</span><br>****************************************************************************************************************<br><br>
The exchange of messages seems to be good. I then try to see the stream by typing:<br>$ vlc -vvv rtp:<br><br>But I only get the audio, there is no video...<br><br>Do you know how I could get both? Is there settings to change?
<br><br>Here is the log that I get after typing vlc -vvv rtp:<br><br>julien@julien-laptop:~$ vlc -vvv rtp:<br>VLC media player 0.8.6 Janus<br>[00000001] main private debug: checking builtin modules<br>[00000001] main private debug: checking plugin modules
<br>[00000001] main private debug: loading plugins cache file /home/julien/.vlc/cache/plugins-04041e.dat<br>[00000001] main private debug: recursively browsing `modules'<br>[00000001] main private debug: recursively browsing `/usr/lib/vlc'
<br>[00000001] main private debug: recursively browsing `plugins'<br>[00000001] main private debug: module bank initialized, found 215 modules<br>[00000001] main private debug: opening config file /home/julien/.vlc/vlcrc
<br>[00000001] main private debug: CPU has capabilities 486 586 MMX 3DNow! MMXEXT SSE SSE2 FPU<br>[00000001] main private debug: looking for memcpy module: 1 candidate<br>[00000001] main private debug: using memcpy module "memcpy"
<br>[00000280] main playlist debug: waiting for thread completion<br>[00000280] main playlist debug: thread 3079261072 (playlist) created at priority 0 (playlist/playlist.c:184)<br>[00000281] main private debug: waiting for thread completion
<br>[00000281] main private debug: thread 3070868368 (preparser) created at priority 0 (playlist/playlist.c:210)<br>[00000282] main interface debug: looking for interface module: 1 candidate<br>[00000282] main interface debug: using interface module "hotkeys"
<br>[00000282] main interface debug: thread 3062475664 (interface) created at priority 0 (interface/interface.c:231)<br>[00000284] main interface debug: looking for interface module: 1 candidate<br>[00000284] main interface debug: using interface module "screensaver"
<br>[00000284] main interface debug: thread 3054082960 (interface) created at priority 0 (interface/interface.c:231)<br>[00000280] main playlist debug: adding playlist item `rtp:' ( rtp: )<br>[00000286] main interface debug: looking for interface module: 5 candidates
<br>[00000286] main interface debug: using interface module "wxwidgets"<br>[00000286] main interface debug: thread 3028519824 (manager) created at priority 0 (interface/interface.c:216)<br>[00000286] wxwidgets interface debug: Using last windows config '(-1,0,0,1280,800)(0,507,113,452,76)(6,0,0,-1,150)'
<br>[00000286] wxwidgets interface debug: id=0 p=(507,113) s=(452,76)<br>[00000286] wxwidgets interface debug: id=6 p=(0,0) s=(-1,150)<br>[00000280] main playlist debug: nothing requested, starting<br>[00000280] main playlist debug: creating new input thread
<br>[00000289] main input debug: waiting for thread completion<br>[00000289] main input debug: thread 3005397904 (input) created at priority 0 (input/input.c:265)<br>[00000289] main input debug: creating statistics handler
<br>[00000289] main input debug: `rtp:' gives access `rtp' demux `' path `'<br>[00000289] main input debug: creating demux: access='rtp' demux='' path=''<br>[00000291] main demuxer debug: looking for access_demux module: 0 candidates
<br>[00000291] main demuxer warning: no access_demux module matched "rtp"<br>[00000289] main input debug: creating access 'rtp' path=''<br>[00000292] main access debug: looking for access2 module: 6 candidates
<br>[00000292] access_udp access debug: opening server=:0 local=:1234<br>[00000292] main access debug: net: connecting to '[]:0@[]:1234'<br>[00000292] main access debug: looking for network module: 1 candidate<br>
[00000292] main access debug: using network module "ipv6"<br>[00000292] main access debug: removing module "ipv6"<br>[00000292] main access debug: using access2 module "access_udp"<br>[00000295] main private debug: pre buffering
<br>[00000292] access_udp access debug: detected MPEG audio over RTP<br>[00000292] access_udp access debug: RTP: prebuffered 5 packets<br>[00000289] main input debug: creating demux: access='rtp' demux='mpga' path=''
<br>[00000296] main demuxer debug: looking for demux2 module: 1 candidate<br>[00000298] main packetizer debug: looking for packetizer module: 17 candidates<br>[00000298] main packetizer debug: using packetizer module "mpeg_audio"
<br>[00000298] mpeg_audio packetizer debug: MPGA channels:2 samplerate:48000 bitrate:128<br>[00000289] main input debug: selecting program id=0<br>[00000296] main demuxer debug: looking for id3 module: 1 candidate<br>[00000296] id3tag demuxer debug: checking for ID3 tag
<br>[00000296] main demuxer debug: using id3 module "id3tag"<br>[00000296] main demuxer debug: removing module "id3tag"<br>[00000296] main demuxer debug: using demux2 module "mpga"<br>[00000289] main input debug: looking for a subtitle file in /home/julien/
<br>[00000325] main decoder debug: looking for decoder module: 24 candidates<br>[00000325] main decoder debug: using decoder module "mpeg_audio"<br>[00000325] main decoder debug: thread 2994789264 (decoder) created at priority 0 (input/decoder.c:159)
<br>[00000292] access_udp access warning: unimplemented query in control<br>[00000289] main input debug: `rtp:' successfully opened<br>[00000325] mpeg_audio decoder debug: MPGA channels:2 samplerate:48000 bitrate:128<br>
[00000325] main decoder debug: no aout present, spawning one<br>[00000332] main audio output debug: looking for audio output module: 3 candidates<br>[00000332] alsa audio output debug: opening ALSA device `default'<br>
[00000332] main audio output debug: thread 2986199952 (aout) created at priority 0 (alsa.c:662)<br>[00000332] main audio output debug: using audio output module "alsa"<br>[00000332] main audio output debug: output 'fl32' 48000 Hz Stereo frame=1 samples/8 bytes
<br>[00000332] main audio output debug: mixer 'fl32' 48000 Hz Stereo frame=1 samples/8 bytes<br>[00000332] main audio output debug: no need for any filter<br>[00000332] main audio output debug: looking for audio mixer module: 3 candidates
<br>[00000332] main audio output debug: using audio mixer module "float32_mixer"<br>[00000332] main audio output debug: input 'mpga' 48000 Hz Stereo frame=1152 samples/969 bytes<br>[00000332] main audio output debug: filter(s) 'mpga'->'fl32' 48000 Hz->48000 Hz Stereo->Stereo
<br>[00000334] main private debug: looking for audio filter module: 24 candidates<br>[00000334] main private debug: using audio filter module "mpgatofixed32"<br>[00000332] main audio output debug: found a filter for the whole conversion
<br>[00000332] main audio output debug: filter(s) 'fl32'->'fl32' 52800 Hz->48000 Hz Stereo->Stereo<br>[00000341] main private debug: looking for audio filter module: 24 candidates<br>[00000341] main private debug: using audio filter module "bandlimited_resampler"
<br>[00000332] main audio output debug: found a filter for the whole conversion<br>[00000332] mpgatofixed32 audio output debug: libmad error: bad main_data_begin pointer<br>[00000332] mpgatofixed32 audio output debug: libmad error: bad main_data_begin pointer
<br>[00000332] main audio output warning: buffer is 41367 late, triggering upsampling