LINUX.ORG.RU

bash, скрипт, ffmpeg выходит из цикла..


0

0

написал скриптик... для перекодировки mp3 в ogg с помощью ffmpeg ... но почемуто обрабатывается только первый файл.. а дальше скрипт завершается.. я так понимаю виноват ffmpeg, т.к. если строку с ним закомментить, то цикл проходит все файлы.. Что тут можно сделать? В скрипт передается директория.. в какой искать файлы.

#!/bin/bash

find $1 -name '*.mp3'|grep '.mp3'|while read FNAME; do nFNAME=`echo "$FNAME"|sed -s 's/.mp3/.ogg/'` echo "______________________________" echo "$FNAME to $nFNAME" ffmpeg -i "$FNAME" -acodec vorbis -ab 192000 "$nFNAME" echo "DONE!" done;

anonymous

#!/bin/bash

find $1 -name '*.mp3'|grep '.mp3'|while read FNAME; do

nFNAME=`echo "$FNAME"|sed -s 's/.mp3/.ogg/'`

echo "______________________________"

echo "$FNAME to $nFNAME"

ffmpeg -i "$FNAME" -acodec vorbis -ab 192000 "$nFNAME"

echo "DONE!"

done;

... всевремя забываю про двойной enter..

anonymous
()
Ответ на: комментарий от marsijanin

Да - перекодировать mp3->ogg смысла нет особого: лучше звучать не станет, места занимать принципиально меньше не будет.

marsijanin ★★
()
Ответ на: комментарий от anonymous

Единственное, что по описанию проблемы приходит в голову -- что ffmpeg как-то влияет на stdin. Я не понимаю, зачем он это делает, и не могу даже проверить, делает ли, но...

Если (если!) это так, должно помочь ffmpeg .... </dev/null

lodin ★★★★
()
Ответ на: комментарий от anonymous

Гы, значит, таки читает stdin. Век живи, век учись...

lodin ★★★★
()
Ответ на: комментарий от anonymous

>find $1 -name '*.mp3'|grep '.mp3'|while read FNAME;
А xargs чем не нравится?

P.S. Открой для себя User Line breaks

bakagaijin
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.