A Chrome extension to load USYD Echo360 videos without Flash.
Includes playback speed controls and thumbnail seeking.
Get it on the Chrome Web Store → or as a .crx
Instructions to download the video using ffmpeg →
This is a port of the Chrome extension with a few changes made.
I will not be releasing this on the Safari Extension Gallery or Mac App Store
due to Apple’s 99 USD/year developer fee.
This extension redirects the browser from the default (horrible) Flash player to the iPad version of the player. It then uses hls.js to play the HLS stream in the Chrome video player.
background.js
enables the toolbar icon ondelivery.streaming.sydney.edu.au
pagesredirect.js
redirectsview.streaming.sydney.edu.au
pages to the iPad player athttp://delivery.streaming.edu.au/echo/templates/.../echo_files/echo_ipad.htm
preventRedirect.js
overwrites over the whole page to prevent the iPad player from redirecting to the error pageecho360.js
is the JavaScript code loaded by the iPad player, copied here and bundled with the extension to comply with the Chrome Web Store’s policy on code obfuscation. This is necessary aspreventRedirect.js
removes the original code. This code has also been patched to prevent redirecting to the error page.hls.js
is the bundled hls.jscontentScript.js
plays the HLS stream, adds custom controls below the video, re-adds the metadata on the top of the page, and fixes thumbnail seekingstyle.css
is copied from the Echo360 player (again due topreventRedirect.js
) and has been modified with UI changes to make the player biggerpopup.js
displays the extension’s version number in the popup
This extension uses the non-HTTPS version of the iPad player since the HLS stream is not served with HTTPS, so could not be loaded in Chrome without the user enabling mixed content every time they watch a video.
This also means the metadata on the top of the player page was broken, since it
gets data from a HTTPS iframe on the page, which Chrome blocks if the main page
is HTTP. contentScript.js
fixes this.
This extension is limited to USYD’s implementation of Echo360. If you want to
extend this extension to your own university’s Echo360 system, replace the
streaming.sydney.edu.au
host names on the following files with the corresponding
host names:
manifest.json
lines 10 and 14background.js
line 5
Version | Changes |
---|---|
1.3.3 | Copied Echo360 code to comply with Chrome Web Store policy |
1.3.2 | Bundle unminified hls.js to comply with Chrome Web Store policy |
1.3.1 | Remove old unnecessary XHR request in contentScripts.js |
1.3.0 | UI changes, fix Windows Chrome always going to ios_error.htm |
1.2.1 | More UI fixes for Windows |
1.2.0 | UI fixes for Windows, show popup when ios_error.htm is shown |
1.1.0 | Clean up code and add README.md |
1.0.0 | Initial release to the Chrome Web Store |
This extension and its source code is released under the MIT Licence.
This extension bundles hls.js, which is licensed under Apache Licence 2.0. Its copyright notice is preserved here.