aboutsummaryrefslogtreecommitdiffstats
path: root/youtube
diff options
context:
space:
mode:
Diffstat (limited to 'youtube')
-rw-r--r--youtube/templates/embed.html65
1 files changed, 64 insertions, 1 deletions
diff --git a/youtube/templates/embed.html b/youtube/templates/embed.html
index 728791b..b473c81 100644
--- a/youtube/templates/embed.html
+++ b/youtube/templates/embed.html
@@ -6,6 +6,11 @@
<meta http-equiv="Content-Security-Policy" content="default-src 'self' 'unsafe-inline'; media-src 'self' https://*.googlevideo.com; {{ "img-src 'self' https://*.googleusercontent.com https://*.ggpht.com https://*.ytimg.com;" if not settings.proxy_images else "" }}"/>
<title>{{ title }}</title>
<link href="/youtube.com/static/favicon.ico" type="image/x-icon" rel="icon"/>
+ {% if settings.use_video_player == 2 %}
+ <!-- plyr -->
+ <link href="/youtube.com/static/modules/plyr/plyr.css" rel="stylesheet"/>
+ <!--/ plyr -->
+ {% endif %}
<style>
body {
margin: 0rem;
@@ -15,10 +20,15 @@
width: 100%;
height: auto;
}
+ /* Prevent this div from blocking right-click menu for video
+ e.g. Firefox playback speed options */
+ .plyr__poster {
+ display: none !important;
+ }
</style>
</head>
<body>
- <video controls autofocus onmouseleave="{{ title }}"
+ <video id="js-video-player" controls autofocus onmouseleave="{{ title }}"
oncontextmenu="{{ title }}" onmouseenter="{{ title }}" title="{{ title }}">
{% for video_source in video_sources %}
<source src="{{ video_source['src'] }}" type="{{ video_source['type'] }}">
@@ -31,5 +41,58 @@
{% endif %}
{% endfor %}
</video>
+ {% if js_data %}
+ <script>
+ // @license magnet:?xt=urn:btih:0b31508aeb0634b347b8270c7bee4d411b5d4109&dn=agpl-3.0.txt AGPL-v3-or-Later
+ data = {{ js_data|tojson }};
+ // @license-end
+ </script>
+ {% endif %}
+ {% if settings.use_video_player == 2 %}
+ <!-- plyr -->
+ <script src="/youtube.com/static/modules/plyr/plyr.min.js"
+ integrity="sha512-l6ZzdXpfMHRfifqaR79wbYCEWjLDMI9DnROvb+oLkKq6d7MGroGpMbI7HFpicvmAH/2aQO+vJhewq8rhysrImw=="
+ crossorigin="anonymous"></script>
+ <script>
+ // @license magnet:?xt=urn:btih:1f739d935676111cfff4b4693e3816e664797050&dn=gpl-3.0.txt GPL-v3-or-Later
+ let captionsActive;
+ switch(true) {
+ case data.settings.subtitles_mode == 2:
+ captionsActive = true;
+ break;
+ case data.settings.subtitles_mode == 1 && data.has_manual_captions:
+ captionsActive = true;
+ break;
+ default:
+ captionsActive = false;
+ }
+ const player = new Plyr(document.getElementById('js-video-player'), {
+ disableContextMenu: false,
+ captions: {
+ active: captionsActive,
+ language: data.settings.subtitles_language,
+ },
+ controls: [
+ 'play-large',
+ 'play',
+ 'progress',
+ 'current-time',
+ 'mute',
+ 'volume',
+ 'captions',
+ 'settings',
+ 'fullscreen'
+ ],
+ iconUrl: "/youtube.com/static/modules/plyr/plyr.svg",
+ blankVideo: "/youtube.com/static/modules/plyr/blank.webm",
+ debug: false,
+ storage: {enabled: false},
+ });
+ // @license-end
+ </script>
+ <!-- /plyr -->
+ {% elif settings.use_video_player == 1 %}
+ <script src="/youtube.com/static/js/hotkeys.js"></script>
+ {% endif %}
</body>
</html>