All Projects → amarcu5 → Piper

amarcu5 / Piper

Licence: gpl-3.0
Browser extension that adds Picture in Picture support to YouTube, Netflix, Amazon Video, Twitch, Plex, and more!

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Piper

Piptool
Add the Picture-in-Picture Functionality to YouTube, Netflix, Plex and other video broadcasting services in macOS Sierra
Stars: ✭ 337 (+48.46%)
Mutual labels:  netflix, plex, youtube, safari-extension
Dualsub Support
General purpose subtitle renderer
Stars: ✭ 163 (-28.19%)
Mutual labels:  netflix, youtube, chrome-extension
Dual Captions
🌐 Subtitles in two languages for YouTube, Netflix & Disney+
Stars: ✭ 164 (-27.75%)
Mutual labels:  netflix, youtube, chrome-extension
Simplified Twitter
Remove distractions from the new Twitter layout. Extension for Chrome, Firefox, Safari, Edge & More
Stars: ✭ 111 (-51.1%)
Mutual labels:  chrome-extension, safari-extension
Daily Coding Problem
Series of the problem 💯 and solution ✅ asked by Daily Coding problem👨‍🎓 website.
Stars: ✭ 90 (-60.35%)
Mutual labels:  netflix, youtube
Netflix Categories
Unlock Netflix Hidden Categories With This Browser Extension
Stars: ✭ 93 (-59.03%)
Mutual labels:  netflix, chrome-extension
Youtube Extension
🔴YouTube Extension🧰>80 Features ⭐Please document, code or donate📌Tidy📌Longest-standing(2012)(Users>350000)⋮🎞️🎛️🎧⚙️🎬🔊☕🎨🧩🧪📈⏯️(Player: Repeat Screenshot Rotate; Hide related video distraction. Always expand video Description. Playback speed. Video Quality bandwidth H.264 electricity. Player Size Full Window. Themes Customization. Statistics. Reverse Playlist YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube Youtube enhancer YouTube app YouTube video YouTube YouTube YouTube api v3 YouTube playback YouTube player VP8 VP9 AV1 vidIQ tubebuddy download adblocker adblock ads sponsorblock addon youtube music ⭐ youtube premium css css4 html5 ytdl youtube-dl invidious iridium ParticleCore youtube+ youtube++ youtube-plus maia-yt youtube nonstop youtube control center vlogger vlog h264ify h264 m.youtube.com music.youtube.com studio.youtube youtube mobile youtube studio ⭐ kids Vanced gaming.youtube.com gaming youtubecenter freetube lite-youtube-embed newpipe youtube-dl-gui mps-youtube nuclear pytube awesome youtubers youtube downloader 8k 4k 60fps 30fps youtubeexplode vidgear k-lite tubebuddy adobe apple ios iphone design simplify ffmpeg premiere designer annoyance youtube upload
Stars: ✭ 1,027 (+352.42%)
Mutual labels:  youtube, chrome-extension
Yt Ad Autoskipper
A browser extension that automates skipping ad on Youtube. This is not an ad blocker, it just automates the process of clicking on the "Skip Ad" button on Youtube.
Stars: ✭ 127 (-44.05%)
Mutual labels:  youtube, chrome-extension
Remove Google Redirection
Remove redirection and click-tracking in Google search results.
Stars: ✭ 111 (-51.1%)
Mutual labels:  chrome-extension, safari-extension
Youtube Projects
This repository contains all the code I use in my YouTube tutorials.
Stars: ✭ 144 (-36.56%)
Mutual labels:  youtube, chrome-extension
Sponsorblock
Skip YouTube video sponsors (browser extension)
Stars: ✭ 3,627 (+1497.8%)
Mutual labels:  youtube, chrome-extension
Ghosttext
👻 Use your text editor to write in your browser. Everything you type in the editor will be instantly updated in the browser (and vice versa).
Stars: ✭ 2,614 (+1051.54%)
Mutual labels:  chrome-extension, safari-extension
Youtube time tracker
Chrome Extension that tracks time you spent on Youtube.
Stars: ✭ 84 (-63%)
Mutual labels:  youtube, chrome-extension
Floating Player
Floating Player is a Google Chrome extension to watch videos while you browse the internet
Stars: ✭ 77 (-66.08%)
Mutual labels:  youtube, chrome-extension
Yi Note
YiNote browser extension - online video note taking tool
Stars: ✭ 96 (-57.71%)
Mutual labels:  youtube, chrome-extension
Skip Ad
A simple lightweight Chrome extension that automatically skips YouTube Ads.
Stars: ✭ 54 (-76.21%)
Mutual labels:  youtube, chrome-extension
Github Hovercard
Neat hovercards for GitHub.
Stars: ✭ 1,655 (+629.07%)
Mutual labels:  chrome-extension, safari-extension
Sonarrplex
📡 View and manage your shows in Sonarr directly in the Plex app
Stars: ✭ 39 (-82.82%)
Mutual labels:  plex, chrome-extension
Play next
Play Next in YouTube - Chrome Extension
Stars: ✭ 43 (-81.06%)
Mutual labels:  youtube, chrome-extension
Spotify Lyrics
🎉 Desktop Spotify Web Player Instant Synchronised Lyrics
Stars: ✭ 162 (-28.63%)
Mutual labels:  chrome-extension, safari-extension

PiPer logo

PiPer

PiPer is the browser extension to watch video Picture in Picture.

Install · Donate · Report an issue


Contents

Features

  • Adds a dedicated Picture in Picture button to the video player of supported sites
  • Button integrates seamlessly with the player including hover effects and tooltips
  • Supports closed captions in Picture and Picture mode (Safari only)
  • Supports Safari and Chrome
  • Free and open source

Installation

Safari

Install from the Mac App Store by clicking "Get"
(The Safari Extension Gallery is now deprecated)

Chrome

Install from the Chrome Web Store by clicking "Add to Chrome"

...or live life on the edge with the latest development build (IMPORTANT: these builds do not update automatically!)

Supported sites

Changelog

You can find information about releases here

Development

Building

Prerequisites

  • Operating system
    • macOS: 10.12 Sierra or newer (required to build Safari extension)
    • Windows: Vista or newer using Cygwin
    • Linux: 64-bit Ubuntu 14.04+, Debian 8+, openSUSE 13.3+, or Fedora Linux 24+
  • Software

Build tools

The following build tools are used to build the extension:

These can be installed by executing the following command:

npm install -g csso-cli svgo xar-js google-closure-compiler

Steps

  1. Clone the repository
  2. Run make.sh
    1. By default this builds the unoptimized and unpackaged development version for all targets into the ./out/ directory
    2. Alternatively:
      • ./make.sh -p release to build the optimized release versions for all targets
      • ./make.sh -p release -t chrome to build the optimized release version for the Chrome browser
      • ./make.sh -h to see the full list of options

Supporting a new site

If we wanted to support example.com with the source:

<div class="video-container">
  <video src="blob:http://example.com/342b3a13-c892-54ec-84f6-281579de03ab"></video>
  <div class="video-captions">
    Example caption
  </div>
  <div class="video-controls">
    <button class="control button-play">Play</button>
    <button class="control button-fullscreen">Fullscreen</button>
  </div>
</div>

We would start by adding a new file example.js in the resources directory:

export const domain = 'example';

export const resource = {
  buttonParent: function() {
    // Returns the element that will contain the button
    return document.querySelector('.video-controls');
  },
  videoElement: function() {
    // Returns the video element
    return document.querySelector('.video-container video');
  },
  
  // Optional
  captionElement: function() {
    // Returns the element that contains the video captions
    return document.querySelector('.video-captions');
  },
};

We might want to style the button so that it integrates with the page better:

export const resource = {
  ...
  // Assign a CSS class
  buttonClassName: 'control',
  // Scale the button
  buttonScale: 0.5,
  // Apply custom CSS styles
  buttonStyle: /** CSS */ (`
    /* Declaring CSS this way ensures it gets optimized when the extension is built */
    cursor: pointer;
    opacity: 0.5;
  `),
  // Apply a custom CSS hover style
  buttonHoverStyle: /** CSS */ (`opacity: 1 !important`),
};

For more examples, please see the source

Acknowledgements

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].