И еще в догонку
Пробую тут разжать обезьяну в PCM:
sspphheerraa@localhost $
$ ffmpeg -i 05\ Time\ \(Dance\ Mix\).ape -vn -acodec pcm_s16le 05\ Time\ \(Dance\ Mix\).wav
FFmpeg version SVN-r20373, Copyright © 2000-2009 Fabrice Bellard, et al.
built on Jan 1 2010 12:14:31 with gcc 4.4.2
configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --mandir=/usr/share/man --enable-static --enable-shared --cc=x86_64-pc-linux-gnu-gcc --disable-debug --disable-ffplay --disable-network --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libx264 --enable-libxvid --disable-indev=v4l --disable-indev=jack --enable-x11grab --enable-libfaad --enable-libopenjpeg --enable-libfaac --enable-nonfree --disable-vdpau --disable-vdpau --disable-altivec --disable-mmx --disable-mmx2 --enable-pic --cpu=host --enable-gpl --enable-version3 --enable-postproc --enable-avfilter --enable-avfilter-lavf --disable-stripping --enable-hardcoded-tables
libavutil 50. 3. 0 / 50. 3. 0
libavcodec 52.37. 1 / 52.37. 1
libavformat 52.39. 2 / 52.39. 2
libavdevice 52. 2. 0 / 52. 2. 0
libavfilter 1. 4. 1 / 1. 4. 1
libswscale 0. 7. 1 / 0. 7. 1
libpostproc 51. 2. 0 / 51. 2. 0
Input #0, ape, from '05 Time (Dance Mix).ape':
Duration: 00:06:01.00, start: 0.000000, bitrate: N/A
Stream #0.0: Audio: ape, 44100 Hz, 2 channels, s16
Metadata
Track : 05
Year : 1994
Genre : Space
Artist : Koto
Album : The 12 Mixes
Title : Time (Dance Mix)
Output #0, wav, to '05 Time (Dance Mix).wav':
Stream #0.0: Audio: pcm_s16le, 44100 Hz, 2 channels, s16, 1411 kb/s
Stream mapping:
Stream #0.0 -> #0.0
Press [q] to stop encoding
ffmpeg умеет читать теги
(в каком-то из сабжевых скриптов была возможность выбирать чем кодировать mac или ffmpeg, так вот там же была пометка, - что если ffmpeg, то тегов не будет)
Теперь вижу что это не обязательно. Если видим теги в выводе консоли, значит можем их переписать в выходной файл. Может заменить в скрипте mac на ffmpeg?
Но с другой стороны, ffmpeg во flac кодирует не с максимальной степенью сжатия (файл получается больше, чем если кодировать штатным flac).
Думаю будет логично использовать следующий алгоритм:
1. Декодируем ape с помощью ffmpeg в wav; если есть теги - переписываем их в текстовый файл (наверно как-то через 'grep' вывода ffmpeg'а).
2. Жмем wav во flac с максимальной компрессией; вставляем теги из текстового файла (если они есть)
3. Режем flac по меткам cue (заполняем теги из 'cue', если они были в 'cue')
Что думаете по этому поводу?