2009-05-20 4 views
2

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

ответ

5

Если вы хотите преобразовать свои аудиофайлы (я предполагаю .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

Dest = «$ {файл% WAV} mp3» является экологически чистым способом, чтобы написать, что:] – rmmh

+0

Спасибо за этот кончик, обновили сценарий – JensenDied

+0

Хорошо, это звучит менее сложной. Я буду копать. – user110218

0

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

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

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

Возможно, сценарий perl с использованием модуля S3 будет более подходящим, но я слишком ленив, чтобы набрать все здесь :).

+0

Спасибо, я буду помнить об этом. – user110218

0

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