Code Monkey home page Code Monkey logo

html5-video-everywhere's Introduction

HTML5 Video EveryWhere

amo version amo users amo stars donate

Higher performance and stable video watching experience on the web.

Some streaming sites video players suck. This add-on will replace them with browser built-in video player for higher performance and more stable experience. Currently, it supports YouTube, Facebook, Vimeo, Dailymotion, Break, Metacafe, Lego and even more sites are coming.

NOTE: This extension will change the page content of the supported video streaming sites. As a result, many extensions that depends on this content may not work as expected.

Install

Visit the extension website h5vew.tik.tn for latest version.

Build

You'll need:

  • Node.js, v8.x or higher
  • yarn a better package manager instead of npm

Before building the extension, you need to install gulp-cli and all dependencies: Change into the source and install gulp-cli and all dependencies:

git clone https://github.com/lejenome/html5-video-everywhere/
cd html5-video-everywhere
yarn global add gulp-cli
yarn

To build the addon for Firefox:

npx gulp extBuildFirefox

To build the addon for Google Chrome:

npx gulp extBuildChrome

Documentation

You can also generate the documentation from the source code under docs/api folder with this command:

npx gulp docs

Credit

HTML5 Video EveryWhere contains codes from iaextractor project licensed under MPL 1.1.

Donate

If you find this project useful, you can give me a cup of coffee :)

paypal

Self Promotion

This software is developed by Moez Bouhlel, founder of Tik, a skilled software development and consulting agency. For a list of its services, visit its website tik.tn or contact it at [email protected].

Licence

This extension is free software; it is distributed under the MPL 2.0 License.

Copyright ยฉ 2014-2020, Moez Bouhlel ([email protected]) & The Contributors

html5-video-everywhere's People

Contributors

adamvy avatar durazell avatar ispedals avatar jomo avatar lejenome avatar nikolas avatar wildstray avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

html5-video-everywhere's Issues

Volume isn't remembered

As title says.
This is a very annoying issue for me, as volume always starts at the highest.

  • The volume isn't remembered as a default setting - not referring to the setting the volume from the settings.

[YouTube] Add missing resolutions on youtube.

Hello!
I gave this a try, but videos seem to only up to 720p.
Which suggests to me that that resolutions that are served via Media Source extensions are missing.
Can these be added?
Though disabled by default after enabling media.mediasource.enabled these are playable with firefox even on the stable branch.

[Youtube] Videos don't get added to watch history

Youtube has a feature that keeps track of videos you watch when logged in to google account. This is very useful as you can skip over videos you've already watched in playlist or add only unwatched videos from subscribed channel.

VLCTube adds new item by calling the URL below. This could be used but its missing awful lot of youtube parameters that are sent with normal requests.

https://www.youtube.com/user_watch?t=1&asv=3&video_id=ID_OF_THE_VIDEO

"Disable for this video" feature

Sometimes, you want to disable the HTML5 player, perhaps because the original player has more features, and you want to see a specific thing. In that case, it would be good to have a "Disable for this video" feature to reload the page without replacing the video player. It would be best placed on the context menu or a player button.

Flash SWF object url handling.

Redirect Flash SWF file request (flash player inside <object> tag) to a custom SWF file that replaces its <object> and <embed> tags with an <iframe> with src set to the HTML5 embed version.

This will be useful on recent verions of Firefox with Shumway enabled and when a site uses an embed code from the streaming site that contains <object> or <embed> tag.

This Flash program should be generic, so could be used by all drivers (Facebook, Vimeo,..). And, it should read parameters from its URL query params.
It should be too light and support most of open source Flash implementations (Gnash, Shumway, Lightspark).

Add support for Brightcove Experience

