110 lines
4.8 KiB
HTML
110 lines
4.8 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<meta http-equiv="Content-Security-Policy" content="default-src 'self' 'unsafe-inline' 'unsafe-eval'; media-src 'self' blob: https://*.googlevideo.com; img-src 'self' https://*.googleusercontent.com https://*.ggpht.com https://*.ytimg.com; connect-src 'self' https://*.googlevideo.com; font-src 'self' data:;">
|
|
<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;
|
|
padding: 0rem;
|
|
}
|
|
video {
|
|
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>
|
|
{% 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 %}
|
|
</head>
|
|
<body>
|
|
<video id="js-video-player" controls autofocus onmouseleave="{{ title }}"
|
|
oncontextmenu="{{ title }}" onmouseenter="{{ title }}" title="{{ title }}">
|
|
{% for source in subtitle_sources %}
|
|
{% if source['on'] %}
|
|
<track label="{{ source['label'] }}" src="{{ source['url'] }}" kind="subtitles" srclang="{{ source['srclang'] }}" default>
|
|
{% else %}
|
|
<track label="{{ source['label'] }}" src="{{ source['url'] }}" kind="subtitles" srclang="{{ source['srclang'] }}">
|
|
{% endif %}
|
|
{% endfor %}
|
|
|
|
{% if uni_sources %}
|
|
{% for source in uni_sources %}
|
|
<source src="{{ source['url'] }}" type="{{ source['type'] }}" title="{{ source['quality_string'] }}">
|
|
{% endfor %}
|
|
{% endif %}
|
|
</video>
|
|
|
|
<script>
|
|
// @license magnet:?xt=urn:btih:0b31508aeb0634b347b8270c7bee4d411b5d4109&dn=agpl-3.0.txt AGPL-v3-or-Later
|
|
let storyboard_url = {{ storyboard_url | tojson }};
|
|
let hls_manifest_url = {{ hls_manifest_url | tojson }};
|
|
let hls_unavailable = {{ hls_unavailable | tojson }};
|
|
let playback_mode = {{ playback_mode | tojson }};
|
|
let pair_sources = {{ pair_sources | tojson }};
|
|
let pair_idx = {{ pair_idx | tojson }};
|
|
// @license-end
|
|
</script>
|
|
|
|
{% set hls_should_work = (playback_mode == 'hls' or playback_mode == 'auto') and not hls_unavailable %}
|
|
{% set use_dash = not hls_should_work %}
|
|
|
|
{% if not use_dash %}
|
|
<script src="/youtube.com/static/js/hls.min.js"
|
|
integrity="sha512-CSVqc4a7tn+tizDNt+eDoVn2fXYAwMDpCLrwGlWrOktNfZQ9gp4dKKScElMeRlrIifhliXs0a06BLaUgmMlCUw=="
|
|
crossorigin="anonymous"></script>
|
|
{% endif %}
|
|
|
|
<script src="/youtube.com/static/js/common.js"></script>
|
|
|
|
{% if settings.use_video_player == 0 %}
|
|
<!-- Native player -->
|
|
{% if use_dash %}
|
|
<script src="/youtube.com/static/js/watch.dash.js"></script>
|
|
{% else %}
|
|
<script src="/youtube.com/static/js/watch.hls.js"></script>
|
|
{% endif %}
|
|
{% elif settings.use_video_player == 1 %}
|
|
<!-- Native player with hotkeys -->
|
|
<script src="/youtube.com/static/js/hotkeys.js"></script>
|
|
{% if use_dash %}
|
|
<script src="/youtube.com/static/js/watch.dash.js"></script>
|
|
{% else %}
|
|
<script src="/youtube.com/static/js/watch.hls.js"></script>
|
|
{% endif %}
|
|
{% elif 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>
|
|
{% if use_dash %}
|
|
<script src="/youtube.com/static/js/plyr.dash.start.js"></script>
|
|
{% else %}
|
|
<script src="/youtube.com/static/js/plyr.hls.start.js"></script>
|
|
{% endif %}
|
|
<!-- /plyr -->
|
|
{% endif %}
|
|
|
|
{% if use_dash %}
|
|
<script src="/youtube.com/static/js/av-merge.js"></script>
|
|
{% endif %}
|
|
</body>
|
|
</html>
|