LINUX.ORG.RU

Конвертация *.gsm в *.mp3


0

2

Добрый день, господа. Появилась задача пакетно конвертировать аудио файлы gsm формата в mp3. На своем компьютере(Ubuntu) с этим чудесно справился soundconverter. Установил его на сервер, через apt-get, сверху накатил gstreamer0.10 со всеми его плагинами, что нашел. Но при попытке конвертировать выдается ошибка - 'lame' element not found, disabling MP3. Хотя сам Lame установлен и чудесно перегоняет wav в mp3. Очевидно не хватает каких то библиотек, но вот каких?


А не проще это сделать при помощи ffmpeg?

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

Проблема раз: На своем компе команда

sox all.gsm -r 44100 -c1 -a all.wav

перегоняет в wav формат, но не останавливается и продолжает работать даже по окончанию файла, т.е. приходиться останавливать работу нажатием ctrl-C, и в готовом файле идет сначала содержимое gsm потом тишина, файл при этом может весить 30 мб и более

Проблема два: на сервере тажа команда выдает ошибку и sox честно признается что не поддерживает формат файла.

SUPPORTED FILE FORMATS: m3u pls

Т.е. чего-то не хватает.

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

Проблема два: на сервере тажа команда выдает ошибку и sox честно признается что не поддерживает формат файла.

Похоже у тебя на своём компе и на сервере стоят разные наборы пакетов (не хватает плагинов), либо разные версии пакетов. Это же относится и к проблеме с gstreamer'ом.

Deleted
()

На сервер установил пакет gstreamer0.10-lame, и строка lame' element not found, disabling MP3 исчезла, но никаких положительных эффектов не появилось, все также создается пустой (0Kb) файл .mp3. И забыл сказать, при попытке конвертации есть еще такая строка

warnings.warn(str(e), _gtk.Warning)

что это может быть, и как от нее избавиться?

Paylys
() автор топика

В итоге конвертировать в mp3 так и не получилось, остановился на

sox -t gsm -r 5000 all.gsm all.wav

C таким вот скриптом:

#!/usr/bin/perl
use File::Find::Rule;
@files = File::Find::Rule->file()
->name( '*.gsm' )
->in( '/gsm' );
foreach $arg (@files) {
print "$arg\n";
$wav=$arg."\.wav";
print "$wav\n";
`sox -r 5000 -t gsm $arg $wav`;
unlink $arg;
}
Paylys
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.