rembo10/headphones — pull request #1892 by basilfx (2014-09-18 00:25:40+00:00)
Title: Add support for Libav-tools

Under Ubuntu, FFmpeg is replaces by Libav. The current workaround is to install FFmpeg from backports. This commit adds support for Libav. Basically, it is copied from FFmpeg since Libav is a fork of FFmpeg.

In addition, 5e98d96 and 16ec910 provide better support for logging in a worker process. Currently, when multicore encoding is enabled, several worker processer are spawned. The logger module is specific to main process only, and therefore info/error/debug logging from the workers doesn't show up in the list. By using some magic, I fixed this issue.

In the logs, it will appear as below:

```
18-sep-2014 02:21:51 - DEBUG :: Thread-12 : Multi-core encoding enabled, spawning 4 processes
18-sep-2014 02:21:51 - INFO :: PoolWorker-4 : Encoding /path/to/input.flac...
18-sep-2014 02:21:51 - DEBUG :: PoolWorker-4 : avconv -i "/path/to/input.flac" -ar 44100 -ab 320k -y -ac 2 -vn "/path/to/output.mp3"
18-sep-2014 02:21:51 - INFO :: PoolWorker-2 : Encoding /path/to/input.flac...
18-sep-2014 02:21:51 - INFO :: PoolWorker-1 : Encoding /path/to/input.flac...
18-sep-2014 02:21:51 - DEBUG :: PoolWorker-2 : avconv -i "/path/to/input.flac" -ar 44100 -ab 320k -y -ac 2 -vn "/path/to/output.mp3"
18-sep-2014 02:21:51 - INFO :: PoolWorker-3 : Encoding /path/to/input.flac...
18-sep-2014 02:21:57 - INFO :: PoolWorker-3 : /path/to/input.flac encoded in 00:00:06
```

Support for Libav at least works under Ubuntu 14.04 and OSX 10.9+ (tested).