Package: mkchromecast
Version: 0.3.5-1
Severity: important

First time run:

$ LC_ALL=en_US.UTF-8 mkchromecast --debug --encoder-backend ffmpeg
('backends: ', ['ffmpeg', 'avconv', 'parec'])
('backends: ', ['ffmpeg', 'avconv', 'parec'])
USER =foo
PATH =/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
mkchromecast v0.3.5
:::cast::: sockets method 192.168.98.55
Creating pulseaudio sink...
Open pavucontrol and select the mkchromecast sink.
Traceback (most recent call last):
  File "/usr/bin/mkchromecast", line 34, in <module>
    create_sink()
  File "/usr/share/mkchromecast/mkchromecast/pulseaudio.py", line 28, in 
create_sink
    stderr=subprocess.PIPE
  File "/usr/lib/python2.7/subprocess.py", line 711, in __init__
    errread, errwrite)
  File "/usr/lib/python2.7/subprocess.py", line 1343, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory

/usr/share/doc/mkchromecast/README.Debian informs:

3. In order to cast you have to install pavucontrol, and select the
   mkchromecast sink.

But /usr/share/mkchromecast/mkchromecast/pulseaudio.py seems to expect
commands pactl and pacmd to be available.  Those commands are
distributed in package pulseaudio-utils, not pavucontrol.

Removing pavucontrol and installing pulseaudio-utils takes me further
to:

$ LC_ALL=en_US.UTF-8 mkchromecast --debug --encoder-backend ffmpeg
('backends: ', ['ffmpeg', 'avconv', 'parec'])
('backends: ', ['ffmpeg', 'avconv', 'parec'])
USER =foo
PATH =/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
mkchromecast v0.3.5
:::cast::: sockets method 192.168.98.55
Creating pulseaudio sink...
Open pavucontrol and select the mkchromecast sink.
Starting local streaming server
[Done]
(':::audio::: chunk_size: ', 1024)
Selected backend: ffmpeg
Selected audio codec: mp3
Default bitrate used: 192k
Default sample rate used: 44100Hz
:::audio::: command ['ffmpeg', '-ac', '2', '-ar', '44100', '-f', 'pulse', '-i', 
'mkchromecast.monitor', '-acodec', 'libmp3lame', '-f', 'mp3', '-ac', '2', 
'-ar', '44100', '-b:a', '192k', 'pipe:']
PID of main process: 14226
PID of streaming process: 14233
 * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
self.cclist []
elif len(self.cclist) == 0 and self.tray == False:
No devices found!

Wouldn't it be a good idea to add pulseaudio-utils to mkchromecast's
"Depends:" list?  I should also mention, there's _no_ pulseaudio
server installed on this computer.  I see this in the strace:

execve("/usr/bin/pulseaudio", ["/usr/bin/pulseaudio", "--start", 
"--log-target=syslog"], [/* 50 vars */]) = -1 ENOENT (No such file or directory)

Does mkchromecast assume pulseaudio is installed on the host
mkchromecast is run on?  In that case mkchromecast is unusable for me
as I don't want to install pulseaudio, for various reasons.

And after that:

pa_context_connect() failed: Connection refused

The other thing I'm wondering about is this:

        http://0.0.0.0:5000/

nmap reports port 5000 being upnp:

PORT     STATE SERVICE
8008/tcp open  http
8009/tcp open  ajp13

PORT     STATE         SERVICE
1900/udp open|filtered upnp
5353/udp open|filtered zeroconf

My computer has two interfaces (eth0 and wlan0) connected to two
_different_ local networks.  Reading `mkchromecast -h', I couldn't
find an option enabling me to direct the discovery to a specific
interface/network.  The chromecast device i on the wireless network
(wlan0) while this computers primary network is wired (eth0).

I also see some trafic to 224.0.0.251:5353 and 127.0.0.1:5353, which
would be the wired network, I guess.

None of these packages:

avahi-autoipd - Avahi IPv4LL network address configuration daemon
avahi-daemon - Avahi mDNS/DNS-SD daemon
avahi-discover - Service discover user interface for avahi
avahi-dnsconfd - Avahi DNS configuration tool
avahi-ui-utils - Avahi GTK+ utilities
avahi-utils - Avahi browsing, publishing and discovery utilities

are installed on this host.


-- system Information:
Debian Release: stretch/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.6.0-1-amd64 (SMP w/8 CPU cores)
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
Shell: /bin/sh linked to /bin/dash
Init: sysvinit (via /sbin/init)

Versions of packages mkchromecast depends on:
ii  flac                 1.3.1-4
ii  lame                 1:3.99.5-dmo5
ii  python-flask         0.11.1-1
ii  python-psutil        4.2.0-1
ii  python-pychromecast  0.7.3-2
ii  python-pyqt5         5.7+dfsg-1
pn  python:any           <none>
ii  sox                  14.4.1-5+b1
ii  vorbis-tools         1.4.0-10
ii  youtube-dl           2016.06.25-2

mkchromecast recommends no packages.

Versions of packages mkchromecast suggests:
ii  ffmpeg            10:3.1.3-dmo1
ii  libav-tools       7:3.1.2-1
pn  mkchromecast-doc  <none>

-- no debconf information


Cheers,

-- 
Cristian

Reply via email to