=== Presto Player ===
Contributors: 2winfactor, wpcrafter
Donate link: https://prestoplayer.com
Tags: video, audio, video player, youtube, vimeo
Requires at least: 6.3
Tested up to: 7.0
Stable tag: 4.2.3
Requires PHP: 7.4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

A modern video and audio player for courses, landing pages, marketing, and testimonials — with captions, branding, and page-builder support.

== Description ==

Turn ordinary videos into a polished, branded viewing experience.

## Build customizable video experiences for your WordPress website ##

Presto Player is a WordPress video player that helps you add fast, on-brand video to your site — built natively for the Block Editor and every major page builder.

Use it for course lessons, landing pages, marketing videos, and customer testimonials — anywhere you want clean, on-brand playback you control.

[youtube https://www.youtube.com/watch?v=T1bLGlrhMts]

Presto Player is built for:

* Marketers
* Online course creators
* Coaches / trainers
* Bloggers
* eCommerce store owners
* Niche sites
* Businesses
* Local businesses
* Startups
* Personal brands
* Real estate agents
* Artists & photographers
* Any website with video

Presto Player is built on WordPress, an open platform you fully control.

### Features ###

* Built specifically for the Block Editor.
* Works with all page builders
* Custom Elementor & Beaver Builder modules.
* Multiple video presets.
* HTML5, YouTube and Vimeo video support.
* LMS Learner controls.
* LearnDash Video Progression
* Multilingual Captions.
* Player branding.
* Custom poster images.
* Lazy load HTML5 and YouTube video for better performance.
* Kadence Theme Integration
* RankMath Integration
* AutomatorWP Integration
* Global video hub.

### Pro Features ###

* Secure, self-hosted private video for logged-in users.
* Public and private video via Bunny.net.
* HLS Adaptive Streaming.
* Video analytics.
* Google analytics integration.
* Muted autoplay preview
* Video chapters.
* Custom video presets.
* Bunny.net integration.

### Why Presto Player? ###

* **Free to start** — Presto Player is free, so you can add video to your site without a monthly subscription.

* **Open and WordPress-native** — Presto Player is built on top of WordPress, so your player settings, content, and data live in your own site.

* **You own your data** — Your videos and viewer data stay on your domain and under your control.

## Join the Presto Player community ##

**[Join our Facebook group](https://www.facebook.com/groups/surecrafted/)** to learn how other Presto Player users grow their businesses and to get early news on upcoming features.

[Terms And Conditions](https://prestoplayer.com/terms-of-service/) | [Privacy Policy](https://prestoplayer.com/privacy-policy/)

== External services ==

Presto Player can connect to the third-party services below. Each connection, the data that is sent, and when it happens are described here.

**YouTube and Vimeo (only when you embed their videos):** Embedding a YouTube or Vimeo video loads that video from the service in the visitor's browser, which sends the visitor's IP address and playback interactions to that service. This only happens for videos you choose to embed.

* YouTube: [Terms of Service](https://www.youtube.com/t/terms) and [Privacy Policy](https://policies.google.com/privacy)
* Vimeo: [Terms of Service](https://vimeo.com/terms) and [Privacy Policy](https://vimeo.com/privacy)

**Usage tracking (opt-in, disabled by default):** If you explicitly opt in, the plugin periodically sends non-sensitive environment data — such as PHP and WordPress versions, active plugins and theme, site locale, and which plugin features are used — to Brainstorm Force to help improve the product. It is off until you give consent, and you can opt out at any time.

* [Usage tracking details](https://store.brainstormforce.com/usage-tracking/) and [Privacy Policy](https://store.brainstormforce.com/privacy-policy/)

**Feedback survey (optional):** The plugin may show an in-dashboard NPS feedback survey. If you choose to submit it, your rating and optional comment are sent to Brainstorm Force.

* [Privacy Policy](https://store.brainstormforce.com/privacy-policy/)

**License activation (Presto Player Pro only):** If you use Presto Player Pro, activating or validating your license contacts the Presto Player account server to verify the license key for your site URL.

* [Terms of Service](https://prestoplayer.com/terms-of-service/) and [Privacy Policy](https://prestoplayer.com/privacy-policy/)

== Installation ==

1. Upload the Presto Player folder to the /wp-content/plugins/ directory
2. Activate the Presto Player plugin through the 'Plugins' menu in WordPress

== Frequently Asked Questions ==

= Does Presto Player host my video files? =
Presto Player offers multiple hosting location options for your web-optimized videos. With our free version you can self-host your video or use YouTube or Vimeo. Our Pro version includes deep integration with Bunny.net.

In addition, any video host that gives you a public link to the video can be used with Presto Player, including HLS streams. [Learn How](https://prestoplayer.com/docs/presto-player-any-host/)

= Does Presto Player work with my page builder? =
Presto Player works with all page builders — add a video to the Media Hub and use the provided shortcode in any builder. Presto Player also includes native Gutenberg blocks and dedicated Elementor, Beaver Builder, and Divi modules.

= Does Presto Player work with LearnDash's video progression? =
Yes, it most certainly does! And just like everything else we do, it's very easy to use. Head on over to
our [integrations page](https://prestoplayer.com/docs-category/integrations) to see how easy it is.

= What does "web optimized video" mean? =
When you create a video that you want to display on your website, it first needs to be transcoded in a web-optimized format. When using a service such as YouTube, you can upload a video in any format and YouTube will transcode it for you. However, when you are self-hosting your video or using one of our integrations such as Bunny.net, you first need to [transcode your video](https://prestoplayer.com/docs/how-to-optimize-video-for-smooth-website-playback-using-handbrake).

It's a very simple and easy process that we have created an easy-to-follow tutorial for. However, if you skip this step your video viewers will most likely have issues with video playback.

= How do I get captions created for my Presto Player videos? =
There are many caption creation services available. We use HappyScribe because we like the interface and features they provide, but you can use any captioning service. Your captions need to be exported in the industry standard VTT format.

= Does Presto Player secure my videos? =
Presto Player Pro offers a public and private video option. Private videos are only accessible when a user is logged into your website. In addition Presto Player will use dynamic expiring links to your private videos.

In cases where someone may want to dig through the HTML on your web page where a video is to try and find the URL, that URL will not work.

= What is the cost of using Bunny.net? =
One of the main advantages of using Presto Player is our integration with Bunny.net to store and deliver your media. Presto Player will set everything up for you, and the cost is low — you pay Bunny.net only for storage and bandwidth, as outlined below.

You will be paying for 2 things: storage and bandwidth. Storage will cost between $0.01 – $0.03 per gigabyte stored per month. To give you an example, I have two online courses and combined all the videos take up 0.69 gigabytes. So my anticipated cost per month is $0.03 to store the videos with them.

The next cost is for bandwidth. If you have 1 video that is 10 megabytes, each time that video is fully viewed it will consume 10 megabytes of bandwidth. The cost of bandwidth is $0.005 per gigabyte transferred. So if you use 100 gigabytes of bandwidth per month, you will be paying $0.50 per month.

See our [Bunny.net cost calculator](https://prestoplayer.com/docs/how-to-use-bunnynet-with-presto-player).

It is also important to point out that Bunny.net has a $1 per month minimum.

= How can I report a security bug? =

We take plugin security extremely seriously. If you discover a security vulnerability, please report it in a safe and responsible manner.

You can report the issue through our [Bug Bounty Program](https://brainstormforce.com/bug-bounty-program/).


== Changelog ==

= 4.2.3 =
* Improvement: Formatting improvements to the readme.

= 4.2.2 =
* Improvement: Documentation and readme updates.

= 4.2.1 =
* Security: Hardening improvements to input and output sanitization.
* Improvement: Significantly faster Media Hub loading on sites with large video libraries.
* Improvement: Bug fixes and stability improvements in the Media Hub.
* Improvement: More reliable bulk actions and selection on the Emails dashboard.

= 4.2.0 =
* New: Redesigned admin experience for a more modern, intuitive interface.

= 4.1.4 =
* Improvement: Presto Player is now compatible with WordPress 7.0.
* Security: Enforced post visibility for Media Hub videos embedded via shortcode.
* Improvement: Internal code quality and infrastructure improvements.

= 4.1.3 =
* Fix: Prevented fatal error when third-party plugins call the_title filter without a post ID argument.

= 4.1.2 =
* New: Added filters to disable or modify video SEO schema output.
* Improvement: Updated NPS Survey library to v1.0.21.
* Fix: Resolved fatal error with Korean locale caused by invalid format specifiers in player labels.
* Fix: Made playlist 'Next' button label translatable and fixed 'Up Nexts' typo.
* Fix: Resolved PHP deprecation warning in CSS sanitization.
* Fix: Fixed undefined array key error in reusable video block.
* Fix: Restored filterable video attributes on video components.
* Fix: Added missing text domain for untranslatable strings.
* Fix: Fixed _load_textdomain_just_in_time notice on WordPress 6.7+ by deferring analytics setup.

= 4.1.1 =
* Security: Multiple security hardening improvements.

= 4.1.0 =
* New: Automatic caption generation with BunnyCDN.

= 4.0.8 =
* Improvement: Introduced a new NPS feedback survey.

= 4.0.7 =
* Fix: Missing text domain for strings.
* Fix: Resolved an issue with improper escaping of dynamic attribute values in markup output.

= 4.0.6 =
* Fix: Fixed an issue where search results could redirect to a 404 if the search results included a Media Hub item with Instant Video Pages disabled.
* Fix: Corrected help text for call to action settings under video preset settings.

= 4.0.5 = 
* Fix: Fixed an issue preventing certain Presto settings pages from loading correctly in the WordPress admin.

= 4.0.4 = 
* Fix: Update popup assets for WordPress 6.9 compatibility.

= 4.0.3 =
* New: You can now use the "ratio" parameter in the Presto Player shortcode to control the video’s aspect ratio.
* Fix: Resolved an issue where muted previews incorrectly played with sound when Lazy Load YouTube was enabled.
* Fix: The “Remove all data on uninstall” option now correctly clears all Presto Player data, including Media Hub videos, when uninstalling the plugin.
* Fix: Bunny CDN thumbnails were not automatically reflected in videos.
* Fix: PHP warnings.

= 4.0.2 =
* Fix: Fullscreen mode not working on Safari in some instances.
* Fix: PHP notices related to translations loading before init hook.

= 4.0.1 =
* Fix: Improved error handling for popup image trigger block transformations
* Fix: Unnecessary requests when edit post pages.

= 4.0.0 =
* New: Presto Popups! [Learn More](https://prestoplayer.com/docs/presto-popups)
* Improvement: Presto player has been rewritten to be more compatible with page builder popups and ajax loaded content.

= 3.1.3 =
* Change: Streamlined branding settings by removing the unused opacity option for better clarity and consistency.
* Fix: Disabled autoplay for Vimeo playlists on iOS to prevent videos from starting muted after user interaction.
* Fix: PHP warnings.

= 3.1.2 =
* Improvement: Added security vulnerability reporting guidelines to FAQ section.

= 3.1.1 =
* Change: Change playlist items list to have a max-height of 200px on mobile for long lists.
* Fix: Issue where video analytics link was incorrectly being shown on profile page, even though they don't have permission to access the page.
* Fix: Incorrect text domain for some plugin strings.

= 3.1.0 =
* New: Setting to adjust the aspect ratio of the videos (vertical video support) [Learn More](https://www.youtube.com/watch?v=dKL8t9RtdvA).
* Fix: Issue where action bar was sometimes not appearing for lazy loaded YouTube videos.
* Fix: YouTube playlist item showing loading bar before playing on iOS devices.
* Fix: Select media dropdown spacing issue on initial load in upcoming WordPress 6.8.

= 3.0.8 =
* Fix: LearnDash video progression not working when DIVI builder is used to build lesson pages.
* Change: Rename admin bar menu item from "Media" to "Presto Media" to prevent conflict with WordPress media library.

= 3.0.7 =
* Improvement: Fix minor spacing issues with block inspector sidebar in WordPress 6.7.

= 3.0.6 =
* Improvement: CSS syntax suggestions in custom css box.
* Improvement: Automatically cap HLS resolution to based on player size (props @karlemilnikka).
* Fix: Issue where adding custom css clears out some branding settings.

= 3.0.5 =
* Fix: Player sometimes incorrectly preloading missing file.

= 3.0.4 =
* Fix: Issue with LearnDash video progression not working for synced media hub items.

= 3.0.3 =
* Improvement: Multiple security improvements.

= 3.0.2 =
* Change: Synced media hub items now edit inline instead of navigating to separate edit page.
* Fix: WordPress 6.6 compatibility.

= 3.0.1 =
* New: Setting for changing the default Media Hub sync behavior for new blocks.
* Improvement: Add "Edit Original" to inspector sidebar for synced media hub items to increase visibility of new feature.
* Fix: Issue with private bunny.net private video not signing urls correctly when synced with media hub.
* Fix: Making CSS more specific on instant video page to prevent conflicts with themes.
* Fix: Wrong textdomain on some translations.

= 3.0.0 =
* New: Instant video pages. Create beautiful video pages with a single click.
* New: Sync video blocks with media hub items. 
* Improvement: Combine all Presto video blocks into a single block.
* Improvement: New video placeholder lets you select existing media hub items.
* Improvement: Admin media hub selector now shows video type, poster image.
* Improvement: Update web components library dependency.
* Fix: Presto Player admin menu icon sometimes being altered by problematic 3rd party plugins.
* Fix: Issue where adding provider override to a shortcode was not working for audio player.

For changelog entries prior to version 3.0.0, see [changelog.txt](https://plugins.svn.wordpress.org/presto-player/trunk/changelog.txt).

== Upgrade Notice ==

= 4.2.3 =
Formatting improvements to the readme.

= 4.2.2 =
Documentation and readme updates.
