1
0
Fork 0
forked from loeade/invidious

Compare commits

...

12 commits

Author SHA1 Message Date
ac7322b089 Merge branch 'loea' into master 2024-11-07 20:47:57 +00:00
9714aba5a7 merge 2024-10-13 11:16:48 +02:00
0d7a4ac5ca revert 4d39aada70
revert added loea specific css
2024-10-13 11:13:10 +02:00
fbb17a1171 added loea specific css 2024-10-13 11:13:10 +02:00
bad2e77f37 Merge branch 'master' into loea 2024-09-25 14:59:08 +02:00
06aeb1d215 added 200ms to currenttime 2024-09-15 12:09:49 +02:00
8d6602717d syncing system doesn't work well, removing 2024-09-15 11:47:43 +02:00
79d1908d94 keep audio and video in sync (audio quality may suffer) 2024-09-15 11:27:49 +02:00
3d3f928866 this is why testing things and typeing is a smart idea 2024-09-13 18:19:29 +02:00
7940bcb16d fix bug with player being undefined 2024-09-13 18:13:54 +02:00
992a4b2066 added direct dash
to play videos with higher quality without proxy
2024-09-13 16:54:28 +02:00
4d39aada70 added loea specific css 2024-07-08 20:17:59 +02:00
5 changed files with 909 additions and 12 deletions

View file

