How to cast YouTube or Netflix to a smart TV or Chromecast

How to do things, solutions, recipes, tutorials
Message
Author
User avatar
ETP
Posts: 1193
Joined: Tue 19 Oct 2010, 19:55
Location: UK

#31 Post by ETP »

Hi Oscar,

It makes sense that VLC should be using the latest mDNS protocol as they have been working on Chromecast support for at least 2 years.
Google used DIAL in the original Chromecast (2013?) and switched over later. I suspect that DIAL is still present for backward compatability.

VLC will become a must have tool for Chromecast users should Google drop support for all things 32-bit which would include the old cast extension
that has been baked into Chromium for some time having previously been available as an extension.

Good luck with VLC 32-bit, you seem to be on the right track. Thanks also for pointing out that mDNS is now used.
Regards ETP
[url=http://tinyurl.com/pxzq8o9][img]https://s17.postimg.cc/tl19y14y7/You_Tube_signature80px.png[/img][/url]
[url=http://tinyurl.com/kennels2/]Kennels[/url]

User avatar
drunkjedi
Posts: 882
Joined: Mon 25 May 2015, 02:50

Re: VLC & Sid's Cast for Chromecast.

#32 Post by drunkjedi »

ETP wrote:Hi folks,
With regard to Puppy, if and when anupam produces a working 64-bit appimage of VLC 3.0.1
it should be possible to extract the image, change it so that VLC can be run as root and then pet
it up as a ROX app.
Sorry about that, I didn't test it first.
I had to remove vlc2.2.6 in fatdog as the app image tried to run the installed version. Then I used fatdog's run-as-spot script to run the appimage, it gave segmentation fault.

User avatar
ETP
Posts: 1193
Joined: Tue 19 Oct 2010, 19:55
Location: UK

Installing vlc 3.0.1 32-bit --- without Chromecast Support

#33 Post by ETP »

Installing vlc 3.0.1 32-bit --- without Chromecast Support

This is the first of 2 posts and just covers vlc for people who do not require the addition of Chromecast support.
VLC in Puppy now needs some extra persuasion/steps if it is to be run as root. The second post details the addition of Chromecast support.

Step One:

Update PPM and then use it to install vlc_3.0.1|multimedia player and streamer together with all its dependencies.

So doing will pull in all of the following. Do not attempt to launch vlc until you have completed Step Two.
  • libavc1394-0_0.5.4|control IEEE 1394 audio/video devices
    libdouble-conversion1_2.0.1|routines to convert IEEE floats to and from strings
    liblirc-client0_0.10.0-2|infra-red remote control support - client library
    liblua5.2-0_5.2.4|Shared library for the Lua interpreter version 5.2
    libmpg123-0_1.25.10-1|MPEG layer 1/2/3 audio decoder shared library
    libmtp9_1.1.13-1|Media Transfer Protocol MTP library
    libmtp-common_1.1.13-1|Media Transfer Protocol MTP common files
    libpulse0_11.1|PulseAudio client libraries
    libqt5core5a_5.9.5+dfsg|Qt 5 core module
    libqt5dbus5_5.9.5+dfsg|Qt 5 D-Bus module
    libqt5gui5_5.9.5+dfsg|Qt 5 GUI module
    libqt5network5_5.9.5+dfsg|Qt 5 network module
    libqt5svg5_5.9.5|Qt 5 SVG module
    libqt5widgets5_5.9.5+dfsg|Qt 5 widgets module
    libsecret-1-0_0.18.6-1|Secret store
    libsecret-common_0.18.6-1|Secret store common files
    libshout3_2.4.1|MP3/Ogg Vorbis broadcast streaming library
    libtwolame0_0.3.13-3|MPEG Audio Layer 2 encoding library
    libwayland-client0_1.14.0-2|wayland compositor infrastructure - client library
    libxcb-xinerama0_1.13-1|X C Binding xinerama extension
    libaribb24-0_1.0.3-1|library for ARIB STD-B24 decoding runtime files
    libass9_0.14.0-1|library for SSA/ASS subtitles rendering
    libbasicusageenvironment1_2018.02.18-1|multimedia RTSP streaming library BasicUsageEnvironment class
    libchromaprint1_1.4.3-1|audio fingerprint library
    libcrystalhd3_0.0|Crystal HD Video Decoder shared library
    libgroupsock8_2018.02.18-1|multimedia RTSP streaming library network interfaces and sockets
    libkate1_0.4.1|Codec for karaoke and text encapsulation
    liblivemedia62_2018.02.18-1|multimedia RTSP streaming library
    libmatroska6v5_1.4.8-1.1|extensible open standard audio/video container format shared library
    libmicrodns0_0.0.8-1|minimal mDNS resolver and announcer library shared library
    libnfs11_2.0.0-1|NFS client library shared library
    libopenmpt0_0.3.6-1|module music library based on OpenMPT -- shared library
    libopenmpt-modplug1_0.3.6-1|module music library based on OpenMPT -- modplug compat library
    libplacebo4_0.4.0-2|GPU-accelerated video/image rendering primitives shared library
    libqt5x11extras5_5.9.5|Qt 5 X11 extras
    libresid-builder0c2a_2.1.1|SID chip emulation class based on resid
    libshine3_3.1.1-1|Fixed-point MP3 encoding library - runtime files
    libsidplay2_2.1.1|SID MOS 6581 emulation library
    libsoxr0_0.1.2-3|High quality 1D sample-rate conversion library
    libssh2-1_1.8.0-1|SSH2 client-side library
    libupnp6_1.6.24-4|Portable SDK for UPnP Devices version 1.6 shared libraries
    libusageenvironment3_2018.02.18-1|multimedia RTSP streaming library UsageEnvironment classes
    libvlc5_3.0.1|multimedia player and streamer library
    libvlc-bin_3.0.1|tools for VLCs base library
    libvlccore9_3.0.1|base library for VLC and its modules
    libvulkan1_1.1.70+dfsg1-1|Vulkan loader library
    libzvbi0_0.2.35-13|Vertical Blanking Interval decoder VBI - runtime files
    libzvbi-common_0.2.35-13|Vertical Blanking Interval decoder VBI - common files
    vlc-bin_3.0.1|binaries from VLC
    vlc-data_3.0.1|common data for VLC
    vlc-plugin-base_3.0.1|multimedia player and streamer base plugins
    vlc-plugin-qt_3.0.1|multimedia player and streamer Qt plugin
    vlc-plugin-video-output_3.0.1|multimedia player and streamer video output plugins
    vlc_3.0.1|multimedia player and streamer
Step Two:

Use ROX-Filer to navigate to /usr/bin then use the ` {backtick key} or right click menu to open a terminal there.
Issue the following commands.

(pwd is just to check that you are in the correct directory i.e. /usr/bin
If successful there is no output from the sed line but the vlc binary should show the modified date and time.)

Code: Select all

# pwd
/usr/bin
# sed -i 's/geteuid/getppid/' ./vlc
#


Step Three:

Launch vlc from the JWM Multimedia menu. To test cvlc try the following in a terminal

Code: Select all

cvlc --play-and-exit /usr/share/audio/sys-login.mp3
Regards ETP
[url=http://tinyurl.com/pxzq8o9][img]https://s17.postimg.cc/tl19y14y7/You_Tube_signature80px.png[/img][/url]
[url=http://tinyurl.com/kennels2/]Kennels[/url]

User avatar
ETP
Posts: 1193
Joined: Tue 19 Oct 2010, 19:55
Location: UK

Installing vlc 3.0.1 32-bit --- adding Chromecast Support

#34 Post by ETP »

Installing vlc 3.0.1 32-bit --- adding Chromecast Support

This is the second of 2 posts, the first of which above just deals with the installation of vlc 3.0.1

Step One:

Use PPM to install in order the following items. N/B For each item on the list you must install all of the dependencies.

1. avahi-daemon_0.7|Avahi mDNS/DNS-SD daemon
2. avahi-discover_0.7|Service discover user interface for avahi
3. libnss-mdns_0.10
4. python-protobuf_3.0.0
5. python3_protobuf_3.0.0

Step Two:

A brief explanation.
In Linux microdns relies upon avahi for discovery and protobuf for streaming to the Chromecast.
Avahi is not normally implemented in Puppy and the daemon has to be run under its own group & user name.
To create those open a terminal and issue the following commands:

Code: Select all

# addgroup -S -g 120 avahi

# adduser -D -S -h /var/run/avahi-daemon -g "Avahi mDNS daemon" avahi -G avahi
There is no output but you can check the result with the following commands:

Code: Select all

# cat /etc/group

# cat /etc/passwd
Step Three:

Install the attached pet which contains two items:
1. A launcher placed in /root/Startup to start the avahi-daemon as the initial attempt to launch it from /etc/init.d
within Puppy fails as dbus (messagebus) has not at that early stage created a socket. Probably not an issue if using systemd.

2. A custom /etc/nsswitch.conf in accordance with this advice. https://wiki.archlinux.org/index.php/avahi

Step Four:

Make sure that your Chromecast is powered on then reboot saving the session.
When the desktop is reached check HTOP to ensure that you can see 2 items for the avahi-daemon running.
Launch vlc and check that there is an icon & entry to select for your Chromecast on the Playback/Renderer menu.
Test it.

Final Thoughts:

All of the above was developed and tested using peebee's 32-bit Upup_Bionic_Beaver-18.04+6 and upupbb-18.05
Additional tools installed and used during the process included:
gupnp-tools_0.8.14-1|tools for testing UPnP devices and control points (In particular gssdp-discover)
mdns-scan_0.5-2|Scan for mDNS/DNS-SD services published on the local network

Some relevant screenshots can be found here: https://drive.google.com/drive/folders/ ... sp=sharing

My own Chromecast is the original model and for the past 4 years it has mainly seen duty connected to my Hi-Fi
via a HDMI audio extractor.
There are a lot of hoops to jump through here which you would only go through if you wanted to divorce yourself from
reliance on a browser such as Opera, Google Chrome (Now 64-bit only) or Chromium and from players such as SMPlayer
that simply call a cast enabled browser to do the job.

As I posted previously on 19th April 2018 Google Chrome 64-bit plus Sid's Cast remains my favoured option. (See here.)
Attachments
avahi_launch_nsswitch_conf_fixup.pet
(788 Bytes) Downloaded 220 times
Regards ETP
[url=http://tinyurl.com/pxzq8o9][img]https://s17.postimg.cc/tl19y14y7/You_Tube_signature80px.png[/img][/url]
[url=http://tinyurl.com/kennels2/]Kennels[/url]

wiak
Posts: 2040
Joined: Tue 11 Dec 2007, 05:12
Location: not Bulgaria

Cast2Chrome bash/gtkdialog app

#35 Post by wiak »

For those who don't have or want to use vlc or google chrome browser, here is a lightweight solution: bash/gtkdialog Cast2Chrome, which can cast local media files, or online url streamable media, or even from youtube urls (if optional youtube-dl is installed, which is small python program and highly recommended).

http://www.murga-linux.com/puppy/viewto ... 012#991012

It can also cast media that is otherwise unsupported by google chromecast - does so by transcoding on the fly (if optional ffmpeg is also installed).

wiak

User avatar
ETP
Posts: 1193
Joined: Tue 19 Oct 2010, 19:55
Location: UK

Sid's Cast for Chromecasts

#36 Post by ETP »

I have mentioned Sid's Cast in my previous post above as being my current favourite tool for handling
folders of both audio or video files and a single file such as a movie, to send to a Chromecast.

Nothing to install, just a bookmark in Chrome. A local install of the HTML page is also possible in which
case once again a simple bookmark to it within Chrome is all that is needed.

It is simple and easy to use whether the Chromecast is connected to your TV or HiFi.
To give anyone interested a quick overview I have created a brief video which may be viewed online here:

https://photos.app.goo.gl/kUZ1j3pjUYAMYxw87

.
Regards ETP
[url=http://tinyurl.com/pxzq8o9][img]https://s17.postimg.cc/tl19y14y7/You_Tube_signature80px.png[/img][/url]
[url=http://tinyurl.com/kennels2/]Kennels[/url]

Post Reply