warren-bank / crx-webcast-reloaded

Cast web videos to Google Chromecast from any Chromium-based desktop browser.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Background:

  • WebCast is a really nice enhancement to Chromium-based desktop web browsers
  • Its purpose is to identify video files as they are loaded into a webpage, and provide a mechanism by which to cast their links
    • when a link is "cast", Chromecast uses its embedded HTML5 browser to play the video
    • the device which was used to "cast" the link doesn't proxy the stream
  • The tool consists of two parts:
    • an external website
      • an AngularJS SPA (single page app)
      • the default route allows a user to enter the URL to a video file
      • another route can be passed a base64 encoded URL to a video file
      • after a URL is received, the following page elements are rendered:
        • an HTML5 video player
        • a Chromecast button, which uses Google APIs to scan for Chromecasts on the LAN and display a list of devices that could be used to play the video file
    • a Chromium extension
      • it hooks into the HTTP API to listen for requested URLs that end with a supported file extension
      • each URL that matches is made available to "cast"
      • clicking on any such video will open a new browser tab to WebCast's "external website" component
        • it's provided with the base64 encoded URL of the video file

Status:

  • WebCast hasn't been updated since:
    • version 0.2.1
    • June 2, 2014
  • It tests for the following file extensions:
    • .mp4
    • .mov

Purpose for Fork:

  • keep a backup of the "external website"
  • detect more types of video formats:
    • .3gp
    • .avi
    • .m1v
    • .m4v
    • .mkv
    • .mov
    • .mp4
    • .mp4v
    • .mpeg
    • .mpg
    • .mpg2
    • .mpv
    • .ogm
    • .ogv
    • .webm
    • .xvid
    • .m3u8
      • HLS: HTTP Live Streaming
    • .mpd
      • MPEG-DASH
    • .ism, .ismv, .ismc, .ism/Manifest
      • Microsoft Smooth Streaming

Additional Notes:

Possible To-Dos:

  • add an option to the Chromium extension that allows the user to change the URL of the "external website"
  • change the methodology used by the Chromium extension to detect matching video files
    • inspect the HTTP response "Content-Type" header

Links to Related Apps for Android:

  • WebCast for Android
    • minimal app
      • apk size is around 3.5 MB
      • only does what it says it will do
        • open source, no ads, no data collection, no communication with any 3rd-party server
        • uses the same methodology to detect video formats (as the WebCast-Reloaded Chromium extension)
      • not perfect, but works pretty darn good
  • EZ Web Video Cast
    • a minimal app that doesn't have ads and works great

Legal:

About

Cast web videos to Google Chromecast from any Chromium-based desktop browser.

License:GNU General Public License v2.0


Languages

Language:HTML 54.4%Language:JavaScript 30.3%Language:CSS 11.4%Language:Shell 2.5%Language:Batchfile 1.4%