[ffmpeg] fix concat list when output dir is not pwd
[ffmpeg] fix concat list when output dir is not pwd

Relative paths in the concat list are considered relative to the parent
directory of the script, not the calling directory. This isn't entirely
obvious from the documentation, but it is easy to infer from the concat
demuxer's concept of "safety", and easy to test (confirmed on FFmpeg
3.2.2). See https://ffmpeg.org/ffmpeg-all.html#concat-1 for details.

This commit fixes the wrong relative paths when --output-dir is
specified and not pwd.

This commit also
- Factors out common concat list writer code;
- Slightly simplifies the code to collect FFmpeg params (on Py35+ we can
  further simplify by unpacking LOGLEVEL with the star operator right in
  the list literal).

zmwangx/you-get,qzane/you-get,qzane/you-get,cnbeining/you-get,xyuanmu/you-get,xyuanmu/you-get,cnbeining/you-get,zmwangx/you-get