PiPifier - a macOS and iOS Safari extension that lets you use every HTML5 video in Picture in Picture mode

Related tags

Video PiPifier
Overview

Banner

PiPifier

PiPifier is a macOS 10.12 and iOS Safari (action) extension that lets you use every HTML5 video in Picture in Picture mode

macOS

Download

It's free on the Mac AppStore. Get it here

How to use?

If you have an HTML5 video playing on any website like Youtube just press the PiPifier icon in Safari's toolbar to enable Picture-In-Picture for this video. Make sure you did interact with the video player once before pressing (like play/pause).

Demo_macOS

Requirements

For usage: macOS 10.12
For developement: Latest Xcode

Installation

(0. Launch PiPifier)

  1. Open Safari and go to Preferences
  2. Go to Extensions
  3. Enable PiPifier (If you don't see PiPifier and you built the app by yourself you need to sign it or choose Developer -> Allow unsigned extensions)
  4. Choose View > Customize Toolbar and drag the PiPifier icon to your toolbar
  5. To use Pipifier just press the icon when you're watching to an HTML5 video (Note: You need to interact with the video once. If it's autoplaying just pause and play again)

iOS

Download

It's free on the AppStore. Get it here

How to use

If you have an HTML5 video playing on any website like Youtube press the share button and select the 'Run PiPifier' Action Extension

Demo_iOS

Why?

There are many sites that avoids you using iOS default video controls (YouTube for example) so you can't enable PiP mode. PiPifier lets you enable PiP regardless those limitations.

Requirements

For usage: iPad with iOS 10 or iPhone with iOS 14
For developement: Latest Xcode

Installation

  1. Open Safari
  2. Open the Share Menu
  3. Choose More
  4. Enable 'Run PiPifier'
  5. Select 'Run PiPifier' on a website with a video

How can I help?

If you are a developer feel free to make any addition to improve PiPifier.

If you are user and want a native PiP button in any video player please make a request in the corresponding issue

Note for developers

The code is a bit dirty and there are some unused parts in it (Tried to add more features before I needed to focus on other things). If you want to help me clean it up feel free to do so :)

Contact

Made by @arno_app with an important bug fix by @Cacauu_de.

