-
Notifications
You must be signed in to change notification settings - Fork 886
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Feature Request]: 1440p and 2160p qualities when using the local API #2013
Comments
This comment was marked as off-topic.
This comment was marked as off-topic.
One more thing I would like to mention that whenever you watch live stream recording then you can't adjust quality it starts in low quality so please take a look at this also. |
this is just a temporary workaround and not a fix |
Okay so I've looked into this a bit with this video https://www.youtube.com/watch?v=UGmGlaxf5tM and here are my findings. Video streams up to 1080p are available in video/mp4 and video/webm (vp9) formats, the 1440p and 2160p are only available in the video/webm (vp9) format. It looks like FreeTube will only play the video/mp4 streams. FreeTube generates the DASH manifest correctly including the 1440p and 2160p streams, FreeTube might be filtering them out somewhere along the line but I haven't found it yet. The way I've come to this conclusion is because if I filter out the streams in the video/mp4 format with the patch below, I get the following error message on the player diff --git a/src/renderer/store/modules/ytdl.js b/src/renderer/store/modules/ytdl.js
index db8895db..e1ad3ca1 100644
--- a/src/renderer/store/modules/ytdl.js
+++ b/src/renderer/store/modules/ytdl.js
@@ -347,6 +347,8 @@ const actions = {
lang: 'en-US',
requestOptions: { agent }
}).then((result) => {
+ result.player_response.streamingData.formats = result.player_response.streamingData.formats.filter(f => !f.mimeType.startsWith('video/mp4'))
+ result.player_response.streamingData.adaptiveFormats = result.player_response.streamingData.adaptiveFormats.filter(f => !f.mimeType.startsWith('video/mp4'))
resolve(result)
}).catch((err) => {
reject(err) I don't know if FreeTube is filtering the video/webm (vp9) formats out, video.js doesn't support them (everything I can find online says it's supported) or if there is a video.js setting that needs to be turned on somewhere. |
From what I remember, it isn't that Video.js doesn't support both formats, rather that they don't support playing both formats at the same time. I'm not sure why it has this limitation but that's what I remember when I was trying to figure out why it behaved this way. Having said that, we're a few versions behind the latest version of Video.js and they may have resolved it since the last time I've tried. I believe there's some small issues prevent us from upgrading, but I'd be curious if that solves the issue or not. |
I have upgraded video.js to no avail unfortunately. I have observed some interesting behaviour before upgrading video.js, unfortunately updating it breaks the quality selector so I can't really test it properly. Weird issues that happened without me changing anything on the latest commit at the time of writing (099c877): Number 1: This video shows 1440p and 2160p streams in the quality selector as well as 2 choices each for 1080p and below. However it falls back to the legacy formats immediately with this error in the console Number 2: This video has the same qualities available as the other video, interestingly though on this one if you select a DASH 720p stream you can then select the 1440p and 2160p streams after that, so it's supported by video.js some how ??? https://youtu.be/kXIOuUUZO2s |
Retrieved from #3457 (comment)
|
how far is this feature from being complete? |
Guidelines
Problem Description
When the Invidious API is used 1440p and 2160p show up in the quality selector and can be played without any issues, however when the local API is selected it only displays DASH qualities up to 1080p.
Proposed Solution
It would be nice to be able to choose 1440p and 2160p when using the local API, additionally being able to select 1440p and 2160p as the default quality in the settings would be appreciated.
Alternatives Considered
Leaving it as it is :(
Issue Labels
display more information to user, improvement to existing feature, visual improvement
Additional Information
No response
The text was updated successfully, but these errors were encountered: