LINUX.ORG.RU

Конвертация ogg2mp3 - Подземный стук...

 


0

1

Приветствю о глубокоуважаемый олл!

Решил сконвертировать ogg в mp3 и казалось бы должно помочь:
oggdec file.ogg -o - | lame - file.mp3
Но где то ошибка и не вижу где...

Причем декодирование ogg в wav а потом ужатие этого wav даже через stdout работает.

т.е: file.sh
-----
oggdec file.ogg -o - >file.dat
cat file.dat|lame - file-1.mp3

oggdec file.ogg -o -|lame - file-2.mp3
-----

# ./file.sh
Decoding «file.ogg» to «standard output»
[100.0%]
LAME 3.99.5 64bits (http://lame.sf.net)
Using polyphase lowpass filter, transition band: 16452 Hz - 17032 Hz
Encoding <stdin> to file-1.mp3
Encoding as 48 kHz j-stereo MPEG-1 Layer III (12x) 128 kbps qval=3
Decoding «file.ogg» to «standard output»
[ 0.0%]Warning: unsupported audio format
[ 0.5%]

Подскажите - где косяк?

P.S. По факту даже вариант перекодирования через файлы не помог. Пока писал декодировалось а решил проиграть выяснил что уже на этапе ogg -> wav появляется шум и естественно упаковывается в mp3. mplayer играет ogg без шума а wav с шумом.

В общем засада - надо писанные андроидом ogg перегнать в .mp3 и получил облом :(
★★★

Это баг в vorbis-tools 1.4.0, вместо "-" используй /dev/stdout — костыль, но работает. Почему в wav у тебя шум не знаю.

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

шум не знаю

потому что нужно указывать битность, знаковость, и порядок байтов. :3 Ну и что-то там про raw format ещё.

wakuwaku ★★★★
()

В любом случае, в мане пишут

Writing WAV format to stdout is a bad idea. WAV requires a seekable medium for the header to be rewritten after all the data is written out; stdout is not seekable.

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

В любом случае, в мане пишут
Writing WAV format to stdout is a bad idea. WAV requires a >seekable medium for the header to be rewritten after all the >data is written out; stdout is not seekable.

Спасибо за цитату. Видимо поэтому и шум. Вообще на просторах веба нашел рецепт:
-----
for X in *.ogg ; do
Y=${X%.*}
oggdec $Y.ogg ; lame $Y.wav $Y.mp3
done
-----
Он нормально отработал, а вот вывод через > в файл и затем lame <файл произвели шум. Через |tee ошибка формата.

После Вашей цитаты понятно в чем дело.

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

ffmpeg -i FILE.ogg -c:a mp3 FILE.mp3

Спасибо за наводку. Вот только "-c:a mp3" лишнее.
На него говорит:
-----
Unrecognized option 'c:a'
Failed to set value 'mp3' for option 'c:a'
-----

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

У тебя очень старый ffmpeg, видимо. Дебиян? Попробуй -acodec вместо -c:a.

Оно и так mp3 делает...

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

А, ну это он по расширению догадался, в этом случае кодек можно было действительно не указывать.

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