13 Jun 2018


  1. Playback Start vs. Quality Precision
  2. Media downloading
  3. Subtitles to show initially
  4. Proxy settings
  5. Docking the video window

Playback Start vs. Quality Precision

These settings are placed in component preferences Audio tab.

URLs to media files on Youtube have limited lifetime so it is always need to retrieve them again by the clip page analysis. This option specifies what component should do to retrieve media information about available qualities. Using more information it can more accurately choose desired quality. However to get more information it need to download more data, what results in playback start slowing down.

Possible variants:

FastComponent downloads only clip pages and uses quality info reported on these pages. Note that in this case component should already "know" what qualities can be there, so new ones may be reported incorrectly or lack some important properties.
MediumThe same as previous but for each media file component also makes a request to get its file size. Additionally it becomes possible to calculate file bitrate, so this choice is required if in Prefer a media file is selected criteria based on overall bitrate of the file. Also at quality selection, if several files have the same audio quality, component selects the smallest of them.
SlowFor each media file component will fetch media file data until it gets required info or reaches limit of pre-download data size. So it will operate real quality info instead info reported by the site. Pre-download limit can be changed using Preferences Advanced Tools Youtube Source Analysis Limit of pre-downloaded data size per stream.

Media downloading

How to download media file data at playback. Options foobar2000 and foo_youtube provide two different approaches, each has own advantages.

First one is the way provided by foobar2000. It downloads only data required to play right now. Note, it is part of foobar2000 thus uses proxy settings not from component but from foobar2000 (i.e. from Preferences Networking Proxy server). In this case playback may be also affected by other foobar2000 networking settings like Allow seeking over HTTP.

If foo_youtube is selected, internal downloader will be used. It uses temporary file where writes all data, downloaded during playback. It starts downloading from current playback position to the end of file. Downloading does not depend on playback.

Subtitles to show initially

List of subtitles to show initially can be adjusted in component preferences Video tab. First subtitle from this list found in available subtitles will be used for video playback. If there are no match, no subtitles will be displayed initially even if the clip has subtitles.

For example, value en;es means to display English subtitles, or Spanish subtitles if there are no English, or nothing if there are no English nor Spanish subtitles regardless of what else subtitles video has.

Component uses subtitle language tag when searching for match. Tag consists of language code (ISO 639-1 or 639-2, lowercase) appended by optional script code (ISO 15924, first letter is uppercase, the rest is lowercase) and/or optional country code (ISO 3166-1 alpha-2 (uppercase) or numeric). Existence of script and county codes is up to the clip page. All parts are separated by hyphen.

For auto-translated subtitles the prefix at: is additionally added to language tag. For auto-generated subtitles the prefix is ag:. There are no prefix for regular subtitles. For lyrics from Lyric Show Panel 3 is used special tag lrc.

Example for Chinese (Simplified): zh-Hans (regular subtitles), at:zh-Hans (auto-translated), ag:zh-Hans (auto-generated). You can check tag for every on-page subtitle using details tooltip in History UI element.

Search is case-sensitive. To be selected, on-page subtitle tag should contain provided tag. I.e. en will match regular English as well as en-GB, at:en, ag:en.

In addition to specifying explicit tags there also can be specified regular expressions. So there can be made complex rules, though more complex the rule is, less convenient regex it might have. Here are some examples:

Proxy settings

Proxy settings are placed in Preferences Advanced Tools Youtube Source Network Proxy. Expected format:


Where scheme is a proxy type: socks4, socks4a, socks5, socks5h or http (default).



Note, this proxy affects only request made directly by the component. To configure proxy for foobar2000, use Preferences Networking Proxy server.

Docking the video window

This feature comes from the time when there was no UI element for video. Yet still it could be preferable in some use cases.

Move the video window over desired area where it should be docked. Then in video window context menu select item Window Lock relative to main window. It locks window position relatively to main foobar2000 window. So when you move main window, video window will be moved accordingly. Now select item Fix to current, which locks video window size. It also makes sense to choose appropriate video resolution in component preferences: for example in 300x200 window 240p and 720p look the same but first one consumes less bandwidth and opens faster. You can also remove window border (Window Show video only) to make video window look like it is part of parent window.

Disadvantages: artifacts when moving main window; video window size is not changed automatically when resizing main window; visibility of video window does not depend on area below it (e.g. it cannot be used as part of tabbed UI). On the other hand, you can put it for example over Album Art panel and setup to appear only when video is played.

Help Miscellaneous