My thoughts on Slackware, life and everything

Casting to your ChromeCast in Chromium

I have a Google ChromeCast, it is an extremely convenient gadget to stream all sorts of audio and video to your television, regardless of its make or brand.
Today I learnt something new, so let me tell you about that. But an introduction first.

I have a media collection at home, stored on a big disk in my server, and I have a Universal Media Server (UMS) running on my Slackware LAN server to get access to my audio and video files.

Usually from my Android Smartphone (I have always only bought HTC phones and currently it’s a HTC 10) I connect to my movies using BubbleUPnP, a cool application for which I actually bought a license. BubbleUPnP is a UPnP controller, meaning it does not necessarily play video by itself, but it is able to connect a media source (the UMS server) and a media renderer (like a television) and control the playback as a ‘man in the middle’.
For this to work, your television must understand UPnP and be able to announce itself as such on your network, and act as a media renderer. Many of the ‘smart’ televisions sold today have this capability, but many older televisions need a bit of help.
Enter the ChromeCast, a smart Linux-powered device with a wireless network card which connects to your television’s HDMI port. Once connected to your Wi-Fi network, it acts as a UPnP media renderer which means you can stream audio and video to it. However dumb, your television receives the HDMI input from the ChromeCast and will ‘just’ play back what it receives.
The BubbleUPnP app on my phone manages this with great success, and other apps will suddenly also have an extra button on-screen. Such as your phone’s Netflix and Youtube apps, which allows you to watch Netflix or Youtube on a big tv-screen instead of your puny little phone screen.

Now on a laptop or desktop computer, it is a bit of a different story. Your application must be able to act as a UPnP client to allow it to find a ChromeCast and stream media to it. On Linux, I could not find many applications that will cast media to a UPnP renderer. VLC is one good example. Chromium is another good example.

Or so I thought, but I was unable to get Chromium to find my ChromeCast… I tried from time to time, and when it would not work, I would simply take my phone and stream from there. But today, I thought ‘I need to fix this’. So, some searching around on the Internet and I found the fix.

All that’s needed is to enable “chrome://flags/#load-media-router-component-extension“… just copy and paste that bold text into your Chromium URL entry field and you get this:

The default setting called “Default” obviously is not sufficient, so I set the value to “Enabled” and voila! My Chromium browser finds the ChromeCast and I can watch fullscreen movies from a browser tab.

I hope someone sometime searches for and finds this piece of information and benefits from it.

Eric

14 Comments

  1. Janis

    Hi, Eic!

    great news! I already thought for some time that it would be good to bring this all together.

  2. Robby

    I have benefited from this info – Thanks Eric!

  3. Phil Bevan

    Thanks for that. Can now go back to chromium from Google-chrome

  4. lupox

    # Options to pass to chromium:
    CHROMIUM_FLAGS=”–load-media-router-component-extension=1″

  5. Cesarion76

    Thanks Eric! Works really good

  6. alienbob

    This is as good a place to document it as anywhere else, so in case someone installs Universal Media Server (UMS) and has issues getting it to work with a LG Smart TV or with an Android device (in particular muxing external subtitles into the videostream and to solve the issue with LG WebOS that actually supports more formats), here are my patches for the renderer definitions:

    alien@hogan:$ diff  /usr/local/ums/renderers/LG-WebOS.conf{.orig,}
    44c44
    < Supported = f:mp4|m4v     v:h264|mp4                        a:aac-lc|he-aac                            m:video/mp4
    ---
    > Supported = f:mp4|m4v     v:h264|mp4                        a:aac-lc|he-aac|ac3                            m:video/mp4
    56c56
    < SupportedExternalSubtitlesFormats = SUBRIP,WEBVTT
    ---
    > SupportedExternalSubtitlesFormats = ASS,SUBRIP,WEBVTT
    alien@hogan:$ diff  /usr/local/ums/renderers/Google-Android.conf{.orig,}
    17a18,19
    > SupportedExternalSubtitlesFormats = SUBRIP,ASS,MICRODVD
    >
    • Pablo

      Love you man 🙂

      Thanks!

  7. lupox

    # Default settings for chromium.
    # This file is sourced by /usr/bin/chromium

    # Options to pass to chromium:
    CHROMIUM_FLAGS=”–load-media-router-component-extension=1″

    place in ‘/etc/chromium/00-default.conf’

  8. lupox

    edit:

    CHROMIUM_FLAGS=”-–load-media-router-component-extension=1?

  9. alienbob

    lupox,
    Instead of editing ‘/etc/chromium/00-default.conf’ which is part of the chromium package and can be overwritten during upgrade, you should create your own file in ‘/etc/chromium/’ with file-extension ‘.conf’. In that file, add:
    CHROMIUM_FLAGS=”$CHROMIUM_FLAGS -–load-media-router-component-extension=1?

    Or, simply change the configuration like I showed. Less hassle if you ask me.

  10. Fellype

    Great tip!

  11. corky77

    Thank you so much for this !!
    I tried and work really well !
    Merci l’ami !

  12. Ryder

    Thank you man! you saved me.

  13. Kevin

    For other Chromium based browsers, also enable the Cast Media Route Provider to get the Youtube and other web based applications to display the cast icon

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

© 2024 Alien Pastures

Theme by Anders NorenUp ↑