LINUX.ORG.RU

[bash] Логирование командной строки


0

1

Доброго всем дня. Продолжаются мои изучения в скриптописании, но наткнулся на один полтергейс. Есть скрипт который обрабатывает ffmpeg'ом WAV-файлы в MP3 и WMA с заданными параметрами, в конце которого прописана строчка «> ./mp3_stereo/sound_${ar}_${ab}_mp3.txt». Файлы обрабатываются цеклически командой:

for ab in «320k» «256k» «224k» «192k» «128k» «64k» «32k»

do

for ar in «8000» «11025» «16000» «22050» «32000» «44100» «48000» «96000»

do

«ffmpeg -i ./sound.wav -ar »${ar}" -ab ${ab} ./SoundSamples/sound_${ar}_${ab}.mp3"

Вопрос - почему не на каждый случай пишутся логи, половина текстовиков создается пустых, а половина заполненых как надо? В чем подводный камень?

Благодарю за внимание

Ps. те логи что не попадают в текстовики пишутся на экране командной строки.

Если я правильно понял, то при выполнении обоих условий у тебя чего-то куда-то записывается. Возможно проблема в том, что у тебя не для всех файлов выполняются оба условия и в файл записывается пустая строка? Попробуй поменять «>» на «>>» и посмотри, что напиши, что получилось.

Napitok ()

> Ps. те логи что не попадают в текстовики пишутся на экране командной строки.

а попробуй «> ./mp3_stereo/sound_${ar}_${ab}_mp3.tx 2>&1»

metawishmaster ★★★ ()

ты перенаправляешь stdout, а у тебя там наверное ошибки, которые валятся в stderr.

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

Encoder (codec id 86017) not found for output stream #0.0 - такая вот ошибка и [mp2 @ 0xa0baa60] bitrate 320 is not allowed in mp2. Может я не тот кодек беру? Использую -acodec pcm_s16le

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

а какие параметры кодирования у wma и mp3? Почитал на некоторых форумах что wma имеет параметр до 192кбит/с - разве в этом проблема и можно ли как то скодировать выше 192кбит/с?

arthur_s ()

добавь 2>&1 перед >. Тогда в логи будет идти весь вывод, включая stderr.

userid2 ()
Ответ на: комментарий от arthur_s

может проблема с ffmpeg'ом? где можно взять версию которая бы кодировала wma вплоть до 320кбит/с?

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

нашел ответ на свой вопрос:

Several bit rates are specified in the MPEG-1 Audio Layer III standard: 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256 and 320 kbit/s, and the available sampling frequencies are 32, 44.1 and 48 kHz.[31] Additional extensions were defined in MPEG-2 Audio Layer III: bit rates 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160 kbit/s and sampling frequencies 16, 22.05 and 24 kHz.

то есть мр2 не держит битрейт выше 160, как тогда его правильно заставить кодировать в мр1?

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

поставил нужные кодеки и все решилось. для wma использовал wmav1 & wmav2, а для mp3 использовал libmp3lame

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