Plays Local videos at your computer on your Chromecast. Beta for now.
- A reachable Chromecast on your network, no client isolation in your router etc.
- Chrome Browser version 32 or later
- Cast extension in Chrome Store
- NodeJS v0.10+
- FFMpeg installed and reachable in PATH (Windows guide)
- A fast enough home interconnection network
- On a terminal, do the following:
# If you need to install FFMpeg on a mac
# libvo-aacenc is the default codec for streaming to the chromecast
$ brew install ffmpeg --with-libvo-aacenc
# OR Use "Download ZIP" button.
$ git clone https://github.com/mustafaakin/cast-localvideo.git
$ cd cast-localvideo
$ npm install
$ node app
-
In Chrome, go to http://localhost:8000. You will see your folders (just change the folder to
/
on Linux & Mac). There is no root concept in Windows as in Unix, so if you wish to use another drive, just useD:
-
Navigate through your folders to locate a video.
-
Select the video and you will see the metadata if it is available in the file. (It currently shows all extensions, does not check if it is really a video file)
-
Click play local to test to see if it plays on Chrome. Note that it plays very fast after some seconds, because Chrome cannot detect its length. It may be a bug, see this Stackoverflow Question to help solving this.
-
Click the "Cast to Chromecast" button to play the video on your Chromecast. It will plays normally, at its normal speed.
-
Check the terminal to see if any errors were thrown. Sometimes FFmpeg can not handle the video and as a result it will crash.
I developed this on Windows, on my parents computer remotely via TeamViewer. It is not feature complete, but it is easy to add features. Any pull requests and forks are welcome.
- Be able to pause/resume content.
- Solve the duration bug.
- Make use of the session feature of the Cast API to remember what is playing even if the server is down.
- Package it as a nice application for end users.
- Embed subtitles via FFMpeg.
- Resize the videos if they are too big.
- Options to change encoding options.
Contact mustafa91 at gmail for any questions. My website is here.