mirror of
https://git.sr.ht/~cadence/cloudtube
synced 2026-03-02 02:31:35 +00:00
Implement preferred quality selection
The list is subject to change as I collect more feedback. I just want to get this initial change out for everyone to use and appreciate.
This commit is contained in:
parent
fd854ec222
commit
ac3de4b4e6
6 changed files with 85 additions and 19 deletions
|
|
@ -32,6 +32,14 @@ block content
|
|||
|
||||
+input("instance", "Instance", "url", constants.user_settings.instance.default, false, instances)
|
||||
|
||||
+select("quality", "Preferred qualities", false, [
|
||||
{value: "0", text: "Best combined"},
|
||||
{value: "1", text: "Best DASH"},
|
||||
{value: "2", text: "Best <=1080p"},
|
||||
{value: "3", text: "Best low-fps"},
|
||||
{value: "4", text: "360p"}
|
||||
])
|
||||
|
||||
+select("save_history", "Watched videos history", false, [
|
||||
{value: "0", text: "Don't store"},
|
||||
{value: "1", text: "Store on server"}
|
||||
|
|
|
|||
|
|
@ -14,12 +14,9 @@ block head
|
|||
block content
|
||||
unless error
|
||||
main.video-page
|
||||
- const sortedFormatStreams = video.formatStreams.slice().sort((a, b) => b.second__height - a.second__height)
|
||||
- const sortedVideoAdaptiveFormats = video.adaptiveFormats.filter(f => f.type.startsWith("video") && f.qualityLabel).sort((a, b) => a.second__order - b.second__order)
|
||||
|
||||
.main-video-section
|
||||
.video-container
|
||||
- const format = sortedFormatStreams[0]
|
||||
- const format = formats[0]
|
||||
if format
|
||||
video(controls preload="auto" width=format.second__width height=format.second__height data-itag=format.itag)#video.video
|
||||
source(src=format.url+mediaFragment type=format.type)
|
||||
|
|
@ -49,10 +46,8 @@ block content
|
|||
+subscribe_button(video.authorId, subscribed, `/watch?v=${video.videoId}`).border-look
|
||||
//- button.border-look#theatre Theatre
|
||||
select(autocomplete="off").border-look#quality-select
|
||||
each f in sortedFormatStreams
|
||||
option(value=f.itag)= `${f.qualityLabel} ${f.container}`
|
||||
each f in sortedVideoAdaptiveFormats
|
||||
option(value=f.itag)= `${f.qualityLabel} ${f.container} *`
|
||||
each f in formats
|
||||
option(value=f.itag)= f.cloudtube__label
|
||||
//-
|
||||
a(href="/subscriptions").border-look
|
||||
img(src="/static/images/search.svg" width=17 height=17 alt="").button-icon
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue