Библиотека Python для преобразования файлов к MP3 и установке их качества

function func() {
  var val = document.frm.filename.value;
  var arr = val.split(".");
  alert(arr[arr.length - 1]);
  var arr1 = val.split("\\");
  alert(arr1[arr1.length - 2]);
  if (arr[1] == "gif" || arr[1] == "bmp" || arr[1] == "jpeg") {
    alert("this is an image file ");
  } else {
    alert("this is not an image file");
  }
}
18
задан Abid A 7 August 2009 в 17:51
поделиться

5 ответов

Похоже, PyMedia делает это:

http://pymedia.org/

и некоторая дополнительная информация здесь о преобразовании в различные форматы при установке битрейта:

http : //pymedia.org/tut/recode_audio.html

например,

params= {
'id': acodec.getCodecId('mp3'),
'bitrate': r.bitrate,
'sample_rate': r.sample_rate,
'ext': 'mp3',
'channels': r.channels }
enc= acodec.Encoder( params )
3
ответ дан 30 November 2019 в 06:09
поделиться

Я использую привязки Python для gstreamer. Начать работу немного сложно, но как только вы начнете действовать, почти все возможно.

Из командной строки (из документации gstreamer ):

gst-launch -v filesrc location=music.wav ! decodebin ! audioconvert ! audioresample ! lame bitrate=192 ! id3v2mux ! filesink location=music.mp3

Входные filesrc location = ... может быть все, что может воспроизводить gstreamer, а не только .wav. Вы можете добавить что-то, называемое фильтром caps, чтобы изменить частоту дискретизации до определенной скорости перед кодированием.

В вашей программе Python вы должны использовать gst.parse_launch (...) , получить элементы filesrc и filesink, и вызывают сеттеры для изменения имен файлов ввода и вывода.

4
ответ дан 30 November 2019 в 06:09
поделиться

Кроме того, Python Audio Tools должны выполнять эту работу с меньшей потребностью в других библиотеках, что может быть проще, если вы делаете это в общей сети. учетная запись хостинга. (Но, по общему признанию, я не пробовал, поэтому не могу подтвердить, насколько это удобно.)

3
ответ дан 30 November 2019 в 06:09
поделиться

Другой способ избежать установки модулей Python для этой простой задачи - просто выполнить команду «lame» или другой кодировщик командной строки из сценария Python (с модулем popen).

1
ответ дан 30 November 2019 в 06:09
поделиться

Вы можете использовать модуль ctypes для вызова функций непосредственно из динамических библиотек. Он не требует установки внешних библиотек Python и имеет лучшую производительность, чем инструменты командной строки, но обычно его труднее реализовать (плюс, конечно, вам необходимо предоставить внешнюю библиотеку).

2
ответ дан 30 November 2019 в 06:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: