The Wayback Machine - https://web.archive.org/web/20190814060902/https://github.com/Rafostar/gnome-shell-extension-cast-to-tv
Skip to content
Cast files to Chromecast, web browser or media player app over local network.
JavaScript Python HTML CSS Makefile Shell
Branch: master
Clone or download
Latest commit e5863fa Aug 12, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Create FUNDING.yml Jun 4, 2019
appIcon Redesign of extension settings - part 2 Mar 29, 2019
nautilus Call "Playercast app" simply "Playercast" in nautilus extension Jul 26, 2019
node_scripts Simplify server responses code by using sendStatus() function Aug 3, 2019
po New translations cast-to-tv.pot (German) Aug 12, 2019
schemas Compiled schemas with new default values Jul 27, 2019
webplayer Put all webplayer scripts as html body elements Jun 12, 2019
.gitignore Keep all po files in single dir May 21, 2019
COPYING Rename LICENSE to COPYING Jul 2, 2019
Makefile Rename LICENSE to COPYING Jul 2, 2019
README.md Update README.md Jul 30, 2019
_config.yml Set theme jekyll-theme-architect Jul 8, 2019
addons.js Fixed reference to undefined property warning Aug 9, 2019
crowdin.yml Update Crowdin configuration file May 21, 2019
extension.js Show/hide remote buttons using function, added remote "LIVE" mode Aug 2, 2019
file-chooser.js Remove unnecessary variable May 10, 2019
helper.js Small helper.js code refactor Aug 2, 2019
metadata.json Bump version to v10 Aug 12, 2019
package-lock.json Replace unmaintained chromecast-player with chromecast-player-reloaded May 10, 2019
package.json Support both nodejs and node, remove deprecated Mainloop import May 16, 2019
prefs.js Do not start service after modules install when not previously enable… Aug 12, 2019
prefs_shared.js Split some code to separate files for future add-ons Aug 1, 2019
server-monitor.js Disable "service-enabled" setting when modules not installed Jul 27, 2019
shared.js Support for multiple devices with Playercast app Jul 8, 2019
temp.js Replace convenience.js with my own code implementation Aug 1, 2019
widget.js Find extension by metadata extension-id Aug 8, 2019

README.md

Gnome Shell Extension Cast to TV

License Crowdin Donate Donate Twitter

Features

  • Cast videos, music and pictures to:
    • Chromecast devices
    • Any device with web browser (other PC or smartphone)
    • Media player app (eg. MPV, VLC)
  • Supports external and built-in subtitles (along with custom fansubs)
  • Chromecast remote controller (control playback from gnome top bar)
  • Play on other device using integrated web player and change content without refreshing web page
  • Transcode videos to supported format on the fly
  • Optional VAAPI video encoding for low cpu usage
  • Stream music with visualizations (requires fast cpu)
  • Nautilus right click menu integration

Playercast app turns your media player on any other Linux device (e.g. HTPC, Raspberry Pi) into a media receiver that works similarly to Chromecast.

Expand extension functionality through Add-ons (experimental):

Download

For latest release and changelog check out releases page.

Installation from source code is described in the wiki.

After enabling the extension, remember to install all requirements and npm dependencies.

Requirements

Here is a list of required programs that Cast to TV depends on:

Please make sure you have all of the above installed.

Optional:

Nautilus extension is included in Cast to TV (since version 9).
Alternatively you can manually install nautilus-cast on which the included extension is based (please note that they are not the same).

You can optionally use hardware VAAPI encoding. This of course requires working VAAPI drivers. More info and how to install VAAPI here.

Installation

Ubuntu

Having enabled universe repo run:

sudo apt install npm nodejs ffmpeg

Ubuntu is shipping wrong npm version for some reason.
Update it and clear bash cache:

sudo npm install -g npm
hash -r

Nautilus integration (optional):

sudo apt install python-nautilus python3-gi

Fedora

Having enabled rpm fusion repos run:

sudo dnf install npm nodejs ffmpeg

Nautilus integration (optional):

sudo dnf install nautilus-python pygobject3 python3-gobject

Install npm dependencies

Before using extension you also must install some additional npm packages.

You should also repeat this step when updating the extension to the new version, otherwise you may not have newly added or updated dependencies.

New method

In version 9 and later this can be done from extension preferences.
Go to Cast Settings -> Modules and click Install npm modules button.

You must have npm and nodejs installed prior to this step.

Old method

Run below code in terminal:

cd ~/.local/share/gnome-shell/extensions/cast-to-tv@rafostar.github.com
npm install

How to use

Detailed instructions related to configuration and using the extension are in the wiki.
You can also find some usage examples and firewall config there.

Check out FAQ, before asking questions.

Info for translators

Preferred translation method is to use Cast to TV Crowdin web page.

Crowdin does not require any additional tools and translating can be done through web browser. You can login using GitHub account or create a new one. Only I can add new languages to this project, so if your language is not available, please contact me first (you can leave comment here).

Alternatively you can still use Makefile and tools like Poedit to generate translations:

make potfile - generates updated POT file.
make mergepo - merges changes from POT file into all PO files.
make compilemo - compiles translation files.

After compiling restart gnome-shell for changes to be applied.

Special Thanks

Special thanks go to Simon Kusterer (xat) for developing chromecast-player and Sam Potts for making Plyr, an awesome HTML5 video player.

Nautilus Extension

Many thanks to Rendy Anthony for helping me make Nautilus integration based on his nautilus-cast extension.

Translations

Many thanks to everyone involved in translating this extension either through GitHub or Crowdin.

Donation

If you like my work please support it by buying me a cup of coffee :-)

PayPal

You can’t perform that action at this time.