@ -121,6 +121,7 @@ body a.channel-owner {
display: flex; display: flex;
justify-content: center; justify-content: center;
flex-wrap: wrap; flex-wrap: wrap;
margin-bottom: 8px;
} }
.feed-menu-item { .feed-menu-item {
@ -213,7 +214,7 @@ div.watched-overlay {
left: 0; left: 0;
right: 0; right: 0;
bottom: 0; bottom: 0;
background-color: rgba(255,255,255,.4); background-color: rgba(255,255,255, 0);
} }
div.watched-indicator { div.watched-indicator {
@ -238,7 +239,7 @@ div.thumbnail > .bottom-right-overlay {
.bottom-right-overlay { bottom: 0.6em; right: 0.6em; } .bottom-right-overlay { bottom: 0.6em; right: 0.6em; }
.length { .length {
padding: 1px; padding: 2px;
margin: -2px 0; margin: -2px 0;
color: #fff; color: #fff;
border-radius: 3px; border-radius: 3px;
@ -471,7 +472,7 @@ footer {
} }
.dark-theme footer { .dark-theme footer {
color: #adadad; color: #75c8d9;
} }
.light-theme footer a { .light-theme footer a {
@ -632,15 +633,15 @@ span > select {
body.dark-theme { body.dark-theme {
background-color: rgba(35, 35, 35, 1); background-color: rgba(35, 35, 35, 1);
color: #f0f0f0; color: #c0ffee;
} }
.dark-theme .pure-form legend { .dark-theme .pure-form legend {
color: #f0f0f0; color: #c0ffee;
} }
.dark-theme .pure-menu-heading { .dark-theme .pure-menu-heading {
color: #f0f0f0; color: #c0ffee;
} }
.dark-theme input, .dark-theme input,
@ -650,7 +651,7 @@ body.dark-theme {
} }
.dark-theme .pure-form input[type="file"] { .dark-theme .pure-form input[type="file"] {
color: #f0f0f0; color: #c0ffee;
} }
.dark-theme .searchbar input { .dark-theme .searchbar input {
@ -685,16 +686,16 @@ body.dark-theme {
} }
body.no-theme { body.no-theme {
background-color: rgba(35, 35, 35, 1); background-color: rgba(0, 0, 0, 1);
color: #f0f0f0; color: #daffff;
} }
.no-theme .pure-form legend { .no-theme .pure-form legend {
color: #f0f0f0; color: #c0ffee;
} }
.no-theme .pure-menu-heading { .no-theme .pure-menu-heading {
color: #f0f0f0; color: #c0ffee;
} }
.no-theme input, .no-theme input,
@ -704,7 +705,7 @@ body.dark-theme {
} }
.no-theme .pure-form input[type="file"] { .no-theme .pure-form input[type="file"] {
color: #f0f0f0; color: #c0ffee;
} }
.no-theme .searchbar input { .no-theme .searchbar input {

View file

@ -235,6 +235,8 @@ video.video-js {
margin-right: 1em; margin-right: 1em;
padding-bottom: 82vh; padding-bottom: 82vh;
height: 0; height: 0;
border-radius: 5px;
overflow: hidden;
} }
.mobile-operations-bar { .mobile-operations-bar {

827
assets/js/itags.js Normal file
View file

@ -0,0 +1,827 @@
// data from https://github.com/leonbrandt/yt-itag
let itag_formats =
[
{
"audioBitrate": 96,
"audioCodec": "AAC",
"audioQuality": "AUDIO_QUALITY_LOW",
"audioSampleRate": 44100,
"container": "mp4",
"hasAudio": true,
"hasVideo": true,
"itag": 18,
"quality": "medium",
"qualityLabel": "360p",
"videoCodec": "AVC"
},
{
"audioBitrate": 192,
"audioCodec": "AAC",
"audioQuality": "AUDIO_QUALITY_MEDIUM",
"audioSampleRate": 44100,
"container": "mp4",
"hasAudio": true,
"hasVideo": true,
"itag": 22,
"quality": "hd720",
"qualityLabel": "720p",
"videoCodec": "AVC"
},
{
"audioBitrate": 48,
"audioCodec": "AAC",
"audioQuality": null,
"audioSampleRate": null,
"container": "ts",
"hasAudio": true,
"hasVideo": true,
"itag": 91,
"quality": null,
"qualityLabel": "144p",
"videoCodec": "AVC"
},
{
"audioBitrate": 48,
"audioCodec": "AAC",
"audioQuality": null,
"audioSampleRate": null,
"container": "ts",
"hasAudio": true,
"hasVideo": true,
"itag": 92,
"quality": null,
"qualityLabel": "240p",
"videoCodec": "AVC"
},
{
"audioBitrate": 128,
"audioCodec": "AAC",
"audioQuality": null,
"audioSampleRate": null,
"container": "ts",
"hasAudio": true,
"hasVideo": true,
"itag": 93,
"quality": null,
"qualityLabel": "360p",
"videoCodec": "AVC"
},
{
"audioBitrate": 128,
"audioCodec": "AAC",
"audioQuality": null,
"audioSampleRate": null,
"container": "ts",
"hasAudio": true,
"hasVideo": true,
"itag": 94,
"quality": null,
"qualityLabel": "480p",
"videoCodec": "AVC"
},
{
"audioBitrate": 256,
"audioCodec": "AAC",
"audioQuality": null,
"audioSampleRate": null,
"container": "ts",
"hasAudio": true,
"hasVideo": true,
"itag": 95,
"quality": null,
"qualityLabel": "720p",
"videoCodec": "AVC"
},
{
"audioBitrate": 256,
"audioCodec": "AAC",
"audioQuality": null,
"audioSampleRate": null,
"container": "ts",
"hasAudio": true,
"hasVideo": true,
"itag": 96,
"quality": null,
"qualityLabel": "1080p",
"videoCodec": "AVC"
},
{
"audioBitrate": null,
"audioCodec": null,
"audioQuality": null,
"audioSampleRate": null,
"container": "mp4",
"hasAudio": false,
"hasVideo": true,
"itag": 133,
"quality": "small",
"qualityLabel": "240p",
"videoCodec": "AVC"
},
{
"audioBitrate": null,
"audioCodec": null,
"audioQuality": null,
"audioSampleRate": null,
"container": "mp4",
"hasAudio": false,
"hasVideo": true,
"itag": 134,
"quality": "medium",
"qualityLabel": "360p",
"videoCodec": "AVC"
},
{
"audioBitrate": null,
"audioCodec": null,
"audioQuality": null,
"audioSampleRate": null,
"container": "mp4",
"hasAudio": false,
"hasVideo": true,
"itag": 135,
"quality": "large",
"qualityLabel": "480p",
"videoCodec": "AVC"
},
{
"audioBitrate": null,
"audioCodec": null,
"audioQuality": null,
"audioSampleRate": null,
"container": "mp4",
"hasAudio": false,
"hasVideo": true,
"itag": 136,
"quality": "hd720",
"qualityLabel": "720p",
"videoCodec": "AVC"
},
{
"audioBitrate": null,
"audioCodec": null,
"audioQuality": null,
"audioSampleRate": null,
"container": "mp4",
"hasAudio": false,
"hasVideo": true,
"itag": 137,
"quality": "hd1080",
"qualityLabel": "1080p",
"videoCodec": "AVC"
},
{
"audioBitrate": null,
"audioCodec": null,
"audioQuality": null,
"audioSampleRate": null,
"container": "mp4",
"hasAudio": false,
"hasVideo": true,
"itag": 138,
"quality": "highres",
"qualityLabel": "4320p",
"videoCodec": "AVC"
},
{
"audioBitrate": 48,
"audioCodec": "AAC",
"audioQuality": null,
"audioSampleRate": null,
"container": "mp4",
"hasAudio": true,
"hasVideo": false,
"itag": 139,
"quality": null,
"qualityLabel": null,
"videoCodec": null
},
{
"audioBitrate": 128,
"audioCodec": "AAC",
"audioQuality": "AUDIO_QUALITY_MEDIUM",
"audioSampleRate": "44100",
"container": "mp4",
"hasAudio": true,
"hasVideo": false,
"itag": 140,
"quality": "tiny",
"qualityLabel": null,
"videoCodec": null
},
{
"audioBitrate": null,
"audioCodec": null,
"audioQuality": null,
"audioSampleRate": null,
"container": "mp4",
"hasAudio": false,
"hasVideo": true,
"itag": 160,
"quality": "tiny",
"qualityLabel": "144p",
"videoCodec": "AVC"
},
{
"audioBitrate": null,
"audioCodec": null,
"audioQuality": null,
"audioSampleRate": null,
"container": "webm",
"hasAudio": false,
"hasVideo": true,
"itag": 242,
"quality": "small",
"qualityLabel": "240p",
"videoCodec": "VP9"
},
{
"audioBitrate": null,
"audioCodec": null,
"audioQuality": null,
"audioSampleRate": null,
"container": "webm",
"hasAudio": false,
"hasVideo": true,
"itag": 243,
"quality": "medium",
"qualityLabel": "360p",
"videoCodec": "VP9"
},
{
"audioBitrate": null,
"audioCodec": null,
"audioQuality": null,
"audioSampleRate": null,
"container": "webm",
"hasAudio": false,
"hasVideo": true,
"itag": 244,
"quality": "large",
"qualityLabel": "480p",
"videoCodec": "VP9"
},
{
"audioBitrate": null,
"audioCodec": null,
"audioQuality": null,
"audioSampleRate": null,
"container": "webm",
"hasAudio": false,
"hasVideo": true,
"itag": 247,
"quality": "hd720",
"qualityLabel": "720p",
"videoCodec": "VP9"
},
{
"audioBitrate": null,
"audioCodec": null,
"audioQuality": null,
"audioSampleRate": null,
"container": "webm",
"hasAudio": false,
"hasVideo": true,
"itag": 248,
"quality": "hd1080",
"qualityLabel": "1080p",
"videoCodec": "VP9"
},
{
"audioBitrate": "48",
"audioCodec": "OPUS",
"audioQuality": "AUDIO_QUALITY_LOW",
"audioSampleRate": "48000",
"container": "webm",
"hasAudio": true,
"hasVideo": false,
"itag": 249,
"quality": "tiny",
"qualityLabel": null,
"videoCodec": null
},
{
"audioBitrate": "64",
"audioCodec": "OPUS",
"audioQuality": "AUDIO_QUALITY_LOW",
"audioSampleRate": "48000",
"container": "webm",
"hasAudio": true,
"hasVideo": false,
"itag": 250,
"quality": "tiny",
"qualityLabel": null,
"videoCodec": null
},
{
"audioBitrate": "160",
"audioCodec": "OPUS",
"audioQuality": "AUDIO_QUALITY_MEDIUM",
"audioSampleRate": "48000",
"container": "webm",
"hasAudio": true,
"hasVideo": false,
"itag": 251,
"quality": "tiny",
"qualityLabel": null,
"videoCodec": null
},
{
"audioBitrate": null,
"audioCodec": null,
"audioQuality": null,
"audioSampleRate": null,
"container": "mp4",
"hasAudio": false,
"hasVideo": true,
"itag": 264,
"quality": "hd1440",
"qualityLabel": "1440p",
"videoCodec": "AVC"
},
{
"audioBitrate": null,
"audioCodec": null,
"audioQuality": null,
"audioSampleRate": null,
"container": "mp4",
"hasAudio": false,
"hasVideo": true,
"itag": 266,
"quality": "hd2160",
"qualityLabel": "2160p",
"videoCodec": "AVC"
},
{
"audioBitrate": null,
"audioCodec": null,
"audioQuality": null,
"audioSampleRate": null,
"container": "webm",
"hasAudio": false,
"hasVideo": true,
"itag": 271,
"quality": "hd1440",
"qualityLabel": "1440p",
"videoCodec": "VP9"
},
{
"audioBitrate": null,
"audioCodec": null,
"audioQuality": null,
"audioSampleRate": null,
"container": "webm",
"hasAudio": false,
"hasVideo": true,
"itag": 272,
"quality": "highres",
"qualityLabel": "4320p60",
"videoCodec": "VP9"
},
{
"audioBitrate": null,
"audioCodec": null,
"audioQuality": null,
"audioSampleRate": null,
"container": "webm",
"hasAudio": false,
"hasVideo": true,
"itag": 278,
"quality": "tiny",
"qualityLabel": "144p",
"videoCodec": "VP9"
},
{
"audioBitrate": null,
"audioCodec": null,
"audioQuality": null,
"audioSampleRate": null,
"container": "mp4",
"hasAudio": false,
"hasVideo": true,
"itag": 298,
"quality": "hd720",
"qualityLabel": "720p60",
"videoCodec": "AVC"
},
{
"audioBitrate": null,
"audioCodec": null,
"audioQuality": null,
"audioSampleRate": null,
"container": "mp4",
"hasAudio": false,
"hasVideo": true,
"itag": 299,
"quality": "hd1080",
"qualityLabel": "1080p60",
"videoCodec": "AVC"
},
{
"audioBitrate": "128",
"audioCodec": "AAC",
"audioQuality": null,
"audioSampleRate": "48000",
"container": "mp4",
"hasAudio": true,
"hasVideo": true,
"itag": 300,
"quality": null,
"qualityLabel": "720p60",
"videoCodec": "AVC"
},
{
"audioBitrate": "128",
"audioCodec": "AAC",
"audioQuality": null,
"audioSampleRate": "48000",
"container": "mp4",
"hasAudio": true,
"hasVideo": true,
"itag": 301,
"quality": null,
"qualityLabel": "1080p60",
"videoCodec": "AVC"
},
{
"audioBitrate": null,
"audioCodec": null,
"audioQuality": null,
"audioSampleRate": null,
"container": "webm",
"hasAudio": false,
"hasVideo": true,
"itag": 302,
"quality": "hd720",
"qualityLabel": "720p60",
"videoCodec": "VP9"
},
{
"audioBitrate": null,
"audioCodec": null,
"audioQuality": null,
"audioSampleRate": null,
"container": "webm",
"hasAudio": false,
"hasVideo": true,
"itag": 303,
"quality": "hd1080",
"qualityLabel": "1080p60",
"videoCodec": "VP9"
},
{
"audioBitrate": null,
"audioCodec": null,
"audioQuality": null,
"audioSampleRate": null,
"container": "mp4",
"hasAudio": false,
"hasVideo": true,
"itag": 304,
"quality": "hd1440",
"qualityLabel": "1440p60",
"videoCodec": "AVC"
},
{
"audioBitrate": null,
"audioCodec": null,
"audioQuality": null,
"audioSampleRate": null,
"container": "mp4",
"hasAudio": false,
"hasVideo": true,
"itag": 305,
"quality": "hd2160",
"qualityLabel": "2160p60",
"videoCodec": "AVC"
},
{
"audioBitrate": null,
"audioCodec": null,
"audioQuality": null,
"audioSampleRate": null,
"container": "webm",
"hasAudio": false,
"hasVideo": true,
"itag": 308,
"quality": "hd1440",
"qualityLabel": "1440p60",
"videoCodec": "VP9"
},
{
"audioBitrate": null,
"audioCodec": null,
"audioQuality": null,
"audioSampleRate": null,
"container": "webm",
"hasAudio": false,
"hasVideo": true,
"itag": 313,
"quality": "hd2160",
"qualityLabel": "2160p",
"videoCodec": "VP9"
},
{
"audioBitrate": null,
"audioCodec": null,
"audioQuality": null,
"audioSampleRate": null,
"container": "webm",
"hasAudio": false,
"hasVideo": true,
"itag": 315,
"quality": "hd2160",
"qualityLabel": "2160p60",
"videoCodec": "VP9"
},
{
"audioBitrate": null,
"audioCodec": "AAC",
"audioQuality": "AUDIO_QUALITY_MEDIUM",
"audioSampleRate": "44100",
"container": "mp4",
"hasAudio": true,
"hasVideo": false,
"itag": 327,
"quality": "tiny",
"qualityLabel": null,
"videoCodec": null
},
{
"audioBitrate": null,
"audioCodec": null,
"audioQuality": null,
"audioSampleRate": null,
"container": "webm",
"hasAudio": false,
"hasVideo": true,
"itag": 330,
"quality": "tiny",
"qualityLabel": "144p60 HDR",
"videoCodec": "VP9"
},
{
"audioBitrate": null,
"audioCodec": null,
"audioQuality": null,
"audioSampleRate": null,
"container": "webm",
"hasAudio": false,
"hasVideo": true,
"itag": 331,
"quality": "small",
"qualityLabel": "240p60 HDR",
"videoCodec": "VP9"
},
{
"audioBitrate": null,
"audioCodec": null,
"audioQuality": null,
"audioSampleRate": null,
"container": "webm",
"hasAudio": false,
"hasVideo": true,
"itag": 332,
"quality": "medium",
"qualityLabel": "360p60 HDR",
"videoCodec": "VP9"
},
{
"audioBitrate": null,
"audioCodec": null,
"audioQuality": null,
"audioSampleRate": null,
"container": "webm",
"hasAudio": false,
"hasVideo": true,
"itag": 333,
"quality": "large",
"qualityLabel": "480p60 HDR",
"videoCodec": "VP9"
},
{
"audioBitrate": null,
"audioCodec": null,
"audioQuality": null,
"audioSampleRate": null,
"container": "webm",
"hasAudio": false,
"hasVideo": true,
"itag": 334,
"quality": "hd720",
"qualityLabel": "720p60 HDR",
"videoCodec": "VP9"
},
{
"audioBitrate": null,
"audioCodec": null,
"audioQuality": null,
"audioSampleRate": null,
"container": "webm",
"hasAudio": false,
"hasVideo": true,
"itag": 335,
"quality": "hd1080",
"qualityLabel": "1080p60 HDR",
"videoCodec": "VP9"
},
{
"audioBitrate": null,
"audioCodec": null,
"audioQuality": null,
"audioSampleRate": null,
"container": "webm",
"hasAudio": false,
"hasVideo": true,
"itag": 336,
"quality": "hd1440",
"qualityLabel": "1440p60 HDR",
"videoCodec": "VP9"
},
{
"audioBitrate": null,
"audioCodec": null,
"audioQuality": null,
"audioSampleRate": null,
"container": "webm",
"hasAudio": false,
"hasVideo": true,
"itag": 337,
"quality": "hd2160",
"qualityLabel": "2160p60 HDR",
"videoCodec": "VP9"
},
{
"audioBitrate": null,
"audioCodec": "OPUS",
"audioQuality": "AUDIO_QUALITY_MEDIUM",
"audioSampleRate": "48000",
"container": "webm",
"hasAudio": true,
"hasVideo": false,
"itag": 338,
"quality": "tiny",
"qualityLabel": null,
"videoCodec": null
},
{
"audioBitrate": null,
"audioCodec": null,
"audioQuality": null,
"audioSampleRate": null,
"container": "mp4",
"hasAudio": null,
"hasVideo": null,
"itag": 386,
"quality": "tiny",
"qualityLabel": null,
"videoCodec": null
},
{
"audioBitrate": null,
"audioCodec": null,
"audioQuality": null,
"audioSampleRate": null,
"container": "mp4",
"hasAudio": null,
"hasVideo": null,
"itag": 387,
"quality": "tiny",
"qualityLabel": null,
"videoCodec": null
},
{
"audioBitrate": null,
"audioCodec": null,
"audioQuality": null,
"audioSampleRate": null,
"container": "mp4",
"hasAudio": false,
"hasVideo": true,
"itag": 394,
"quality": "tiny",
"qualityLabel": "144p",
"videoCodec": "AV1"
},
{
"audioBitrate": null,
"audioCodec": null,
"audioQuality": null,
"audioSampleRate": null,
"container": "mp4",
"hasAudio": false,
"hasVideo": true,
"itag": 395,
"quality": "small",
"qualityLabel": "240p",
"videoCodec": "AV1"
},
{
"audioBitrate": null,
"audioCodec": null,
"audioQuality": null,
"audioSampleRate": null,
"container": "mp4",
"hasAudio": false,
"hasVideo": true,
"itag": 396,
"quality": "medium",
"qualityLabel": "360p",
"videoCodec": "AV1"
},
{
"audioBitrate": null,
"audioCodec": null,
"audioQuality": null,
"audioSampleRate": null,
"container": "mp4",
"hasAudio": false,
"hasVideo": true,
"itag": 397,
"quality": "large",
"qualityLabel": "480p",
"videoCodec": "AV1"
},
{
"audioBitrate": null,
"audioCodec": null,
"audioQuality": null,
"audioSampleRate": null,
"container": "mp4",
"hasAudio": false,
"hasVideo": true,
"itag": 398,
"quality": "hd720",
"qualityLabel": "720p60",
"videoCodec": "AV1"
},
{
"audioBitrate": null,
"audioCodec": null,
"audioQuality": null,
"audioSampleRate": null,
"container": "mp4",
"hasAudio": false,
"hasVideo": true,
"itag": 399,
"quality": "hd1080",
"qualityLabel": "1080p60",
"videoCodec": "AV1"
},
{
"audioBitrate": null,
"audioCodec": null,
"audioQuality": null,
"audioSampleRate": null,
"container": "mp4",
"hasAudio": false,
"hasVideo": true,
"itag": 400,
"quality": "hd1440",
"qualityLabel": "1440p60",
"videoCodec": "AV1"
},
{
"audioBitrate": null,
"audioCodec": null,
"audioQuality": null,
"audioSampleRate": null,
"container": "mp4",
"hasAudio": false,
"hasVideo": true,
"itag": 401,
"quality": "hd2160",
"qualityLabel": "2160p60",
"videoCodec": "AV1"
},
{
"audioBitrate": null,
"audioCodec": null,
"audioQuality": null,
"audioSampleRate": null,
"container": "mp4",
"hasAudio": false,
"hasVideo": true,
"itag": 402,
"quality": "highres",
"qualityLabel": "4320p60",
"videoCodec": "AV1"
},
{
"audioBitrate": null,
"audioCodec": null,
"audioQuality": null,
"audioSampleRate": null,
"container": "mp4",
"hasAudio": false,
"hasVideo": true,
"itag": 571,
"quality": "highres",
"qualityLabel": "4320p60",
"videoCodec": "AV1"
}]
;

View file

@ -50,11 +50,77 @@ videojs.Vhs.xhr.beforeRequest = function(options) {
return options; return options;
}; };
let htvid = null;
if(video_data.params.quality === 'directdash'){
let htsource = document.getElementById("player");
htsource.innerHTML = "";
let req = new XMLHttpRequest();
req.open("GET", `/api/manifest/dash/id/${video_data.id}`, false);
req.send();
let dat = req.responseText;
let matches = [...dat.matchAll(/itag=([0-9]*)/gm)];
let itags=[];
for(let i = 1; i< matches.length; i+=2){
let match = matches[i];
if(match)
itags.push(+match[1]);
}
console.log(itags);
for(let i = 0; i < itags.length; i++){
let itag_info = itag_formats.find(function(a){return a.itag===itags[i]});
console.log("itaginfo:");
console.log(itag_info);
if(!itag_info || !itag_info.hasVideo || itag_info.hasAudio) continue;
let qual = document.createElement("source");
qual.src = `/latest_version?id=${video_data.id}&itag=${itags[i]}`;
qual.type = `video/${itag_info.container}`;
qual.setAttribute("label", `${itag_info.qualityLabel}`);
htsource.appendChild(qual);
}
let aud = document.createElement("audio");
aud.src = `/latest_version?id=${video_data.id}&itag=140`;
aud.id = "seperate_audio";
document.body.append(aud);
}
var player = videojs('player', options); var player = videojs('player', options);
if(video_data.params.quality === 'directdash'){
let aud = document.getElementById("seperate_audio");
player.on('pause', ()=>{
//console.log("paused");
aud.pause();
});
player.on('playing', ()=>{
//console.log("playing");
aud.playbackRate = htvid.playbackRate;
aud.currentTime = htvid.currentTime + 0.20;
aud.play();
});
}
htvid = document.getElementById("player_html5_api");
player.on('error', function () { player.on('error', function () {
if (video_data.params.quality === 'dash') return; if (video_data.params.quality === 'dash') return;
// pause audio to be safe
let aud = document.getElementById("seperate_audio");
try {if(aud) aud.pause()} catch(e){};
var localNotDisabled = ( var localNotDisabled = (
!player.currentSrc().includes('local=true') && !video_data.local_disabled !player.currentSrc().includes('local=true') && !video_data.local_disabled
); );

View file

@ -27,6 +27,7 @@
<meta name="twitter:player:width" content="1280"> <meta name="twitter:player:width" content="1280">
<meta name="twitter:player:height" content="720"> <meta name="twitter:player:height" content="720">
<link rel="alternate" href="https://www.youtube.com/watch?v=<%= video.id %>"> <link rel="alternate" href="https://www.youtube.com/watch?v=<%= video.id %>">
<script id="itag_defs" src="/js/itags.js"></script>
<%= rendered "components/player_sources" %> <%= rendered "components/player_sources" %>
<title><%= title %> - Invidious</title> <title><%= title %> - Invidious</title>