mencoder (аудио без видео)

PCLinuxOS

Модератор: Bizdelnick

joynter
Сообщения: 160
ОС: Mandriva 2010.2PP

mencoder

Сообщение joynter »

задача: нужно поднять громкость в mp3
делал так:

Код: Выделить всё

mencoder input.mp3 -oac mp3lame -lameopts vol=5 -demuxer rawvideo -rawvideo w=1:h=1 -ovc copy -of rawaudio -endpos 600 -o output.mp3

значение для -endpos брал из вывода команды

Код: Выделить всё

mplayer -identify input.mp3

Код: Выделить всё

...
ID_LENGTH=600.00
...

кодирование все же происходит (судя по "бегающим" процентикам), но в результате
получаются файлы нулевой длинны.
где я был не прав?
Спасибо сказали:
Obscurus
Сообщения: 184

Re: mencoder

Сообщение Obscurus »

А если попробовать так

Код: Выделить всё

mencoder input.mp3 -oac mp3lame -lameopts vol=5 -o output.mp3

Просто параметры для видео здесь совсем уж не к месту
Спасибо сказали:
joynter
Сообщения: 160
ОС: Mandriva 2010.2PP

Re: mencoder

Сообщение joynter »

Obscurus писал(а):
07.02.2011 16:25
А если попробовать так

Код: Выделить всё

mencoder input.mp3 -oac mp3lame -lameopts vol=5 -o output.mp3

Просто параметры для видео здесь совсем уж не к месту

в начале я тоже так думал))
на вашу команду, а так же мою

Код: Выделить всё

mencoder input.mp3 -ovc copy -oac mp3lame -lameopts vol=5 -o output.mp3

менкодер говорит, что не найден видеопоток, но он обязателен
Спасибо сказали:
Obscurus
Сообщения: 184

Re: mencoder

Сообщение Obscurus »

Ну тогда, наверное, стоит попробовать что-то вида

Код: Выделить всё

mkfifo /tmp/pipe;
mplayer input.mp3 -ao pcm:file=/tmp/pipe -af volume=+10 & lame /tmp/pipe
Спасибо сказали:
joynter
Сообщения: 160
ОС: Mandriva 2010.2PP

Re: mencoder

Сообщение joynter »

а что это и где будет output.mp3 ?
Спасибо сказали:
Аватара пользователя
Tverskoy
Сообщения: 460
Статус: Мандривопоклонник
ОС: Mandriva 2011 x86_64

Re: mencoder

Сообщение Tverskoy »

лучше используйте Audacity
Спасибо сказали:
Obscurus
Сообщения: 184

Re: mencoder

Сообщение Obscurus »

Tverskoy писал(а):
08.02.2011 10:09
лучше используйте Audacity

Кстати, да. Для обработки звука лучше пользоваться специализированными редакторами а не плеером. Просто подумал, что Вам нужен именно mencoder и никак иначе :). Только Audacity придётся пересобрать - поддержка mp3 там по умолчанию отключена.
Спасибо сказали:
joynter
Сообщения: 160
ОС: Mandriva 2010.2PP

Re: mencoder

Сообщение joynter »

аудасити не подойдет, тк нужно поднять громкость множества файлов (около сотни), а работать с каждым в отдельности не очень практично. гораздо удобнее запустить скрипт и далее заниматься своими делами
Спасибо сказали:
Аватара пользователя
Tverskoy
Сообщения: 460
Статус: Мандривопоклонник
ОС: Mandriva 2011 x86_64

Re: mencoder

Сообщение Tverskoy »

joynter писал(а):
07.02.2011 17:15
Obscurus писал(а):
07.02.2011 16:25
А если попробовать так

Код: Выделить всё

mencoder input.mp3 -oac mp3lame -lameopts vol=5 -o output.mp3

Просто параметры для видео здесь совсем уж не к месту

в начале я тоже так думал))
на вашу команду, а так же мою

Код: Выделить всё

mencoder input.mp3 -ovc copy -oac mp3lame -lameopts vol=5 -o output.mp3

менкодер говорит, что не найден видеопоток, но он обязателен

а если видео в /dev/null отправить?
Спасибо сказали:
Аватара пользователя
SinClaus
Сообщения: 1952
Статус: Мучитель Мандривы
ОС: Arch,BSD

