• Stars
    star
    292
  • Rank 142,152 (Top 3 %)
  • Language
    JavaScript
  • License
    GNU General Publi...
  • Created almost 6 years ago
  • Updated about 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Cast files to Chromecast, web browser or media player app over local network.

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/NVENC video encoding for low cpu usage
  • Stream music with visualizations (requires fast cpu)
  • Nautilus right click menu integration
  • Media playlist with "Drag and Drop" support

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:

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:

  • npm (for dependencies installation)
  • nodejs (v8.6 or newer)
  • ffmpeg (with ffprobe)

Please make sure you have all of the above installed.

Optional:

Nautilus extension is included in Cast to TV (since version 9).

You can optionally use hardware VAAPI or NVENC encoding. This of course requires working drivers. More info and how to install hardware acceleration 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

Fedora

Having enabled rpm fusion repos run:

sudo dnf install npm nodejs ffmpeg

Arch

sudo pacman -S npm nodejs ffmpeg

Nautilus integration (optional)

  • Ubuntu: sudo apt install python3-nautilus python3-gi
  • Fedora: sudo dnf install nautilus-python python3-gobject
  • Arch: sudo pacman -S python-nautilus python-gobject

Ubuntu releases older than 20.04 require python-nautilus instead of python3-nautilus.
Older Fedora releases additionally require pygobject3.

Nautilus integration is disabled by default. Remember to turn it on in this extension settings.

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/[email protected]
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

More Repositories

1

clapper

Level up your video experience with a modern and user-friendly media player.
C
768
star
2

playercast

Cast to media player and control playback remotely.
JavaScript
108
star
3

cec-controller

Easy to use cec-client wrapper
JavaScript
99
star
4

cast-to-tv-desktop-addon

Desktop streaming support for GNOME Shell Extension Cast to TV.
JavaScript
88
star
5

gnome-shell-extension-pip-on-top

Makes "Picture-in-Picture" windows stay on top (even on Wayland session). Compatible with Firefox, but may work with few other browsers too.
JavaScript
54
star
6

shell-rss-torrent

Download torrents from RSS feeds with a simple shell script
Shell
25
star
7

cast-to-tv-links-addon

Web links casting support for GNOME Shell Extension Cast to TV.
JavaScript
23
star
8

gtuber

C library to fetch media info from websites
C
11
star
9

gnome-shell-extension-tv-remote

Control TV and devices connected to it via HDMI-CEC
JavaScript
8
star
10

cec-web-api

Simple HTTP server to control connected HDMI-CEC devices
JavaScript
7
star
11

chromecast-controller

Easily cast to Chromecast and control playback
JavaScript
4
star
12

castnow-gui

castnow-gui - Qt interface for command-line chromecast player
C++
3
star
13

ir-gen

Generate ir-keytable config for unsupported IR remotes.
Shell
3
star
14

gst-rec

Universal screen recorder powered by GStreamer
JavaScript
2
star
15

ffmpeg-extract

Find and extract video subtitles or music cover using ffmpeg
JavaScript
1
star
16

media-player-controller

Spawn media player app and control playback
JavaScript
1
star
17

cast-to-tv-config

Manually configure Chromecast IP address for GNOME Shell Extension Cast to TV.
JavaScript
1
star
18

gstreamer-recorder

GStreamer wrapper for recording desktop.
JavaScript
1
star
19

clapper-vala-test

Test of Clapper GI bindings
Vala
1
star
20

clapper-enhancers

Plugins enhancing Clapper library capabilities
Python
1
star