Rafostar / clapper

Level up your video experience with a modern and user-friendly media player.
https://rafostar.github.io/clapper/
GNU General Public License v3.0
716 stars 34 forks source link

Clapper can only play Youtube videos at a maximum resolution of 1080p #229

Open kozross opened 2 years ago

kozross commented 2 years ago

I'm using Clapper 0.4.1 installed via Flatpak. I try playing this video here using the 'Open URI' option and giving it the link. Eventually (after some time at a lower resolution), I get 1080p at 60fps, using the vah264dec decoder. The video has a 1440p60 resolution available, and I have a monitor capable of displaying this, but this never happens, and I'm not even given the option to choose.

Is this an inherent limitation of Clapper, or is there some way of asking for a specific resolution and framerate?

Rafostar commented 2 years ago

Previously when YT support was part of the player, related config options were accessible from the preferences window. But at some point after Clapper 0.4.X this part was ported into a separate C library made in a way to be easier to maintain and expand with additional websites support, etc.

The result of this is that Clapper does not have options to configure GStreamer plugin included in said lib yet. Default config I set there is adaptive h264 (supported by most hardware with HW accel) and YT only provides up to 1080p for h264. So what is really still missing is the access from Clapper to the config options there to request VP9 codec instead.

using the 'Open URI' option and giving it the link.

TIP: you can also simply drag and drop video image when browsing YT into Clapper window, which might be more convenient.

kozross commented 2 years ago

Could we get such options? It would be incredibly useful, and I'm a bit surprised they're missing to be honest. Clapper is a really great player, but for me, this deficiency is both significant and surprising.

Rafostar commented 2 years ago

@kozross

Could we get such options?

As I tried to explain this to you above, possibility to configure this will be added, but is not present right now, as the new lib that handles this was made AFTER Clapper 0.4 version.

this deficiency is both significant and surprising

Considering that this needed writing a whole new lib from scratch, new GStreamer plugin with it and that all this is made by a single person in a non profit open source software, having features added gradually does not seem THAT surprising to me :wink:

kozross commented 2 years ago

I guess it was more surprising due to the high quality of everything else that makes up Clapper. For what it's worth, I appreciate the project very much, and want it to be better. If what I said came across as nagging, I apologize, because that's definitely not what I wanted.

Looking forward to the new configuration options!

Rafostar commented 2 years ago

YouTube does above 1080p with VP9 or AV1 only. Ideally player should keep a track of screen resolution and limit max res to that (updating it while dragged from display to another display). Users on the other hand would need to manually configure their preferred video codec of use (cause we cannot guess if HW accel for VP9 is available, working or if user even cares about it).