Version details
3.8 (03-Feb-2022)
- fixed possible conflict between
foo_youtube
and other components which use HTML pages as a start point (e.g.foo_spotify
). In youtube-dl it is impossible to know if particular URL is supported unless you actually run analysis. So when youtube-dl is enabled, component accepts alltext/html
pages and passes their URLs to youtube-dl. Component acts as a playlist loader at this stage, and there are no way to configure order of playlist loaders in foobar2000. Everything stays the same now except that if youtube-dl reports that URL is not supported, component does not prevent foobar2000 from passing this URL to other playlist loaders, whereas before this led to an error fromfoo_youtube
and stop loading - added filtering mechanism for URLs passed to youtube-dl (tab
Maintenance Third-party Binaries youtube-dl Filter
). If you do not want everytext/html
URL to be passed to youtube-dl as described above, this feature provides flexible way to narrow down a set of URLs passed to it - implemented a way to bypass Youtube throttling and added new third-party binary to help with this. Binary got a generalized name
JavaScript
but under the hood the only option there for now is Node.js, either external or managed. Throttling does not actually affect audio listening, so this is only important for video playback - extended options for youtube-dl remote location (tab
Maintenance Third-party Binaries youtube-dl Location
). Now there is possible to specify custom GitHub repository. Also added yt-dlp fork as predefined option there. Note that location affects not only managed youtube-dl source but also checking for youtube-dl updates. I.e. it is possible to use external youtube-dl and still get notifications about new youtube-dl versions in foobar2000 - fixed "HTTP 410" warning. Due to internal changes on Youtube some of extra requests being made during analysis are no longer valid and produce this warning - these now have been removed
- [beta 2] fixed possible crash when opening URLs
- [beta 2] fixed possible crash when using madVR video renderer
- [beta 2] removed option
Decoding Analyze URLs from unsupported sites
. Actual behavior of this option is rather confusing, given that with configured youtube-dl the component accepts alltext/html
URLs unconditionally - [final] changed default madVR source from
System
toNone
More details about Youtube throttling. They started using bandwidth throttling as additional way to disrupt accessing media data. It is similar to error #403, but unlike the latter, where you get an error when failing to deobfuscate signature, in this case you get slow download speed. Note that Youtube still applies rate limiting (it always does), but this limit is greater than the file bitrate, so it does not affect payback. On the other hand, throttling limits connection speed to about 50 kilobytes per second regardless of the file bitrate. This is still more than enough for audio playback but is not enough for video playback.
That said, if you need video playback, you have two options now: either configure JavaScript
third-party binary and use component to extract video URLs, or configure youtube-dl
third-party binary and use it to extract video URLs (its option Prefer youtube-dl over internal analyzer
must be enabled).
Changelog Version details