This repository has been archived on 2023-12-19. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
2017-12-07 18:18:11 +01:00
background initial commit 2017-12-07 18:18:11 +01:00
fonts initial commit 2017-12-07 18:18:11 +01:00
icons initial commit 2017-12-07 18:18:11 +01:00
options initial commit 2017-12-07 18:18:11 +01:00
splash initial commit 2017-12-07 18:18:11 +01:00
LICENSE initial commit 2017-12-07 18:18:11 +01:00
manifest.json initial commit 2017-12-07 18:18:11 +01:00
muffcast-server.js initial commit 2017-12-07 18:18:11 +01:00
muffcast.py initial commit 2017-12-07 18:18:11 +01:00
README.md initial commit 2017-12-07 18:18:11 +01:00

Muffcast

An alternative to Chromecast working with every website with HTML5 Video/Audio elements by just playing HTML5 video/audio on other Firefox instance in full-screen.

Server

This is the server extension. Install on a device for playing HTML5 Videos in full-screen controlled by Muffcast Clients.

Requirements

  • Firefox/Browser instance
  • Internet access

To benefit of this extension, Muffcast Client is required on other Firefox/Browser instance in the same network.

Firefox/Browser Setup

For full-screen support, following setup in Firefox is required In about:config full-screen-api.allow-trusted-requests-only = false

On stopped playback, images from unsplash.com are loaded. If you have an unsplash API account, feel free to enter you API-key and credit name for Hotlinking.

System Setup

Native application muffcast.py is required for working properly with client extension. Setup for native application as described here https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Native_messaging

muffcast.json

{
  "name": "muffcast",
  "path": *path to muffcast.py*,
  "type": "stdio",
  "allowed_extensions": ["muffcast@champonthis.de"]
}

Additional Raspberry Pi Configuration

  • ARCH Linux
  • Matchbox Window Manager
  • Firefox with Extension

Raspberry Pi is limited on playing HTML5 videos in browser. Do not expect to play 1080p videos smoothly.

Limitations

This only works for websites with HTML5 Video/Audio elements. This does not work in native applications.

To work properly for websites with authentication (like Netflix), the browser on server side also needs valid session. This extension does not handle any authentication, so valid sessions are required. In short: manually login and save session before use.

There are some websites that required further interactions before the HTML5 Video is loaded properly, e.g. to click a non-standard play button. Those sites do not work without special treatment in the server component. Please feel free to report issues with those sites for being included in server component code.

This extension is developed and tested in Firefox 57. A port for other browsers like Chrome should be easy due to WebExtensions API, but is not warranted to work properly.

Video quality is not part of the Media API and any websites handles this on it's own. So like authentication, to control playback quality, manually settings on server side are required. (Hopefully the automatic settings fit your needs, but e.g. on a Raspberry Pi to high quality can cause stuttering.)