Comments
  • Replace activate event listener with onfocus

    Replace activate event listener with onfocus

    For some reason, the activate event listener is not being called due to which the only way to validate the toolbar button when the tab is switched is via the MutationObserver. However, thanks to the checks that I had put in place earlier, the JS would not tell the Swift code to validate it since it had already told it to do so before.

    I have fixed this by removing the check entirely, although you should revert this PR if you figure out how to make the activate event listener work.

    opened by kabiroberai 11
  • 1.2 - Inactive icon

    1.2 - Inactive icon

    When you watching something in PiP-window and then press icon that return PiP-window to a web page, Pipifier dock icon became inactive and it's impossible to get PiP-window again without web page reloading. It's 1.2 specific issue. Could you please provide 1.1 link, this bug drives me nuts. :(

    opened by pixilus 9
  • Cleaned up the code and made the toolbar button intelligently enable/disable

    Cleaned up the code and made the toolbar button intelligently enable/disable

    The title (and commits) say it all. I've removed a lot of things that I didn't think were needed, but if they are supposed to be for future features, feel free to select what to merge.

    opened by kabiroberai 8
  • Memory leaks

    Memory leaks

    This (very useful :) extension seems to cause Safari Web Content processes to leak memory (rather badly). For example after a day or so I find some of those processes using 4 to 15 (!) GB of memory.

    This doesn't seem related to actually using the extension but it's hard to be sure since Safari Web Content processes are shared between web pages :-/

    opened by DanielO 5
  • Netflix subtitle in original window

    Netflix subtitle in original window

    It works fine with Netflix movie, but the only problems is that subtitle stays on the original window. I don't know if it is possible to make subtitle to move on the pip window

    opened by OutOfBedlam 5
  • Need to update for Safari 12 / macOS 10.14 Mojave Support

    Need to update for Safari 12 / macOS 10.14 Mojave Support

    It appears the old safari extension setup no longer works in Safari 12 or newer (which ships with macOS 10.14 or newer & can be used on older versions). The extension appears to simply not be offered as an extension in Safari at this point. As such https://developer.apple.com/documentation/safariservices/safari_app_extensions/converting_a_safari_extension_to_a_safari_app_extension?language=objc should be followed to make this extension working again.

    opened by KZeni 3
  • Include a LICENSE in the repository

    Include a LICENSE in the repository

    It would be great if you could include a license, so if others ever contribute in the future they know what terms their code will be distributed under.

    opened by deviantintegral 3
  • Update icon for macOS Big Sur?

    Update icon for macOS Big Sur?

    Suggestion to update the icon to match the new macOS Big Sur icon style? Proposed new icon: https://raw.githubusercontent.com/elrumo/macOS_Big_Sur_icons_replacements/master/icons/Pipifier.icns

    Later 
    opened by ghost 2
  • Safari Tech Preview

    Safari Tech Preview

    Could just be me, but PiPifier seems to have been broken with the release of Safari Tech Preview 29. It worked with v28 and previous versions, but after updating today, it seems it no longer works for any type of HTML5 videos I try, including Netflix.

    thanks

    opened by kfcain 2
  • Keyboard Sprache wechseln mittels fn-Taste geht nicht sobald PiPifier werkelt bis zum Neustart des Mac

    Keyboard Sprache wechseln mittels fn-Taste geht nicht sobald PiPifier werkelt bis zum Neustart des Mac

    Hallo

    Mit der fn-Taste kann man, sofern das eingestellt ist, die Eingabesprache wechseln. Zum Beispiel von Deutsch auf Ελληνικα oder עִבְרִית. Nun aber wenn man PiPifier benutzt ist diese Funktion ausser Kraft. Sogar wenn das PiPifier Fenster geschlossen wurde. Man muss dann zuerst einen Neustart des Mac vornehmen. Dann geht das Umschalten zwischen den Sprachen wieder.

    https://support.apple.com/de-de/guide/mac-help/mchlp1406/11.0/mac/11.0 Taste „Fn“ oder die Globustaste verwenden: Wenn du in der Systemeinstellung „Tastatur“ festlegst, dass durch Drücken der Taste „Fn“ oder die Globustaste (falls auf der Tastatur verfügbar) zwischen den Eingabequellen gewechselt werden soll, kannst du diese Taste drücken, um eine Liste deiner Eingabequellen anzuzeigen. Drücke die Taste so lange, bis die gewünschte Eingabequelle, zu der du wechseln möchtest, ausgewählt ist. Die Liste wird automatisch ausgeblendet.

    Dank fürs beheben.

    opened by Berovowilare 1
  • "can read, modify and transmit content"

    No idea if this is new but Safari is now warning me that this extension "can read, modify and transmit content from all webpages. This could include sensitive information like passwords, phone numbers, and credit cards."

    opened by keirthomas 1
  • Safari becomes unresponsive to touch input on iPadOS 16.1 Beta

    Safari becomes unresponsive to touch input on iPadOS 16.1 Beta

    If I run PiPifier (this happens with "Vinegar - Tube Cleaner" as well, actually) safari stops responding to touch input. I can control safari with a hardware keyboard but the video stays on the screen in the same position and it's impossible to interact with it or safari with touch.

    Device: 8th Gen iPad Wifi + Cellular (iPad11,7) (A2428)

    OS: iPadOS 16.1 (20B5027f) (latest beta at time of writing)

    opened by michaelgosling 0
  • experiencing frequent crashes of PiPifier 1.3.1

    experiencing frequent crashes of PiPifier 1.3.1

    Thr crashes happen sometimes right at Safari start, sometimes later in the day. There is no repeatable circumstance as to when the crashes happen.

    I have saved today's crash log. Where can I PM it?

    PiPifier 1.3.1, Safari 15.5 macOS 12.4 (21F79) · MacMini M1 2020

    opened by Thomas-U 0
  • PiPifier does not work on some specific sites

    PiPifier does not work on some specific sites

    Hi, I want to report that PiPifier stops working on some specific sites. Here an example: https://tvthek.orf.at/live https://tvthek.orf.at/schedule

    Thanks!

    opened by jostrasser 5
  • iphone 13 iOS 15.3.1 - App Missing from Settings

    iphone 13 iOS 15.3.1 - App Missing from Settings

    Hi Arno,

    Just downloaded the app and want to report that it is missing from the main iPhone "Settings" page, despite appearing as an app under "recently downloaded" when browsing between the apps, and nested within the settings under Safari/Extensions. This issue persists even after uninstall-Restart- Re-Download. iPhone 13 Model Number MLMX3LL/A, iOS 15.3.1 - App Missing from Settings

    Regards

    opened by Mclaughlinux 0
  • Feature Requests adding Translucency & clicking undernieth

    Feature Requests adding Translucency & clicking undernieth

    Hello,

    I hope this message reaches you well.

    imho I would really love to see a couple features [added together] to the PiPifier: translucency w/ a control for the amount of translucency, & being able to click underneath the translucent video.

    Best,

    Leland

    opened by leland359 0
Owner
Arno Appenzeller
I'm on Twitter: @arno_app
Arno Appenzeller
Video mp4 record save display - How to Take , Save and Display a .mp4 Video

Technicalisto How to Take , Save and Display a .mp4 Video Add your design with v

Aya Baghdadi 2 Aug 7, 2022
A fully functional short video app project.Record a six secends video while playing prank sounds.

prankPro A fully functional short video app project How to Install 1. use coconapod to init your xcode environment. 2. change the app-keys in `applica

huijimuhe 258 Jun 19, 2022
A Swift library to upload video files to api.video platform.

api.video IOS video uploader api.video is the video infrastructure for product builders. Lightning fast video APIs for integrating, scaling, and manag

api.video 7 Dec 9, 2022
api.video is the video infrastructure for product builders

api.video is the video infrastructure for product builders. Lightning fast video APIs for integrating, scaling, and managing on-demand & low latency live streaming features in your app.

api.video 4 Jun 27, 2022
Yattee: video player for Invidious and Piped built for iOS 15, tvOS 15 and macOS Monterey

Video player with support for Invidious and Piped instances built for iOS 15, tvOS 15 and macOS Monterey.

Yattee 1k Dec 27, 2022
Yattee: video player for Invidious and Piped built for iOS, tvOS and macOS

Video player for Invidious and Piped instances built for iOS, tvOS and macOS. Features Native user interface built with SwiftUI Multiple instances and

Yattee 1.1k Jan 8, 2023
A video composition framework build on top of AVFoundation. It's simple to use and easy to extend.

A high-level video composition framework build on top of AVFoundation. It's simple to use and easy to extend. Use it and make life easier if you are implementing video composition feature.

VideoFlint 1.4k Dec 25, 2022
A high-performance, flexible, and easy-to-use Video compressor library written by Swift.

FYVideoCompressor A high-performance, flexible and easy to use Video compressor library written by Swift. Using hardware-accelerator APIs in AVFoundat

null 30 Dec 30, 2022
iOS video player for trailer. You can customize layout for the control panel. Support PiP and DRM.

iOS video player for trailer. You can customize layout for the control panel. Support PiP and DRM.

Abe Wang 11 Nov 7, 2022
YouTube video player for iOS, tvOS and macOS

About XCDYouTubeKit is a YouTube video player for iOS, tvOS and macOS. Are you enjoying XCDYouTubeKit? You can say thank you with a tweet. I am also a

Cédric Luthi 2.9k Jan 7, 2023
Versatile Video Player implementation for iOS, macOS, and tvOS

News ?? - Since 2.1.3 VersaPlayer now supports iOS, macOS, and tvOS Example Installation Usage Basic Usage Adding Controls Advanced Usage Encrypted Co

Jose Quintero 723 Dec 26, 2022
YHPlayer - An easy-to-use video player based on swift language

YHPlayer An easy-to-use video player based on swift language Features Plays loca

null 9 Dec 1, 2022
A video decoder built on ffmpeg which allows libpag to use ffmpeg as its software decoder for h264 decoding.

ffavc ffavc is a video decoder built on ffmpeg which allows libpag to use ffmpeg as its software decoder for h264 decoding. Build ffmpeg First, make s

Portable Animated Graphics 8 Nov 24, 2022
IINA is the modern video player for macOS.

IINA IINA is the modern video player for macOS. Website · Releases · Telegram Group Features Based on mpv, which provides the best decoding capacity o

Jesse Chan 0 Nov 2, 2021
Simple macOS app that applies Apple's Person Segmentation algorithm to a video.

Simple macOS app that applies Apple's Person Segmentation algorithm to a video.

Fabio 5 Dec 9, 2022
High-performance and flexible video editing and effects framework, based on AVFoundation and Metal.

High-performance and flexible video editing and effects framework, based on AVFoundation and Metal.

BearRuan 650 Dec 30, 2022
▶️ video player in Swift, simple way to play and stream media on iOS/tvOS

Player Player is a simple iOS video player library written in Swift. Looking for an obj-c video player? Check out PBJVideoPlayer (obj-c). Looking for

patrick piemonte 2k Jan 2, 2023
An iOS application 📱 that extracts text real time using camera 📷 and play relevant video from the text

CHARUSAT-SceW It is an iOS application ?? that scans and extracts text real-time through camera ?? , if it is detected. It will play relevent video fr

Vatsal Patel 2 Nov 15, 2021
Loop videos on iOS and Android (assuming only one video like on YouTube)

Mobile Video Loop By: Andrew-Chen-Wang iOS Safari Extension (soon Android) that lets you loop a video on your current website. This only works for the

Andrew Chen Wang 0 Dec 19, 2021