2

我经营一家小型唱片公司,我们在亚马逊的 S3 上存储了一堆音频文件。我们希望它们转换为具有标准比特率的 MP3。我读到了 NYTimes 使用 EC2 转换所有 PDF 的内容,因为我是一个书呆子的网络程序员,所以我很感兴趣。与其下载所有文件并手动转换它们,我想知道设置 EC2 实例并设置它以转换文件需要什么?我希望能够使用 PHP 从我的 Web 服务器控制它,那么创建虚拟 LAMP 堆栈并安装 LAME 编码器的方法是什么?

4

3 回答 3

5

如果您想将音频文件(我假设为 .wav,因为它是一种非常常见的格式预格式转换)转换为 mp3,LAME 是一个可靠的编码器。

使用 LAME 非常不需要完整的 LAMP 堆栈,一个简单的 shell 脚本就足够了。

这会将当前目录中的所有 *.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(可变、恒定和平均比特率)需求的转换选项。

于 2009-05-20T22:54:25.910 回答
0

如果您已经在本地 EC2 中拥有文件,则上述答案将起作用,但您必须将每首歌曲从 S3 提取到 EC2 中,或者放入管道进行转换或放入临时文件,然后将其通过管道传输回 S3或将其存储在临时文件中,然后将其发送回 EC2。

实际上没有使用过 EC2,所以不确定您使用的是哪种存储,但您应该有足够的空间来存储一个临时 mp3。

您可能还想创建某种跟踪状态的方式,可能是在开始之前在您的存储桶上列出。

使用 S3 模块的 perl 脚本可能更适合,但我懒得在这里输入所有内容:)。

于 2009-05-20T23:06:22.250 回答
0

您可以为此使用 Elastic MapReduce。尽管您必须花点时间才能让它吐出单独的文件作为输出。

于 2009-05-20T23:13:35.670 回答