RTSP VOD: VLC talks to itself (as a client) but not others
Posted: 11 Apr 2008 21:10
VLC and a phone I'm trying to stream to don't seem to work together. I can play a selected video to this phone using Quicktime, and I can play the same video using VLC to a PC (which also uses VLC as a client.) When I use VLC to stream to teh phone however, it appears to stream but somehow doesn't recognize the video format - instead of playing the video as it does when served up by Quicktime, It instead shows a "Connected" message and then, nothing. It just sits there for approximately the same length of time as it would take to play, then terminates with "Invalid Format". Using Wireshark, I am able to see that all of the packets (exactly the same number that would be sent to the VLC client) are sent to the phone. So, it appears, the phone is receiving the packets, but the client does not recognize the stream.
Have you experienced this? Is anyone able to make this work? I could use some advice, please.
I have tried changing various encoding parameters, codecs, bitrates, increasing the time to live, ensuring that b=AS:nn (nn=bandwidth of video or audio in kbps) SDP parameters exist, and quite a few other things. I have run out of ideas. If you have any suggestions at all, I'll try them.
This is how I currently do it:
(Start the server)
(Now I telnet to the VLC VOD server and type in my password, then issue the following:)
Where <options> can be anything from no options at all (straight delivery of video) to any of:
Incidentally, the video file is a 3GP MPEG4 (mp4a,mp4v, 176x144, 800kbsv,64kbsa).
Like I said before. The video plays fine to a VLC client - just not the phone, and the phone plays the file just fine... just not if VLC delivers it. It's a conundrum, alright.
Torin...
Have you experienced this? Is anyone able to make this work? I could use some advice, please.
I have tried changing various encoding parameters, codecs, bitrates, increasing the time to live, ensuring that b=AS:nn (nn=bandwidth of video or audio in kbps) SDP parameters exist, and quite a few other things. I have run out of ideas. If you have any suggestions at all, I'll try them.
This is how I currently do it:
(Start the server)
Code: Select all
vlc -vvv --ttl 64 -I telnet --telnet-password videolan --sout-rtp-port=2000 --rtsp-host 0.0.0.0:554
Code: Select all
new Test vod enabled
setup Test input known-good-video.3gp
setup Test output <options>
Code: Select all
#transcode{vcodec=mp4v,acodec=amr-nb}
#transcode{vcodec=mp4v,vb=30000,acodec=amr-nb,ab=10200}
#transcode{vcodec=mp4v,vb=50000,acodec=amr-nb,ab=24000}
#transcode{vcodec=mp4v,acodec=mp4a,vb=30000,samplerate=32000,ab=10000,channels=1,fps=7,width=128,height=96}
Like I said before. The video plays fine to a VLC client - just not the phone, and the phone plays the file just fine... just not if VLC delivers it. It's a conundrum, alright.
Torin...