forked from AlecRust/protected-video
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathreadme.hbs
89 lines (59 loc) · 3.76 KB
/
readme.hbs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
=== Protected Video ===
Contributors: alecrust
Tags: block, gutenberg, media player, video player, plyr, youtube, vimeo, copyright
Requires at least: 4.6
Tested up to: 5.8
Stable tag: {{releases.0.title}}
Requires PHP: 7.0
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
YouTube/Vimeo player that prevents easy sharing of the video.
== Description ==
Gutenberg block and Shortcode for embedding YouTube/Vimeo videos in a way that prevents users easily accessing the original video.
**This is useful for example when embedding an “unlisted” video as premium course content behind a paywall on your site.**
Features include:
* [Plyr](https://plyr.io/) player used to overlay default player with custom controls
* Player modifications to always prevent clicking the default player
* Encodes video ID in HTML to prevent finding it via “View Source”
* Settings page to configure the player theme to match your site
[View Player Demo](https://alecrust.github.io/protected-video/)
**Note:** This only provides a basic level of protection. Technical users may still be able to identify the original video URL.
This plugin is open source and contributions are welcome [on GitHub](https://github.com/AlecRust/protected-video).
== Installation ==
1. Install and activate the plugin
2. Optionally configure player theme at **Settings > Protected Video**
3. Search for and use “Protected Video” block in the Block Editor
4. Alternatively use the Shortcode <code>[protected_video url="https://www.youtube.com/watch?v=c_hO_fjmMnk" service="youtube"]</code>
== Frequently Asked Questions ==
= What does this plugin do? =
Embeds YouTube/Vimeo videos on your pages and takes steps to prevent users obtaining the original URL to the video, such as by clicking on the player or viewing the page source.
= How secure is this plugin? =
This plugin only provides a basic level of protection against users accessing the default player or otherwise determining the video URL. Technical users may still be able to figure out this information.
= Does this plugin work on mobile? =
Yes, the custom player works on mobile browsers and the disabling of access to the default player is still in place even in fullscreen mode.
= Why not use plain Plyr player? =
The default [Plyr](https://plyr.io/) player overlays YouTube/Vimeo players with its own controls, which prevents access to the underlying video copy/share buttons under some scenarios, but this is a side-effect of the way it works rather than a feature. The goal of Protected Video is to make this a feature by accounting for more scenarios e.g. when the player is paused, and providing additional features such as obfuscation of the original video ID in the HTML.
If you don't care about your users sharing the video or actually want them to, a plugin like [WP YouTube Lyte](https://wordpress.org/plugins/wp-youtube-lyte/) is probably more suitable.
= Why is there a Shortcode as well as Gutenberg block? =
Not everyone likes to use the Block Editor. Others may be using a different page builder that does not support blocks. The Shortcode is provided as an alternative way to embed the video that still provides the same level of protection.
== Screenshots ==
1. Protected Video block in the Block Editor.
2. Configuration of the player theme in plugin settings.
3. Optional usage as Shortcode.
4. Display of the player in the public facing site.
== Changelog ==
{{#each releases}}
= {{title}}{{#if tag}} - {{isoDate}}{{/if}} =
{{#if summary}}
{{summary}}
{{/if}}
{{#each merges}}
* {{{message}}}
{{/each}}
{{#each fixes}}
* {{{commit.subject}}}
{{/each}}
{{#each commits}}
* {{#if breaking}}**Breaking change:** {{/if}}{{{subject}}}
{{/each}}
{{/each}}