[Feature Request] Chromecast support

edited April 2014 in Development
Adding chromecast support in to OpenLP would be an interesting feature for allowing a very cheap way of providing a stage screen or maybe just another screen to display lyrics. It would probably be easiest to add the feature to the android app and/or the web interface as that is what google supports at the moment.

It might be a nice feature to have as a means of providing a cheap and easy way to feed another screen with the stage view without dedicating another computer to it.


  • edited April 2014
    I may be wrong but isn't Chromecast like WiDi able to clone the content of a screen to another? It shouldn't be application specific.

    Edit: Chromecast doesn't do mirroring.
  • Chromecast will allow you to show a browser tab.

    You can therefore use the stage URL in a browser and cast that.  You can find the relevant settings and URL in the 'remote' section of settings.

    Having had a quick test it only does text stuff (lyrics and Bibles) and removes formatting, but it does work.
  • I was more thinking rather than having the overhead of making a video stream of the browser tab that you are casting just have the chromecast pull the html page from the server that OpenLP runs.
  • Scio, you are right. That could be a working scenario.
  • http://dvdhrm.wordpress.com/2014/02/17/on-wifi-democratic-republics-and-miracles/

    Chromecast and Miracast are competing techs here.     One of the fun issue here is Linux is going to have different APIs for doing miracast than Windows or OS X.   Yes the most current Open Source http://cgit.freedesktop.org/~dvdhrm/miracle/ work is Linux bound.  Even kinda worse systemd bound.  As in you need systemd parts so it works.  Difference is miracle in Linux is lining up to be a  source and a receiver.

    Scio one of the problems I have is chromecast dongles are not exactly that cheap.  They are like half the price of Raspberry pi cased and are about 10 dollars more expensive than miracast dongles in most cases.

    Miracast under OS X and Windows 8.0+ appear as extra screens and should be able to appear as extra screens under Linux in time just the tech is still developing.  Advantage as sender this means min work by openlp just use existing output options.  Users with windows 7 there is meant to be method but I have not found it.  People using XP stuffed.   You are also meant to be able Miracast under Android 4.2 as an extra screen.

    GermanGospel  Chromecast is very application particular because google does not provide anything outside Chrome or Chromium on OS X, Windows or Linux for generating Chromecast streams and that is a closed source plugin.  There are libraries on OSi and Android to make chromecast streams.  Linux users are not officially supported by Google using chromecast.  But it can be made work by altering Linux firewall rules.

    Scio a chromecast device out box does not have a web browser it only designed to accept a video stream.   So openlp -(as html)->Chorme/Chromuim(render) -(as video stream)-> Chromecast dongle on OS X, Windows, Linux.   This is quite a long trip.   If you want a webbrowser display on screen spend upto 100 dollars on an more powerful dongle.  Html over network is lighter than chromecast.

    Miracast under Linux should be somewhat officially supported.   Miracast due to library for Linux being in existence there should be optimisation options.

    I have a horrible feeling in time there are going to be a lot of chromecast dongle that are nothing more than paper weights.
  • I'd not heard of miracast before this thread, but do like my Chromecast.  It's great for media - I use mine for netflix and BBC iplayer.  Once started I can turn the originating device (I use a tablet) off, and it'll continue to stream.

    Casting chrome tabs doesn't work very well for video though, it's very laggy.
  • cowjam  I had forgot about the direct video download method in chromecast.    Where the chromecast device downloads the video stream.   Even so you still have to produce the video stream somewhere.

    To be more correct chromecast device does have inbuilt webbrowser but its insanely limited fonts and other things Openlp uses cannot be displayed on a chromecast device using its internal web-browser.   Also not all chromecast devices are nice enough to keep on going when the source device/application turns off.

    After a bit more digging a custom reciever might be workable with a chromecast device.  Please note the word might.   It would require openlp to render to video or jpegs that chromecast supports.  Then openlp has to manage the network bandwidth corrections.

    HTML over network for openlp is lighter due to the fact you can put Openlp fonts in a more Powerful version of a dongle.

    There are hidden chromecast settings in chrome to alter bandwidth control.

    cowjam its ugly to access the bandwidth control to make chrome tabs not as lag.

    miracast is over all more friendly when it comes to sending a monitor with video.

    If you were after the lowest bandwidth and the most dependable.   I would say under 99 dollar device that can run Linux and have openlp able to run a slave instance.

    Might seam annoying to have specialist device.  Both miracast and chromecast don't cope with broken/unstable network connections.   A slave instance setup where the full data is transferred to the slave results in the slave being able to hold state even if the controller connection drops out also video playback to keep on going not disrupted in case of a drop out.   Between 60 to 100 dollars buys reasonable powerful arm device these days.

    Goal of openlp is a quality presentation.   Sometimes penny pinching only comes back to bite.

    Chromecast and miracast are both streaming solutions so both dependant on how good your network connection is for the complete presentation time frame.   Here that can be 3 hours for something to screw up.
  • edited February 2017
    oiaohm sums up the problem really good: "Both miracast and chromecast don't cope with broken/unstable network connections. [...] 3 hours for something to screw up. [...] [Better use a] device that can run Linux and [...] being able to hold state even if the controller connection drops out also video playback to keep on going."

    Maybe here's a solution:
  • Bit OT but...

    work is Linux bound.  Even kinda worse systemd bound.  As in you need systemd parts so it works.

    And so the great Linux schism due to systemd starts. 

    Regardless of what the systemd proponents say — that systemd is just for booting and setting up the machine and user land applications will be unaffected — here is an example contradicting that. Now, irrespective of whether one backs systemd or SysV init, the reality is many users (and distros), especially people running servers, do not like systemd but there will be cases where apps are made that incorporate/rely on the systemd 'way of working'.

    That's why I've switched to FreeBSD for my servers.
  • edited March 2017
    We use...
    1. Miracast HDMI dongle (in our case the "Microsoft Wireless Display Adapter v2") to extend our Window10 desktop instead of connecting the projector via a HDMI cable.
    2. Android app + Miracast dongle to display lyrics from our OpenLP database to a TV sceen via Miracast without a running OpenLP desktop app! https://play.google.com/store/apps/details?id=org.worshipsongs

    Import information: The Chromecast dongle can not be used to extend your desktop (secondary display)!
    You'll only be able to mirror the contents of your computer screen or cast cast-enabled websites (ex. Youtube and Netflix) to your Chromecast. There is not option to extend your display at this time.
    Source: https://productforums.google.com/d/msg/chromecast/b6z_JtkXmbk/rs-_NzkfAgAJ

    But: Maybe the OpenLP Android app and the OpenLP desktop edition can be "Google Cast enabled"? Maybe would make possible to let the Chromecast show the URL that is has been given, like the Live View?
  • What about on the computer you're running openLP on, with remote enabled, Open Chrome and go to http://localhost:4316/main and mirror that page to the Chromecast, then minimise Chrome and it will keep showing, you can go back to OpenLP to control it.

    I believe the view on this page is actually a PNG image, it could be possible to make this run natively on the Chromecast with a bit of effort. But the web view of OpenLP isn't perfect, it won't show PowerPoints properly but should be okay for songs and bibles

Sign In or Register to comment.