I am experimenting with VLC's support for Chromecast and Chromecast Audio devices using VLC 3.0.3 64 bit on Windows 10 1803.
My attempt to play a file to a Chromecast Audio via command line is not working.
The Chromecast Audio device in question has an IP address of 192.168.0.169, so the command line I issued was:
"C:\Program Files\VideoLAN\VLC\vlc.exe" "C:\Windows\media\Alarm01.wav" --sout="#chromecast{ip=192.168.0.169}"
This opens VLC, and I hear the connection tone on the speaker attached to the Chromecast Audio, however the file does not play.
If I remove the -sout option completely, then VLC opens and plays the file to my default audio device as expected.
Am I doing something incorrectly, or should I file a bug report?
Also, I was going to create another thread about a related issue, but I think I've started enough threads already, so I'll add this related question here.
Is there a way to specify a Chromecast Group instead of an individual Chromecast device?
I want to play to a group of speakers, not just one.
I can do this in the UI, which scans and detects the groups I've created and allows them to be selected as a Playback/Renderer (very nice), but I see no way to do this via command line.
Thanks so much for your work to date on Chromecast support!
--UPDATE--
It occurred to me that I should turn on logging, so I did, and this was the result (sorry for the length):
-- logger module started --
main debug: VLC media player - 3.0.3 Vetinari
main debug: Copyright © 1996-2018 the VideoLAN team
main debug: revision 3.0.3-1-0-gc2bb759264
main debug: configured with ../extras/package/win32/../../../configure '--enable-update-check' '--enable-lua' '--enable-faad' '--enable-flac' '--enable-theora' '--enable-twolame' '--enable-avcodec' '--enable-merge-ffmpeg' '--enable-dca' '--enable-mpc' '--enable-libass' '--enable-x264' '--enable-schroedinger' '--enable-realrtsp' '--enable-live555' '--enable-dvdread' '--enable-shout' '--enable-goom' '--enable-caca' '--enable-qt' '--enable-skins2' '--enable-sse' '--enable-mmx' '--enable-libcddb' '--enable-zvbi' '--disable-telx' '--enable-nls' '--host=x86_64-w64-mingw32' '--with-breakpad=https://win.crashes.videolan.org' 'host_alias=x86_64-w64-mingw32' 'PKG_CONFIG_LIBDIR=/home/jenkins/workspace/vlc-release/windows/vlc-release-win32-x64/contrib/x86_64-w64-mingw32/lib/pkgconfig'
main debug: using multimedia timers as clock source
main debug: min period: 1 ms, max period: 1000000 ms
main debug: searching plug-in modules
main debug: loading plugins cache file C:\Program Files\VideoLAN\VLC\plugins\plugins.dat
main debug: recursively browsing `C:\Program Files\VideoLAN\VLC\plugins'
main debug: plug-ins loaded: 490 modules
main debug: opening config file (C:\Users\Scott\AppData\Roaming\vlc\vlcrc)
main debug: looking for logger module matching "any": 2 candidates
file debug: opening logfile `D:\temp\vlc-log.txt'
main debug: using logger module "file"
main debug: translation test: code is "C"
main debug: looking for keystore module matching "memory": 3 candidates
main debug: using keystore module "memory"
main debug: CPU has capabilities MMX MMXEXT SSE SSE2 SSE3 SSSE3 SSE4.1 SSE4.2 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 timeshift path: C:\Users\Scott\AppData\Local\Temp
main debug: `file/directory:///C:/Users/Scott/AppData/Roaming/vlc/ml.xspf' gives access `file' demux `directory' path `/C:/Users/Scott/AppData/Roaming/vlc/ml.xspf'
main debug: creating demux: access='file' demux='directory' location='/C:/Users/Scott/AppData/Roaming/vlc/ml.xspf' file='C:\Users\Scott\AppData\Roaming\vlc\ml.xspf'
main debug: looking for access_demux module matching "file": 15 candidates
main debug: no access_demux modules matched
main debug: creating access: file:///C:/Users/Scott/AppData/Roaming/vlc/ml.xspf
main debug: (path: C:\Users\Scott\AppData\Roaming\vlc\ml.xspf)
main debug: looking for access module matching "file": 26 candidates
main debug: using access module "filesystem"
main debug: looking for stream_filter module matching "prefetch,cache_read": 24 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 304 bytes in 0s - 296875 KiB/s
main debug: using stream_filter module "cache_read"
main debug: looking for stream_filter module matching "any": 24 candidates
playlist debug: using XSPF playlist reader
main debug: using stream_filter module "playlist"
main debug: stream filter added to 0000000002b6b970
main debug: looking for stream_filter module matching "any": 24 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:///C:/Users/Scott/AppData/Roaming/vlc/ml.xspf
main debug: looking for stream_filter module matching "record": 24 candidates
main debug: using stream_filter module "record"
main debug: creating demux: access='file' demux='directory' location='/C:/Users/Scott/AppData/Roaming/vlc/ml.xspf' file='C:\Users\Scott\AppData\Roaming\vlc\ml.xspf'
main debug: looking for demux module matching "directory": 55 candidates
main debug: using demux module "directory"
main debug: looking for meta reader module matching "any": 2 candidates
lua debug: Trying Lua scripts in C:\Users\Scott\AppData\Roaming\vlc\lua\meta\reader
lua debug: Trying Lua scripts in C:\Program Files\VideoLAN\VLC\lua\meta\reader
lua debug: Trying Lua playlist script C:\Program Files\VideoLAN\VLC\lua\meta\reader\filename.luac
main debug: no meta reader modules matched
main debug: `file/directory:///C:/Users/Scott/AppData/Roaming/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
mmdevice debug: using default device
mmdevice debug: display name changed: VLC media player (LibVLC 3.0.3)
mmdevice debug: version 2 session control unavailable
mmdevice debug: volume from -64.000000 dB to +0.000000 dB with 1.000000 dB increments
main debug: using audio output module "mmdevice"
main debug: keeping audio output
main debug: looking for interface module matching "hotkeys,none": 16 candidates
main debug: using interface module "hotkeys"
main debug: looking for interface module matching "globalhotkeys,none": 16 candidates
main debug: using interface module "win32"
main: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
main debug: looking for interface module matching "any": 16 candidates
main debug: looking for extension module matching "any": 1 candidates
lua debug: Opening Lua Extension module
lua debug: Trying Lua scripts in C:\Users\Scott\AppData\Roaming\vlc\lua\extensions
lua debug: Trying Lua scripts in C:\Program Files\VideoLAN\VLC\lua\extensions
lua debug: Trying Lua playlist script C:\Program Files\VideoLAN\VLC\lua\extensions\VLSub.luac
lua debug: Scanning Lua script C:\Program Files\VideoLAN\VLC\lua\extensions\VLSub.luac
lua debug: Script C:\Program Files\VideoLAN\VLC\lua\extensions\VLSub.luac has the following capability flags: 0x5
main debug: using extension module "lua"
main debug: looking for services probe module matching "any": 7 candidates
main debug: no services probe modules matched
qt debug: Sorting by column -1, order 0
qt debug: Sorting by column -1, order 0
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 Alarm01.wav
main debug: Alarm01.wav is at 0
main debug: creating new input thread
main debug: Creating an input for 'Alarm01.wav'
main debug: requesting art for new input thread
main debug: looking for meta fetcher module matching "any": 1 candidates
lua debug: Trying Lua scripts in C:\Users\Scott\AppData\Roaming\vlc\lua\meta\fetcher
lua debug: Trying Lua scripts in C:\Program Files\VideoLAN\VLC\lua\meta\fetcher
main debug: no meta fetcher modules matched
main debug: looking for art finder module matching "any": 2 candidates
main debug: using sout chain=`chromecast{ip=192.168.0.169}'
main debug: stream=`chromecast'
main debug: looking for sout stream module matching "chromecast": 23 candidates
lua debug: Trying Lua scripts in C:\Users\Scott\AppData\Roaming\vlc\lua\meta\art
lua debug: Trying Lua scripts in C:\Program Files\VideoLAN\VLC\lua\meta\art
lua debug: Trying Lua playlist script C:\Program Files\VideoLAN\VLC\lua\meta\art\00_musicbrainz.luac
lua debug: skipping script (unmatched scope) C:\Program Files\VideoLAN\VLC\lua\meta\art\00_musicbrainz.luac
lua debug: Trying Lua playlist script C:\Program Files\VideoLAN\VLC\lua\meta\art\01_googleimage.luac
main debug: set config option: sout-chromecast-ip to 192.168.0.169
main debug: net: listening to * port 8010
lua debug: skipping script (unmatched scope) C:\Program Files\VideoLAN\VLC\lua\meta\art\01_googleimage.luac
lua debug: Trying Lua playlist script C:\Program Files\VideoLAN\VLC\lua\meta\art\02_frenchtv.luac
main debug: looking for tls client module matching "any": 1 candidates
lua debug: skipping script (unmatched scope) C:\Program Files\VideoLAN\VLC\lua\meta\art\02_frenchtv.luac
lua debug: Trying Lua playlist script C:\Program Files\VideoLAN\VLC\lua\meta\art\03_lastfm.luac
lua debug: skipping script (unmatched scope) C:\Program Files\VideoLAN\VLC\lua\meta\art\03_lastfm.luac
main debug: no art finder modules matched
gnutls debug: using GnuTLS version 3.5.18
gnutls debug: loaded 68 trusted CAs from system
main debug: using tls client module "gnutls"
main debug: resolving 192.168.0.169 ...
gnutls debug: TLS handshake: Resource temporarily unavailable, try again.
gnutls debug: TLS handshake: Success.
gnutls debug: - safe renegotiation (RFC5746) enabled
gnutls debug: - extended master secret (RFC7627) enabled
gnutls debug: - false start (RFC7918) enabled
gnutls error: Certificate verification failure: The certificate is NOT trusted. The certificate issuer is unknown. The name in the certificate does not match the expected.
gnutls: Accepting self-signed/untrusted CA certificate.
main debug: stream=`http'
main debug: looking for sout stream module matching "http": 23 candidates
main debug: set config option: sout-standard-mux to avformat{mux=matroska,options={live=1}}
main debug: looking for sout access module matching "http": 10 candidates
main debug: net: listening to * port 8080
main debug: using sout access module "http"
main debug: looking for sout mux module matching "avformat": 11 candidates
avcodec debug: using ffmpeg Lavf58.3.100
avcodec debug: CPU flags: 0x000853db
main debug: set config option: sout-avformat-mux to matroska
main debug: set config option: sout-avformat-options to live=1
main debug: using sout mux module "avcodec"
stream_out_standard debug: using `http/avformat{mux=matroska,options={live=1}}://(null)'
main debug: using sout stream module "stream_out_standard"
main debug: destroying chain... (name=http)
main debug: removing module "stream_out_standard"
main debug: removing module "avcodec"
main debug: removing module "http"
main debug: HTTP host removed
http debug: Close
main debug: destroying chain done
main debug: using sout stream module "stream_out_chromecast"
main debug: using timeshift granularity of 50 MiB
main debug: using timeshift path: C:\Users\Scott\AppData\Local\Temp
main debug: `file:///C:/Windows/media/Alarm01.wav' gives access `file' demux `any' path `/C:/Windows/media/Alarm01.wav'
main debug: creating demux: access='file' demux='any' location='/C:/Windows/media/Alarm01.wav' file='C:\Windows\media\Alarm01.wav'
main debug: looking for access_demux module matching "file": 15 candidates
main debug: no access_demux modules matched
main debug: creating access: file:///C:/Windows/media/Alarm01.wav
main debug: (path: C:\Windows\media\Alarm01.wav)
main debug: looking for access module matching "file": 26 candidates
main debug: using access module "filesystem"
main debug: looking for stream_filter module matching "prefetch,cache_read": 24 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 1024 bytes in 0s - 1000000 KiB/s
main debug: using stream_filter module "cache_read"
main debug: looking for stream_filter module matching "any": 24 candidates
lua debug: Trying Lua scripts in C:\Users\Scott\AppData\Roaming\vlc\lua\playlist
lua debug: Trying Lua scripts in C:\Program Files\VideoLAN\VLC\lua\playlist
lua debug: Trying Lua playlist script C:\Program Files\VideoLAN\VLC\lua\playlist\anevia_streams.luac
lua debug: Trying Lua playlist script C:\Program Files\VideoLAN\VLC\lua\playlist\anevia_xml.luac
lua debug: Trying Lua playlist script C:\Program Files\VideoLAN\VLC\lua\playlist\appletrailers.luac
lua debug: Trying Lua playlist script C:\Program Files\VideoLAN\VLC\lua\playlist\bbc_co_uk.luac
lua debug: Trying Lua playlist script C:\Program Files\VideoLAN\VLC\lua\playlist\cue.luac
lua debug: Trying Lua playlist script C:\Program Files\VideoLAN\VLC\lua\playlist\dailymotion.luac
lua debug: Trying Lua playlist script C:\Program Files\VideoLAN\VLC\lua\playlist\jamendo.luac
lua debug: Trying Lua playlist script C:\Program Files\VideoLAN\VLC\lua\playlist\koreus.luac
lua debug: Trying Lua playlist script C:\Program Files\VideoLAN\VLC\lua\playlist\liveleak.luac
lua debug: Trying Lua playlist script C:\Program Files\VideoLAN\VLC\lua\playlist\newgrounds.luac
lua debug: Trying Lua playlist script C:\Program Files\VideoLAN\VLC\lua\playlist\rockbox_fm_presets.luac
lua debug: Trying Lua playlist script C:\Program Files\VideoLAN\VLC\lua\playlist\soundcloud.luac
lua debug: Trying Lua playlist script C:\Program Files\VideoLAN\VLC\lua\playlist\twitch.luac
stream_out_chromecast debug: Media receiver application was already running
lua debug: Trying Lua playlist script C:\Program Files\VideoLAN\VLC\lua\playlist\vimeo.luac
lua debug: Trying Lua playlist script C:\Program Files\VideoLAN\VLC\lua\playlist\vocaroo.luac
lua debug: Trying Lua playlist script C:\Program Files\VideoLAN\VLC\lua\playlist\youtube.luac
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:///C:/Windows/media/Alarm01.wav
main debug: looking for stream_filter module matching "record": 24 candidates
main debug: using stream_filter module "record"
main debug: creating demux: access='file' demux='any' location='/C:/Windows/media/Alarm01.wav' file='C:\Windows\media\Alarm01.wav'
main debug: looking for demux module matching "any": 55 candidates
wav debug: chunk: fcc=`fmt ` size=16
wav debug: format: 0x0001, fourcc: araw, channels: 2, freq: 22050 Hz, bitrate: 86Ko/s, blockalign: 4, bits/samples: 16, extra size: 0
wav debug: found Raw audio audio format
wav debug: chunk: fcc=`data` size=491472
main debug: selecting program id=0
main debug: using demux module "wav"
main debug: looking for a subtitle file in C:\Windows\media\
main debug: looking for packetizer module matching "any": 24 candidates
qt debug: IM: Setting an input
main debug: using packetizer module "copy"
main debug: starting in sync mode
main debug: looking for meta reader module matching "any": 2 candidates
lua debug: Trying Lua scripts in C:\Users\Scott\AppData\Roaming\vlc\lua\meta\reader
lua debug: Trying Lua scripts in C:\Program Files\VideoLAN\VLC\lua\meta\reader
lua debug: Trying Lua playlist script C:\Program Files\VideoLAN\VLC\lua\meta\reader\filename.luac
main debug: no meta reader modules matched
main debug: `file:///C:/Windows/media/Alarm01.wav' successfully opened
main debug: Buffering 0%
main debug: switching to async mode
main debug: Buffering 16%
main debug: Buffering 33%
main debug: adding a new sout input for `s16l` (sout_input: 00000000048b4d60)
main debug: Buffering 49%
main debug: Buffering 66%
main debug: Buffering 83%
main debug: Buffering 99%
main debug: Stream buffering done (349 ms in 0 ms)
main debug: Decoder wait done in 0 ms
stream_out_chromecast debug: can't remux audio track 0 codec s16l
stream_out_chromecast debug: Converting audio to mp3
stream_out_chromecast debug: Creating chain transcode{acodec=mp3 ,}:chromecast-proxy:std{mux=avformat{mux=matroska,options={live=1}},access=chromecast-http}
main debug: stream=`std'
main debug: looking for sout stream module matching "std": 23 candidates
main debug: set config option: sout-standard-mux to avformat{mux=matroska,options={live=1}}
main debug: set config option: sout-standard-access to chromecast-http
main debug: looking for sout access module matching "chromecast-http": 10 candidates
main debug: using sout access module "stream_out_chromecast"
main debug: looking for sout mux module matching "avformat": 11 candidates
avcodec debug: using ffmpeg Lavf58.3.100
avcodec debug: CPU flags: 0x000853db
main debug: set config option: sout-avformat-mux to matroska
main debug: set config option: sout-avformat-options to live=1
main debug: using sout mux module "avcodec"
stream_out_standard debug: using `chromecast-http/avformat{mux=matroska,options={live=1}}://(null)'
main debug: using sout stream module "stream_out_standard"
main debug: stream=`chromecast-proxy'
main debug: looking for sout stream module matching "chromecast-proxy": 23 candidates
main debug: using sout stream module "stream_out_chromecast"
main debug: stream=`transcode'
main debug: looking for sout stream module matching "transcode": 23 candidates
main debug: set config option: sout-transcode-acodec to mp3
stream_out_transcode debug: Checking codec mapping for mp3 got mp3
stream_out_transcode debug: codec audio=mp3 0Hz 0 channels 96Kb/s
main debug: using sout stream module "stream_out_transcode"
stream_out_transcode debug: creating audio transcoding from fcc=`s16l' to fcc=`mp3 '
main debug: looking for audio decoder module matching "any": 23 candidates
araw debug: samplerate:22050Hz channels:2 bits/sample:16
main debug: using audio decoder module "araw"
main debug: looking for encoder module matching "any": 23 candidates
avcodec debug: using ffmpeg Lavc58.6.103
avcodec debug: CPU flags: 0x000853db
avcodec debug: Trying to find more suitable sample format instead of s32p
avcodec debug: Using s16p as new sample format
avcodec debug: Trying to find packet sample format instead of planar s16p
avcodec debug: Ended up using s16p as sample format
avcodec debug: Creating channel order for reordering
avcodec debug: 0 1 mapped to 2
avcodec debug: 1 2 mapped to 4
avcodec debug: found encoder MPEG Audio layer 3
main debug: using encoder module "avcodec"
main debug: input 's16l' 22050 Hz Stereo frame=1 samples/4 bytes
main debug: conversion: 's16l'->'s16l' 22050 Hz->22050 Hz Stereo->Stereo
main debug: conversion pipeline complete
main debug: looking for audio resampler module matching "any": 3 candidates
main debug: using audio resampler module "ugly"
main debug: removing module "avcodec"
main debug: removing module "ugly"
main debug: looking for encoder module matching "any": 23 candidates
avcodec debug: using ffmpeg Lavc58.6.103
avcodec debug: CPU flags: 0x000853db
avcodec debug: Trying to find more suitable sample format instead of s32p
avcodec debug: Using s16p as new sample format
avcodec debug: Trying to find packet sample format instead of planar s16p
avcodec debug: Ended up using s16p as sample format
avcodec debug: Creating channel order for reordering
avcodec debug: 0 1 mapped to 2
avcodec debug: 1 2 mapped to 4
avcodec debug: found encoder MPEG Audio layer 3
main debug: using encoder module "avcodec"
main debug: input 's16l' 22050 Hz Stereo frame=1 samples/4 bytes
main debug: conversion: 's16l'->'s16l' 22050 Hz->22050 Hz Stereo->Stereo
main debug: conversion pipeline complete
main debug: looking for audio resampler module matching "any": 3 candidates
main debug: using audio resampler module "ugly"
main debug: adding a new input
avcodec debug: adding input
avcodec debug: writing header
stream_out_chromecast debug: Loading content
stream_out_chromecast debug: s_chromecast_url: http://192.168.0.141:8010/stream
main debug: EOF reached
main debug: waiting decoder fifos to empty
main debug: killing decoder fourcc `s16l'
main debug: removing module "copy"
main debug: removing a sout input (sout_input: 00000000048b4d60)
avcodec debug: Flushing..
avcodec warning: cannot encode one frame
avcodec debug: Flushing..
avcodec warning: cannot encode one frame
main debug: removing module "araw"
main debug: removing module "avcodec"
main debug: removing module "ugly"
avcodec debug: removing input
main warning: no more input streams for this mux
main debug: destroying chain... (name=transcode)
main debug: removing module "stream_out_transcode"
main debug: destroying chain done
main debug: destroying chain... (name=chromecast-proxy)
main debug: removing module "stream_out_chromecast"
main debug: destroying chain done
main debug: destroying chain... (name=std)
main debug: removing module "stream_out_standard"
main debug: removing module "avcodec"
main debug: removing module "stream_out_chromecast"
main debug: destroying chain done
main debug: removing module "wav"
main debug: removing module "record"
main debug: removing module "cache_read"
main debug: removing module "filesystem"
main debug: Program doesn't contain anymore ES
main debug: dead input
main debug: destroying useless sout
main debug: destroying chain... (name=chromecast)
main debug: removing module "stream_out_chromecast"
main debug: attempt to destroy nonexistent variable "sout-chromecast-sout-mux-caching"
main warning: force closing connections
main debug: HTTP host removed
main debug: destroying chain done
main debug: changing item without a request (current 0/1)
main debug: nothing to play
main: end of playlist, exiting
main debug: exiting
main debug: exiting
main debug: no exit handler
main debug: removing all interfaces
main debug: removing module "qt"
main debug: deactivating the playlist
main debug: removing module "mmdevice"
qt debug: IM: Deleting the input
qt debug: requesting exit...
qt debug: waiting for UI thread...
main debug: exiting
main debug: no exit handler
qt debug: QApp exec() finished
qt debug: Video is not needed anymore
qt debug: Playlist Destroyed
qt debug: Killing extension dialog provider
qt debug: ExtensionsDialogProvider is quitting...
main debug: removing module "lua"
main debug: removing module "win32"
main debug: removing module "hotkeys"
main debug: destroying
main debug: saving media library to file C:\Users\Scott\AppData\Roaming\vlc\ml.xspf.tmp5256
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 `Alarm01.wav'
main debug: deleting item `Playlist'
main debug: removing module "memory"
-- logger module stopped --