"Агата Кристи" и маленький детектив с кодеками
Нашел в своих музыкальных завалах купленный в 1998 году диск группы «Агата Кристи» со всеми их вышедшими на тот момент альбомами (а позднее они, имхо, ничего путного и не записали). Захотел послушать, да не тут-то было: песни закодированы каким-то древним кодеком (mpeg-2.5), причем файлы почему-то имеют расширение wav. Любимый проигрыватель
воспроизводить такое отказался. Воспроизвел mplayer, но у меня на mpg123 завязана целая система, так что решил перекодировать. Особого труда это не составило и об этом не стоило бы писать, если бы не автоматизация с помощью bash-скрипта.
Файлы имели названия по шаблону 101.wav, 102.wav… 511.wav, т.е. номер альбома и номер песни. Для конвертации всех файлов был сооружен такой однострочник:
который и справился с задачей за считаные минуты. Распишу скрипт более подробно:
mpg123 *.wav
воспроизводить такое отказался. Воспроизвел mplayer, но у меня на mpg123 завязана целая система, так что решил перекодировать. Особого труда это не составило и об этом не стоило бы писать, если бы не автоматизация с помощью bash-скрипта.
Файлы имели названия по шаблону 101.wav, 102.wav… 511.wav, т.е. номер альбома и номер песни. Для конвертации всех файлов был сооружен такой однострочник:
for i in `ls | egrep -o -e'[0-9]+'`; do ffmpeg -i $i.wav -acodec mp2 $i.mp3 ; done ; rm *.wav
,который и справился с задачей за считаные минуты. Распишу скрипт более подробно:
# Самая сложная строка - первая. В ней объявляется цикл с переменной i,
# которая принимает список значений, создаваемой командой ls (перечислить
# файлы в текущем каталоге). Поскольку нас интересуют только имена файлов,
# фильтруем их командой egrep, вычленяющей только часть, содержащую
# цифры - [0-9]+. Ключ -o нужен для вывода только найденного соответствия,
# а не всего имени файла.
for i in `ls | egrep -o -e'[0-9]+'`
do
ffmpeg -i $i.wav -acodec mp2 $i.mp3
done
rm *.wav
Комментарии (3)
RSS свернуть / развернутьffmpeg тоже часто использую для перекодирования видео
Sergei_T
yababay
Markony
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.