Brightcove Experience is a video platform used by some news websites (eg. http://tv.ilfattoquotidiano.it/)

The plaform itself seems to support html5, unfortunately the video producers choose to use flash only to stream videos :\

In html of pages containing Brightcove videos there are some "meta", eg.:

<meta property="og:type" content="video" />
<meta property="og:video:width" content="380" />
<meta property="og:video:height" content="280" />
<meta property="og:video" content="http://c.brightcove.com/services/viewer/federated_f9/?isVid=1&isUI=1&playerID=2274739660001&autoStart=true&videoId=4194558956001" />
<meta property="og:video:secure_url" content="https://secure.brightcove.com/services/viewer/federated_f9/?isVid=1&isUI=1&playerID=2274739660001&autoStart=true&videoId=4194558956001&secureConnections=true" />
<meta property="og:video:type" content="application/x-shockwave-flash" />

The property "og:video" might be interesting:

http://c.brightcove.com/services/viewer/federated_f9/?isVid=1&isUI=1&playerID=2274739660001&autoStart=true&videoId=4194558956001

That is redirected to (maybe a load balancer?):

http://admin.brightcove.com/viewer/us20150326.1403/BrightcoveBootloader.swf?playerID=2274739660001&autoStart=true&isUI=1&isVid=1&videoId=4194558956001

Wich is redirected to:

http://admin.brightcove.com/viewer/us20150326.1403/federated/BrightcovePlayer.swf?playerID=2274739660001&autoStart=true&isUI=1&isVid=1&videoId=4194558956001

From there, some network sniffing and/or reverse engineering is needed to understand how the URL of the stream is obtained...

self.port.on("preferences") does not exec on driver with start="start" until all code terminates

Drivers can not get preferences until all code outside Events callbacks terminates including code inside Promises.

As result, Driver with defaults exporsts.when will not be able to access preferences because onReady() will not use the Event callback and Promises will not works. So, currently all Drivers need to move to exports.when = "start" and wrap the needed part of its code inside onReady() funct

e.g: this will affects getPreferredFmt() funct and all code needing access preferences

Use JPM tool

Starting from Firefox ESR v38, JPM will replace CFX.

flashgot copyright notice

Fellow hacker.

IceCat is the GNU version of the Mozilla Firefox browser. IceCat comes with HTML5 Video Everywhere! inbuilt, an alternative to Flash player addons. Recently your software was added to the FSF's Free Software Directory: https://directory.fsf.org/wiki/HTML5_Video_Everywhere!

But there are a little problem I hope you can help us with. https://github.com/lejenome/html5-video-everywhere/blob/master/README.md says: "YouTube signature decoder code (data/flashgot-YouTubeSwf.js, lib/flashgot-YouTube.js) was copied from the GPL licenced flashgot extension with some code removed and other added code under the same licence.".

data/flashgot-YouTubeSwf.js does not have any copyright or license information in the top of file and there is no copy of the GPL alongside this file. Additionally, I do not know if other files interact with the flashgot-YouTubeSwf.js file in such a way that they would consittute a single combined work under the terms of the GNU GPL. If so, then the program as a whole would need to licensed under the terms of the GPL. I fyou could please update the header files and the license notices that would be greatly appreciated.

Thank you in advance.

Please add About in video context menu

Some web browsers come with HTML5 Video Everywhere pre-installed but it is not always possible to locate it in the "Add-ons" list. Abrowser (part of Trisquel GNU/Linux) is a good example.

This makes it hard to know which version of HTML5 Videos Everywhere that is being used, a work around could be to add "About HTML5 Video Everywhere" in the context menu for videos.

YouTube HTML5 Video Player has "About the HTML5 Player" in the context menu when you mouse hover over videos.

[Now part of Firefox 49.0] Repeat button in control bar

html5-video-everywhere--repeat_button_request

The Firefox add-on Media loop is described as a "Menu item to control [HTML5] audio/video loop" - https://addons.mozilla.org/en-US/firefox/addon/media-loop/. Media loop can be used to repeat HTML5 videos on any website, not just YouTube.

Can you to implement Media loop in HTML5 Videos Everywhere! and a Repeat button that uses it in Control. Refer to the red marked repeat icon located bottom right at the above modified screenshot?

HTML5 Video Everywhere is currently part of GNU IceCat, if we add the repeat button there is a great chance that other developers add the repeat button to their web players.

Reuse ViewTubePlus code

HTML5 Video Everywhere description: "Replace video player with Firefox native video player."

Pr0n sites status

GNUzilla IceCat 38.3.0 (based on Firefox ESR) and Abrowser 41.0.2 (based on Firefox) tested. Both packages (icecat and abrowser) was tested from Trisquel 7 which can be downloaded from trisquel.info.

Asorted table.

Domain Owner (see Terms page) LibreJS compatible HTML5
Pornhub NETWORK: pornhub.com MindGeek? N Y
Pornhub NETWORK: redtube.com MindGeek? N Y
Pornhub NETWORK: redtube.com.br MindGeek? N Y
xvideos.com
N Y
Pornhub NETWORK: youporn.com MindGeek? N Y
Pornhub NETWORK: youporngay.com MindGeek? N Y
Spankwire Sites: : keezmovies.com - Various players Glorious Holdings Investment Ltd. N Y
Pornhub NETWORK: thumbzilla.com MindGeek? N Y
xnxx.com
N Y
Pornhub NETWORK: peeperz.com MindGeek? N Y
Pornhub NETWORK: xtube.com MG Billing US Comp N Y
Spankwire Sites: spankwire.com Glorious Holdings Investment Ltd. N Y
xhamster.com
N Y
Pornhub NETWORK: tube8.com MindGeek? N Y
Pornhub NETWORK: tube8.es MindGeek? N Y
Pornhub NETWORK: tube8.fr MindGeek? N Y
Spankwire Sites: extremetube.com Glorious Holdings Investment Ltd. N Y
Extra: Spankwire Sites: (hits via pornmd.com): mofosex.com Glorious Holdings Investment Ltd. N Y
Pornhub NETWORK: gaytube.com MindGeek? N Y
Extra: pornxs.com (hits via pornmd.com) ? N Y

1: Sometimes context menu: Streams with old proprietary HTML5 video players that was used in various Pornhub websites long time ago. Example, tube8 player without context menu: http://www.keezmovies.com/video/alexa-jordan-and-nadia-nitro-share-a-hard-cock-5737262. Example, YouPorn player with context menu: http://www.keezmovies.com/video/danejones-young-slim-shaved-brunette-s-romantic-fuck-4865762
2: Example: http://www.peeperz.com/fap-along-harlot-girls-glasses/
3: Non-HTML5
4: View Page Info โ†’ Media, sort by Type, select Video to get the video resolution

Non-free software issue

GNU LibreJS block non-free JavaScrips for all videos on all websites, HTML5 compatible or not. The next step is to replace non-free JavaScripts with free JavaScripts to play the videos.

HTML5 Video Everywhere cannot play xvideos.com and xhamster.com like ViewTubePlus. Implementing ViewTubePlus in HTML5 Video Everywhere is a solution. ViewTubePlus is a UserScript alternative to Html5-video-everywhere with support for various porn sites. Official download link: https://heliotropium.it/ViewTubePlus.user.js

"HTML5" includes Javascript and often the Javascript code is nonfree; GNU LibreJS block non-free JavaScrips for all videos on all websites. We need to replace those JavaScripts with scripts that is distributed under free softwares licenses. EvoVid.com is an HTML5 video sharing site that supports (exclusively) Ogg Vorbis and WebM. The site also supports the HTML 5 "save as" feature so that people can download videos from the site. To learn how to validate your HTML5 read https://www.fsf.org/blogs/licensing/rel-jslicense.

Pornhub NETWORK have been advised to support Firefox native player for all Pornhub NETWORK sites.

A good starting point would be to show this message in the video screen on all sites: To watch the video you need to enable Javascript in your browser. Currently this is only seen in xhamster.com, when GNU LibreJS is enabled.

[Youtube] comments not working

the comment section under youtube videos will not load with this addon enabled.

Workarounds until a proper solution is implemented:

  • use ViewTube userscript as proposed by @andrewpros
  • use YouToube All HTML5 addon as proposed by @UhuruNUru

[Facebook] Support videos on timeline

It doesn't seem to work on facebook, both in video page and on timeline. Anything else I should be doing for it to work? Tried disabling flash plugin and restarting to force it using the addon but no difference. In youtube it's working properly

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.