Foobar 2000 Media Player

Foobar 2000 Media Library Database

Foobar 2000 media library database can't be opened with 3rd party tools directly. But it's possible to access and even “export” the media library and the playlists content with foo_sqlite.

foo_sqlite is a foobar2000 component for viewing and changing the contents of the media library and the playlists by using SQL statements. Additionally, foo_sqlite provides the possibility to store tag information in a database by defining attributes for each tag individually.

In order to read the foobar 2000 media library with #php oder any other programming language or just a 3rd party database manager the media library table has to be "materialized" (since they are only be accessible as virtual tables through the foo_sqlite interface).

How to materialize the media library in a SQLite database?

  1. File > Preferences > Media Library > SQLite Utilities > MediaLibrary Table and on top add a name how the “Materialized table” will be called, e.g. library
  2. Go through every database field and check if the field should be materialized
  3. Go into the foobar 2000 preference folder into configuration and look for foo_sqlite.materialize.db - this will hold all the data from the media library and it gets synced on every change.

Custom Converter with FFMPEG

Remuxing AAC to M4A in Foobar2000

The [[Cli]] command to wrap raw aac in a mp4 container is:

ffmpeg -i input.aac -c:a copy output.m4a

As a custom converter in foobar 2000 it would look like

ffmpeg -i %s -c:a copy %d

This results in an unplayable file with error moov box not found The problem with the above is that %s is a temporary .wav file and that's being wrapped into the mp4 container.

The post Using FFmpeg as a custom converter in foobar2000 shows how to use the converter without the %s argument and instead "pipe it" with -i pipe:0 but this didn't work.

Instead, I set up the first FFmpeg command in foo_run and that works

programming/ffmpeg