More specifically, the question is how to play rtsp streams from addresses that have a question mark in them.

I.E: rtsp://some.server.name:554/video_file.wmv?authstring=sOm3StrIN2==&param=3

I have tried various media players, but couldn't stream the file. I know for sure this is not a server problem because I could stream a test video on that server that doesn't require an authentication.
I was surprised that vlc couldn't handle such urls, so I tried mplayer but it couldn't play the streams either.
mpv was the first player in which I managed to play the test video I mentioned above, but I couldn't stream urls of the form I written above. With mpv I tried this command line:

mpv --http-header-fields='authstring:sOm3StrIN2==','param:3' \rtsp://some.server.name:554/video_file.wmv

and also tried adding the --rtsp-transport=lavf|tcp|udp|http option, but nothing worked.

Unfortunately, I know that such links (as wrote above) work with the windows media player, but I don't want to use wine or go over to windows (I have duel boot) just to watch a stream.

3 Answers 3


Have you tried to follow these instructions from the Videolan documentation (scroll down to the Video on demand section)?

It would be useful if you provide a test rtsp url that you want to stream.

Edit: the instructions from the above link are:

First launch the vlc:

vlc --ttl 12 -vvv --color -I telnet --telnet-password videolan --rtsp-host


  • 12 is the value of the TTL (Time To Live) of your IP packets (which means that the stream will be able to cross 11 routers).

  • telnet launches the telnet interface of the vlc.

  • videolan is the password to connect to the telnet interface.

  • is the host address.

  • 5554 is the port on which you stream.

Then connect to the vlc telnet interface and create the vod object:

new Test vod enabled

setup Test input my_video.mpg

You can access to the stream with:

vlc rtsp://server:5554/Test

where server is the address of the streaming server (IP or DNS)

  • 1
    I'm not sure how this should work. It seems to me that this will make me into an rtsp server, but I need to find a client that can communicate with a server that expects some parameters (for authentication)
    – yaron160
    Oct 14, 2014 at 18:46

For me the best player is ffmpeg:

ffplay rtsp://username:password@server:554/path

If authentication is not needed,

ffplay rtsp://server:554/path
  • The command works quite well with rich verbose debug terminal information on the Amcrest ProHD 1080P IP Camera IP2M-841B amazon.com/gp/product/B0145OQTPG/… ; sample command: $ ffplay rtsp://admin:password@192.168.1.XXX:554
    – Hil Liao
    Dec 15, 2022 at 5:56

You may give a try to mplayer.

sudo apt-get install mplayer

Pass the rtsp:// URL to mplayer on its command line. There are servers out there that serve files containing a rtsp:// URL over HTTP, but then serve content in the MMS protocol. This is for compatibility with some older Microsoft players (my memory is hazy over the details), but it breaks clients that believe that RTSP is RTSP and MMS is MMS. If you obtain an rtsp:// URL that doesn't work at all, try replacing the scheme with mms://.

  • tried your suggestion but it didn't work.
    – yaron160
    Oct 14, 2014 at 18:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.