Объединение mp3

Apr 24, 2015 22:08

Нужно склеить все mp3 в нескольких (многочисленных) каталогах командой:
cat *.mp3 > out.mp3
Как реализовать при этом обход таких каталогов? Предполагается, что они все внутри одного каталога.
Если ещё при этом именовать выходной файл [имя каталога, в котором объединяются файлы].mp3, то было бы вообще здóрово..

bash, mp3

Leave a comment

Comments 12

nasse April 24 2015, 19:13:50 UTC
find не спасет?

Reply

watersedge April 24 2015, 19:15:54 UTC
подозреваю, что спасёт, но не могу понять, как его приспособить..
везде нахожу рецепты типа найти все однотипные файлы и что-то с ними сделать, а это не совсем то для моей задачи

Reply


find? figador April 24 2015, 19:15:13 UTC
find ~/maindir -type f -name "*.mp3" -exec cat {} >> ~/big.mp3 \;

Reply

Re: find? watersedge April 24 2015, 19:17:58 UTC
оно слепит все mp3 из всех каталогов, а мне надо в каждом подкаталоге свой big.mp3

Reply

Re: find? figador April 24 2015, 19:48:12 UTC
Создаём файл ~/tmp.sh следующего содержания:

cd $1
cat "*.mp3" >> ../$1.mp3
cd -

Затем командуем
chmod u+x ~/tmp.sh
find ~/maindir -type d -exec ~/tmp.sh {} \;

Reply

Re: find? watersedge April 25 2015, 08:52:47 UTC
line 4: ../$1.mp3: ambiguous redirect
line 5: cd: переменная OLDPWD не установлена

Reply


d1f April 25 2015, 03:05:57 UTC
Вы и правда хотите сливать mp3 cat'ом?

Reply

watersedge April 25 2015, 08:12:24 UTC
можно ffmpeg'ом или mp3split'ом, в данном случае меня интересует снижение трудоёмкости процесса - чтобы не пришлось вручную заходить в каждый каталог

Reply


dikiy_mujchina April 25 2015, 05:04:29 UTC
Мне чтото подсказывает что склеивания таким образом на месте склейки будет 1. Щелчок. 2. Некоторые плейера будут останавливаться ибо в заголовке иная длина 3. Документе сами.
Нужно по вышеуказанным алгоритмам вместо тёплого склеивания делать распаковать в вавку, клеить и перекодинг в мп3 уже склееного. Причем клейка вавки через cat тоже сомнительная. Надо клеить каким нить инструментом.Там все-таки малый но заголовок есть...

Reply

watersedge April 25 2015, 08:22:39 UTC
Да, все эти проблемы будут, я намеренно упростил задачу, т. к. в данном случае хочу сэкономить время на обходе каталогов.
Про ffmpeg и mp3split мне известно

Reply


stanislavvv April 28 2015, 05:56:21 UTC
for i in `find /path -type d`; do
(cd $i && mpgjoin -o BIG.mp3 *.mp3)
done

Reply

watersedge May 2 2015, 17:40:03 UTC
Спасибо, работает!

Reply


Leave a comment

Up