All Projects → keredson → Gnomecast

keredson / Gnomecast

Licence: gpl-3.0
Chromecast local files from Linux - supports MKV, subtitles, 5.1 sound and 4K!

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Gnomecast

KinoCast
Kinox.to für Android und Chromecast
Stars: ✭ 29 (-97.8%)
Mutual labels:  chromecast
Bw plex
binge watching for plex
Stars: ✭ 322 (-75.59%)
Mutual labels:  chromecast
Appleevents
The unofficial Apple Events app for macOS
Stars: ✭ 831 (-37%)
Mutual labels:  chromecast
chromecast-api
📺 Chromecast Node.js module
Stars: ✭ 122 (-90.75%)
Mutual labels:  chromecast
Pi-OpenCast
📺 Transform your Raspberry Pi into an awesome streaming device.
Stars: ✭ 29 (-97.8%)
Mutual labels:  chromecast
Chromecast mpris
📺 Control Chromecasts from Linux and D-Bus
Stars: ✭ 413 (-68.69%)
Mutual labels:  chromecast
lastcast
Scrobble music playing on Chromecast (from Spotify, Google Play, SoundCloud, ...) to last.fm and libre.fm
Stars: ✭ 73 (-94.47%)
Mutual labels:  chromecast
Homeassistant Config
My personal Home Assistant config
Stars: ✭ 66 (-95%)
Mutual labels:  chromecast
Noice
A native Android app to relax, improve focus and boost productivity with minimal background noise.
Stars: ✭ 264 (-79.98%)
Mutual labels:  chromecast
Soundcast
Cast audio from macOS to Chromecast
Stars: ✭ 684 (-48.14%)
Mutual labels:  chromecast
cast control
📺 Control Chromecasts from Linux and D-Bus
Stars: ✭ 443 (-66.41%)
Mutual labels:  chromecast
Rhythmbox-Chromecast
Send all your music to your Chromecast (Audio) within Rhythmbox
Stars: ✭ 17 (-98.71%)
Mutual labels:  chromecast
React Native Google Cast
React Native wrapper for the Google Cast SDK
Stars: ✭ 475 (-63.99%)
Mutual labels:  chromecast
cast-web-api
Quick and dirty web API for Google Cast enabled devices.
Stars: ✭ 126 (-90.45%)
Mutual labels:  chromecast
Audio Cast Radio
Play some radio stations on Chromecast/Chromecast Audio
Stars: ✭ 12 (-99.09%)
Mutual labels:  chromecast
android-cast-remote-display-sample
📻 Google Cast's Remote Display Sample for Android
Stars: ✭ 38 (-97.12%)
Mutual labels:  chromecast
Go Chromecast
cli for Google Chromecast, Home devices and Cast Groups
Stars: ✭ 325 (-75.36%)
Mutual labels:  chromecast
Opencastswift
An open source implementation of the Google Cast SDK written in Swift
Stars: ✭ 83 (-93.71%)
Mutual labels:  chromecast
C8tsender
c8tsender is a Google Chromecast sender server with a built-in REST API and responsive playlist interface
Stars: ✭ 29 (-97.8%)
Mutual labels:  chromecast
Awesome Smart Tv
⚡️A curated list of awesome resources for building Smart TV apps
Stars: ✭ 588 (-55.42%)
Mutual labels:  chromecast

alt text

Gnomecast logo

This is a native Linux GUI for casting local files to Chromecast devices. It supports:

  • Both audio and video files (anything ffmpeg can read)
  • Realtime transcoding (only when needed)
  • Subtitles (embedded and external SRT files)
  • Fast scrubbing (waiting 20s for buffering to skip 30s ahead is wrong!)
  • 4K videos on the Chromecast Ultra!

What's New

  • 1.9: Multi video/audio stream support.
  • 1.8: 5.1/7.1 surround sound E/AC3 support.
  • 1.7: Drag and drop files into the main UI.
  • 1.6: Mutiple file / queuing support.

Install

Please run:

$ sudo apt install ffmpeg python3-pip python3-gi
$ pip3 install gnomecast

If installing in a mkvirtualenv built virtual environment, make sure you include the --system-site-packages parameter to get the GTK bindings.

Run

After installing, log out and log back in. It will be in your launcher:

alt text

You can also run it from the command line:

$ gnomecast

Or:

$ python3 -m gnomecast

Please report bugs, including video files that don't work for you!

Tests

Run the tests from the commandline:

$ python3 test_gnomecast.py

My File Won't Play!

Chromecasts are picky, and the built in media receiver doesn't give any feedback regarding why it won't play something. (It just flashes and quits on the main TV.) If your file won't play, please click the info button:

image

And then the "Report File Doesn't Play" button:

image

So I can fix it!

Thanks To...

And everyone who made this project hit HN's front page and #2 on GitHub's trending list! That's so awesome!!!

alt text

Transcoding

Chromecasts only support a handful of media formats. See: https://developers.google.com/cast/docs/media

So some amount of transcoding is necessary if your video files don't conform. But we're smart about it. If you have an .mkv file with h264 video and AAC audio, we use ffmpeg to simply rewrite the container (to .mp4) without touching the underlying streams, which my XPS 13 can at around 100x realtime (it's fully IO bound).

Now if you have that same .mkv file with and A3C audio stream (which Chromecast doesn't support) we'll rewrite the container, copy the h264 stream as is and only transcode the audio (at about 20x).

If neither your file's audio or video streams are supported, then it'll do a full transcode (at around 5x).

We write the entire transcoded file to your /tmp directory in order to make scrubbing fast and glitch-free, a good trade-off IMO. Hopefully you're not running your drive at less than one video's worth of free space!

Subtitles

Chromecast only supports a handful of subtitle formats, .srt not included. But it does support WebVTT. So we extract whatever subtitles are in your video, convert them to WebVTT, and then reattach them to the video through Chomecast's API.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].