GNOME Bugzilla – Bug 521536
YouTube videos should have a better resolution (make use of new YouTube settings like &fmt=6)
Last modified: 2008-10-14 07:21:42 UTC
YouTube is ready for videos with a better resolution
There are some attributes for that
Make use of them
normal : 320x240 22050 Hz
&fmt=6 : 448x336 44100 Hz
&fmt=18 : 480x360 MP4 (H264 et AAC)
Should probably queue off the "Connection speed" setting in the preferences, to avoid reinventing another knob.
Coo, I missed this. I'll get on this once I've finished the GVFS stuff. :-)
*** Bug 527395 has been marked as a duplicate of this bug. ***
In my rough tests, we should enable "&fmt=18", and disable the flvdemux check if speed is "1.5 MBps" or better, in the preferences.
&fmt=6 doesn't actually seem to work one bit on all the videos I tested. Most videos should be available in MP4 though, thanks to Apple's use of it.
Created attachment 111473 [details] [review]
Add support for different YouTube resolutions
Here we go. This requests the H.264 format (fmt=18) video if your connection speed is >= 10 (1.5Mbps or above). As Bastien suggested, it ignores fmt=6.
It introduces a new totem.Object.get_connection_speed method to the Python bindings (and the C, actually), and there's also a fix for a compiler warning about unused variables in on_playlist_change_name.
(In reply to comment #7)
> Created an attachment (id=111473) 
> Add support for different YouTube resolutions
> Here we go. This requests the H.264 format (fmt=18) video if your connection
> speed is >= 10 (1.5Mbps or above). As Bastien suggested, it ignores fmt=6.
> It introduces a new totem.Object.get_connection_speed method to the Python
> bindings (and the C, actually), and there's also a fix for a compiler warning
> about unused variables in on_playlist_change_name.
Couldn't you just get the connection speed from GConf?
I did originally add a totem_get_gconf_client method and use that, but I couldn't get the Python bindings to play nicely with GConf. There may have been something I didn't try, however.
Shall I do that, or just use a default GConf client straight from Python?
I'd rather you used the default GConf client.
I fixed the warning about the unused variable (you can just commit this sort of housekeeping changes...).
Committed a modified version of the patch which checks GConf itself.
2008-05-25 Philip Withnall <firstname.lastname@example.org>
* src/plugins/youtube/youtube.py: Use higher-resolution YouTube
videos when the user's connection speed is suitably high.
Just for your info, with the youtube H264 plugin, I sometimes stumble upon video that do not work with it (gives an error message about not being allowed to do that or something), whereas trying to watch the same video with the non-H264 version works fine.
So, did you put any checks in place for the new official youtube plugin to "fallback" to lower quality if the high quality stream refuses to work?
Do we really have to ask the user to set its connexion speed in Preferences menu ? It's not very smart from a user point of view, and hardly discoverable for a non-geek. Could we imagine a way for the system to discover connexion speed and to automatically set it in Totem ?
Does network manager provide that piece of information ?
From a brief look, I can't find such information presented in the NetworkManager API. However, if you open a new bug about adding this to Totem, it could be looked into more thoroughly.
Bug 556227 – The connexion speed should be automatically set instead of asking the user to manually set it in preferences menu