05 Feb 2019


  1. Playback
  2. User interface
    1. Docking the video window



Video playback is implemented using DirectShow. Video decoding is supported only via LAV Filters (LAV Splitter + LAV Video). Optionally, if you want to display subtitles, there also should be available xy-VSFilter filter. In addition to installing them in the system component provides few other options to deliver them. Read Third-party binaries topic for details.

By default video playback is provided only for tracks played by the component. If you want to play video also from other sources (for example, local video files) you can uncheck check box Decoding Video Process only tracks played by the component.

Video playback starts after audio playback has been started. More precisely, it is triggered by play_callback::on_playback_new_track() notification.

By current design video should be analyzed before component tries to open it. I.e. it should exist in Analysis cache and available qualities should have video streams. So even if playback is done entirely by LAV Filters, it still should be recognizable by ffmpeg used by the component (but this ffmpeg does not have to be able to decode it).

User interface

Component provides two slightly different ways to play video: via UI element and via popup window.

Video UIE is located in Playback Visualization Video. Number of UI elements is unlimited. Playback in UIE can be started automatically when UIE becomes visible or manually. This can be controller on UIE basis using video frame context menu item Autoplay. By default if UIE goes invisible video playback in it stops. If this behavior causes troubles it can be changed using option Video Playback Stop video when UI element goes invisible.

Video popup window can be accessed using menu View Visualizations Video. There can be only one video popup window.

Most its options are self-explanatory. But some of them worth mentioning. Video frame context menu item Window Separate with main window makes popup window be independent from main foobar2000 window. That means if you for example minimize the main window that won't result in hiding video popup window. It will stay on the screen. With context menu option On top While playing this can help to keep it visible while you are working in other program.

In multi-monitor environment you may want to keep it full screen on one monitor while you are working on the other one. By default fullscreen mode turns off if you switch to other program. But this behavior can be disabled using option Video Playback Turn off video fullscreen mode on program deactivation. That group of options also has Fullscreen monitor combo box in case you want to always use specific monitor in fullscreen mode.

Video frames appearance can be configured using options Video Window. This includes the rule for fallback text generation and options how to draw text and background.

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 Video