Re: mencoder

Сообщение SinClaus »

А не проще поднять громкость в миксере?
Спасибо сказали:
joynter
Сообщения: 160
ОС: Mandriva 2010.2PP

Re: mencoder

Сообщение joynter »

SinClaus писал(а):
08.02.2011 18:05
А не проще поднять громкость в миксере?

"гениальные" разработчики нокии 5530 еще не придумали об догадаться сделать миксер ... я аудиокниги на ней слушаю и в метро практически ничего не слышу.
Спасибо сказали:
dmitriy976
Сообщения: 83
ОС: mandriva 2010.1ONE kde

Re: mencoder

Сообщение dmitriy976 »

audacity для этой цели не подойдет разве?
извините, было уже )))
mandriva 2011
Спасибо сказали:
joynter
Сообщения: 160
ОС: Mandriva 2010.2PP

Re: mencoder

Сообщение joynter »

аудасити работает с единичным файлом, а мне нужна пакетная обработка ибо нет времени производить одну и ту же операцию с несколькими сотнями файлов
Спасибо сказали:
Аватара пользователя
SinClaus
Сообщения: 1952
Статус: Мучитель Мандривы
ОС: Arch,BSD

Re: mencoder

Сообщение SinClaus »

А что, у Нокии регулятора тише-громче геть зовсим нету?
Спасибо сказали:
joynter
Сообщения: 160
ОС: Mandriva 2010.2PP

Re: mencoder

Сообщение joynter »

SinClaus писал(а):
09.02.2011 06:46
А что, у Нокии регулятора тише-громче геть зовсим нету?

offtop: знак вопроса тут просто не уместен - есть только "тише", громче чем есть можно сделать только подняв vol самих mp3-шек

решил вопрос через ffmpeg (может кому пригодится):

ffmpeg -i input.mp3 -acodec libmp3lame -vol 1024 -ab 128000 output.mp3
Спасибо сказали:
joynter
Сообщения: 160
ОС: Mandriva 2010.2PP

Re: mencoder

Сообщение joynter »

а ларчик просто открывался и, что характерно, безо всяких аудаситей )))
скрипт перекодирует mp3-шки из папки, в которой был запущен, увеличивая уровень громкости до 9дб и изменяя битрейт
тэги не копирует

Код: Выделить всё

#!/bin/bash

# using:
# cd <folder with mp3-files>
# mp3vol [level] [bitrate]
#    level    - the level of sound to axelerate in db (default - 5db)
#    bitrate    - audio-bitrate (default - 128 kbps, min - 32kbps, max - 320kbps)
#
# PS: if you wish to use <bitrate> option then <level> option is MANDATORY

Vol=5
BitRate=128
if [ $# -eq 1 ]; then
  if (( $1 < 1 )) || (( $1 > 9 )); then
    echo "exit --> incorrect volume level. it must be a number of INTEGER type between 1 and 9"
    exit 0
  fi
  Vol=$1
fi
if [ $# -eq 2 ]; then
  if (( $1 < 1 )) || (( $1 > 9 )); then
    echo "exit --> incorrect volume level. it must be a number of INTEGER type between 1 and 9"
    exit 0
  fi
  Vol=$1
  if (( $2 < 32 )) || (( $2 > 320 )); then
    echo "exit --> incorrect audio bitrate. it must be a number of INTEGER type between 32 and 320"
    exit 0
  fi
  BitRate=$2
fi
OutDir="VOLx$Vol-$BitRate""kbps"
OutDir="$PWD/$OutDir/"
if [ ! -d "$OutDir" ]; then
  mkdir "$OutDir"
fi
find . -type f -name "*.mp3" | while read FileName
do
  FileName=${FileName:2}
  InFile="$PWD/$FileName"
  OutFile="$OutDir$FileName"
  EndPos=$(mplayer -identify "$InFile" -frames 0 2>&1 | grep ID_LENGTH | cut -d "=" -f 2)
  mencoder -demuxer rawvideo -rawvideo w=1:h=1 -ovc copy -of rawaudio -endpos "$EndPos" -audiofile "$InFile" -o "$OutFile" -oac mp3lame -lameopts abr:br="$BitRate":vol="$Vol" "$InFile"
done
Спасибо сказали: