VLC can't play RTSP stream with basic auth (maybe others)
VLC media player 3.0.17.4 Vetinari (revision 3.0.13-8-g41878ff4f2)
on Debian.
Accessing an older Amcrest camera.
VLC fails to play this video stream (including VLC for Android), but an F-Droid RTSP app on my phone ("Cams") is able to. I haven't been able to find / play any public RTSP streams (authenticated or not) that VLC can access.
VLC Log showing failure to play
-- logger module started -- main debug: VLC media player - 3.0.17.4 Vetinari main debug: Copyright © 1996-2022 the VideoLAN team main debug: revision 3.0.13-8-g41878ff4 main debug: configured with ./configure '--build=x86_64-linux-gnu' '--prefix=/usr' '--includedir=
/usr/lib/x86_64-linux-gnu/vlc/plugins' main debug: plug-ins loaded: 510 modules main debug: opening config file (/home/tyler/.config/vlc/vlcrc) main debug: looking for logger module matching "any": 4 candidates file debug: opening logfile
/tmp/vlc_log'
main debug: using logger module "file"
main debug: translation test: code is "C"
main debug: looking for keystore module matching "memory": 4 candidates
main debug: using keystore module "memory"
main debug: CPU has capabilities MMX MMXEXT SSE SSE2 SSE3 SSSE3 SSE4.1 SSE4.2 AVX AVX2 FPU
main debug: Creating an input for 'Media Library'
main debug: Input is a meta file: disabling unneeded options
main debug: using timeshift granularity of 50 MiB
main debug: using default timeshift path
main debug: file/directory:///home/tyler/.local/share/vlc/ml.xspf' gives access
file' demux directory' path
/home/tyler/.local/share/vlc/ml.xspf'
main debug: creating demux: access='file' demux='directory' location='/home/tyler/.local/share/vlc/ml.xspf' file='/home/tyler/.local/share/vlc/ml.xspf'
main debug: looking for access_demux module matching "file": 18 candidates
main debug: no access_demux modules matched
main debug: creating access: file:///home/tyler/.local/share/vlc/ml.xspf
main debug: (path: /home/tyler/.local/share/vlc/ml.xspf)
main debug: looking for access module matching "file": 30 candidates
main debug: using access module "filesystem"
main debug: looking for stream_filter module matching "prefetch,cache_read": 26 candidates
cache_read debug: Using stream method for AStream*
cache_read debug: starting pre-buffering
cache_read debug: received first data after 0 ms
cache_read debug: pre-buffering done 296 bytes in 0s - 48177 KiB/s
main debug: using stream_filter module "cache_read"
main debug: looking for stream_filter module matching "any": 26 candidates
playlist debug: using XSPF playlist reader
main debug: using stream_filter module "playlist"
main debug: stream filter added to 0x55989f02a2a0
main debug: looking for stream_filter module matching "any": 26 candidates
main debug: no stream_filter modules matched
main debug: looking for stream_directory module matching "any": 1 candidates
main debug: no stream_directory modules matched
main debug: attachment of directory-extractor failed for file:///home/tyler/.local/share/vlc/ml.xspf
main debug: looking for stream_filter module matching "record": 26 candidates
main debug: using stream_filter module "record"
main debug: creating demux: access='file' demux='directory' location='/home/tyler/.local/share/vlc/ml.xspf' file='/home/tyler/.local/share/vlc/ml.xspf'
main debug: looking for demux module matching "directory": 54 candidates
main debug: using demux module "directory"
main debug: looking for meta reader module matching "any": 2 candidates
lua debug: Trying Lua scripts in /home/tyler/.local/share/vlc/lua/meta/reader
lua debug: Trying Lua scripts in /usr/lib/x86_64-linux-gnu/vlc/lua/meta/reader
lua debug: Trying Lua playlist script /usr/lib/x86_64-linux-gnu/vlc/lua/meta/reader/filename.luac
lua debug: Trying Lua scripts in /usr/share/vlc/lua/meta/reader
main debug: no meta reader modules matched
main debug: file/directory:///home/tyler/.local/share/vlc/ml.xspf' successfully opened main debug: looking for xml reader module matching "any": 1 candidates main debug: using xml reader module "xml" main debug: EOF reached main debug: removing module "directory" main debug: removing module "record" main debug: removing module "playlist" main debug: removing module "cache_read" main debug: removing module "filesystem" main debug: creating audio output main debug: looking for audio output module matching "any": 6 candidates vlcpulse debug: using library version 15.0.0 vlcpulse debug: (compiled with version 15.0.0, protocol 35) vlcpulse debug: connected locally to /run/user/1000/pulse/native as client #25 vlcpulse debug: using protocol 35, server protocol 35 pulse debug: adding sink 0: alsa_output.pci-0000_00_1f.3.analog-stereo (Built-in Audio Analog Stereo) main debug: using audio output module "pulse" main debug: keeping audio output main debug: looking for interface module matching "dbus,none": 19 candidates dbus debug: listening on dbus as: org.mpris.MediaPlayer2.vlc main debug: using interface module "dbus" main debug: looking for interface module matching "hotkeys,none": 19 candidates main debug: using interface module "hotkeys" main debug: looking for interface module matching "globalhotkeys,none": 19 candidates dbus debug: Getting All properties main debug: using interface module "xcb_hotkeys" main: Running vlc with the default interface. Use 'cvlc' to use vlc without interface. dbus debug: Getting All properties main debug: looking for interface module matching "any": 19 candidates dbus debug: Getting All properties main debug: looking for extension module matching "any": 1 candidates lua debug: Opening Lua Extension module lua debug: Trying Lua scripts in /home/tyler/.local/share/vlc/lua/extensions lua debug: Trying Lua scripts in /usr/lib/x86_64-linux-gnu/vlc/lua/extensions lua debug: Trying Lua playlist script /usr/lib/x86_64-linux-gnu/vlc/lua/extensions/VLSub.luac lua debug: Scanning Lua script /usr/lib/x86_64-linux-gnu/vlc/lua/extensions/VLSub.luac lua debug: Script /usr/lib/x86_64-linux-gnu/vlc/lua/extensions/VLSub.luac has the following capability flags: 0x5 lua debug: Trying Lua scripts in /usr/share/vlc/lua/extensions main debug: using extension module "lua" main debug: using interface module "qt" main debug: processing request item: null, node: Playlist, skip: 0 main debug: rebuilding array of current - root Playlist main debug: rebuild done - 1 items, index -1 main debug: starting playback of new item main debug: resyncing on rtsp://192.168.1.205:554/cam/realmonitor main debug: rtsp://192.168.1.205:554/cam/realmonitor is at 0 main debug: creating new input thread main debug: Creating an input for 'rtsp://192.168.1.205:554/cam/realmonitor' main debug: requesting art for new input thread main debug: using timeshift granularity of 50 MiB main debug: using default timeshift path main debug:
rtsp://vlcuser:password@192.168.1.205:554/cam/realmonitor?channel=1&subtype=0' gives access rtsp' demux
any' path vlcuser:password@192.168.1.205:554/cam/realmonitor?channel=1&subtype=0' main debug: creating demux: access='rtsp' demux='any' location='vlcuser:password@192.168.1.205:554/cam/realmonitor?channel=1&subtype=0' file='(null)' main debug: looking for access_demux module matching "rtsp": 18 candidates main debug: no access_demux modules matched main debug: creating access: rtsp://vlcuser:password@192.168.1.205:554/cam/realmonitor?channel=1&subtype=0 main debug: looking for access module matching "rtsp": 30 candidates main debug: looking for meta fetcher module matching "any": 1 candidates lua debug: Trying Lua scripts in /home/tyler/.local/share/vlc/lua/meta/fetcher lua debug: Trying Lua scripts in /usr/lib/x86_64-linux-gnu/vlc/lua/meta/fetcher lua debug: Trying Lua scripts in /usr/share/vlc/lua/meta/fetcher main debug: no meta fetcher modules matched main debug: looking for art finder module matching "any": 2 candidates satip debug: try to open 'rtsp://vlcuser:password@192.168.1.205:554/cam/realmonitor?channel=1&subtype=0' satip debug: connect to host '192.168.1.205' main debug: net: connecting to 192.168.1.205 port 554 lua debug: Trying Lua scripts in /home/tyler/.local/share/vlc/lua/meta/art lua debug: Trying Lua scripts in /usr/lib/x86_64-linux-gnu/vlc/lua/meta/art lua debug: Trying Lua playlist script /usr/lib/x86_64-linux-gnu/vlc/lua/meta/art/00_musicbrainz.luac lua debug: skipping script (unmatched scope) /usr/lib/x86_64-linux-gnu/vlc/lua/meta/art/00_musicbrainz.luac lua debug: Trying Lua playlist script /usr/lib/x86_64-linux-gnu/vlc/lua/meta/art/01_googleimage.luac lua debug: skipping script (unmatched scope) /usr/lib/x86_64-linux-gnu/vlc/lua/meta/art/01_googleimage.luac lua debug: Trying Lua playlist script /usr/lib/x86_64-linux-gnu/vlc/lua/meta/art/02_frenchtv.luac lua debug: skipping script (unmatched scope) /usr/lib/x86_64-linux-gnu/vlc/lua/meta/art/02_frenchtv.luac lua debug: Trying Lua playlist script /usr/lib/x86_64-linux-gnu/vlc/lua/meta/art/03_lastfm.luac lua debug: skipping script (unmatched scope) /usr/lib/x86_64-linux-gnu/vlc/lua/meta/art/03_lastfm.luac lua debug: Trying Lua scripts in /usr/share/vlc/lua/meta/art main debug: no art finder modules matched qt debug: IM: Setting an input main debug: connection succeeded (socket = 40) main debug: net: opening 0.0.0.0 datagram port 9358 main debug: net: opening 0.0.0.0 datagram port 9359 satip error: Failed to setup RTSP session satip error: Failed to teardown RTSP session main debug: net: connecting to 192.168.1.205 port 554 main debug: connection succeeded (socket = 39) access_realrtsp warning: Cseq mismatch, got 1, assumed 0 access_realrtsp debug: rtsp connected access_realrtsp warning: only real/helix rtsp servers supported for now main debug: no access modules matched main debug: dead input qt debug: IM: Deleting the input main debug: changing item without a request (current 0/1) main debug: nothing to play dbus debug: Getting All properties dbus debug: Getting All properties dbus debug: Getting All properties qt debug: Video is not needed anymore main debug: exiting main debug: exiting main debug: removing all interfaces main debug: removing module "qt" main debug: deactivating the playlist main debug: removing module "pulse" qt debug: requesting exit... qt debug: waiting for UI thread... qt debug: QApp exec() finished qt debug: Video is not needed anymore qt debug: Killing extension dialog provider qt debug: ExtensionsDialogProvider is quitting... main debug: removing module "lua" main debug: removing module "xcb_hotkeys" main debug: removing module "hotkeys" main debug: removing module "dbus" main debug: destroying main debug: saving media library to file /home/tyler/.local/share/vlc/ml.xspf.tmp19862 main debug: looking for playlist export module matching "export-xspf": 4 candidates main debug: using playlist export module "export" main debug: removing module "export" main debug: deleting item
Media Library'
main debug: deleting item rtsp://192.168.1.205:554/cam/realmonitor' main debug: deleting item
Playlist'
main debug: removing module "memory"
-- logger module stopped --
Packet capture of VLC's attempt to access the stream: vlc_capture.pcapng
Phone application's successful attempt to access the stream: cam.pcapng
From what I can see, VLC simply doesn't do the BASIC authentication expected. I do not believe the camera supports anonymous viewing.