Преобразование MP3 на Amazon EC2 - PullRequest
2 голосов
/ 21 мая 2009

У меня небольшой лейбл, и у нас на Amazon S3 хранится куча аудиофайлов. Мы хотим, чтобы они конвертировались в MP3 со стандартным битрейтом. Я читал о том, как NYTimes конвертирует все свои PDF-файлы с использованием EC2, и, поскольку я - занудный веб-программист, заинтригован Вместо того, чтобы загружать все файлы и конвертировать их вручную, мне интересно, что нужно для настройки экземпляра EC2 и его настройки для преобразования файлов? Я хочу иметь возможность управлять им с моего веб-сервера с помощью PHP, поэтому существует ли подход к созданию виртуального стека LAMP и установке кодировщика LAME?

Ответы [ 3 ]

5 голосов
/ 21 мая 2009

Если вы хотите конвертировать ваши аудиофайлы (я полагаю, что .wav, так как это довольно распространенный формат предварительного преобразования формата) в mp3, LAME - это надежный кодировщик.

Полноценный стек LAMP крайне не нужен для использования LAME, достаточно простого сценария оболочки.

Это преобразует все файлы * .wav в текущем каталоге в файлы .mp3, если у них нет уже преобразованной копии (LAME не заботится о блокировании выходных файлов).

#!/bin/bash
for file in *.wav; do
  dest="${file%wav}mp3"
  if [[ -e "$file" ]] && [[ ! -e "$dest" ]]; then
    lame "$file" "$dest"
  fi
done

Вы захотите просмотреть man lame для вариантов преобразования, специфичных для ваших потребностей VBR / CBR / ABR (переменный, постоянный и средний битрейт).

0 голосов
/ 21 мая 2009

Вы можете использовать Elastic MapReduce для этого. Хотя вам придется немного поиграться, чтобы он выкладывал отдельные файлы в качестве вывода.

0 голосов
/ 21 мая 2009

Хотя приведенный выше ответ будет работать, если у вас уже есть файлы в локальном EC2, вам придется извлекать каждую песню из S3 в EC2, либо в канал для преобразования, либо во временный файл, а затем либо направить его обратно до S3 или сохраните его во временном файле и затем отправьте обратно в EC2.

На самом деле вы не использовали EC2, поэтому не знаете, с каким хранилищем вы работаете, но у вас должно быть достаточно места для хранения одного временного mp3.

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

Вероятно, сценарий Perl, использующий модуль S3, был бы более подходящим, но мне лень набирать все это здесь:).

...