只是提供信息......这里的背景是AWS Elastic Beanstalk。我正在尝试在64位Amazon Linux 2015.03 v1.4.3(客户AMI ID为ami-6b50291c
)上安装audiowaveform程序。运行以下命令...
$ sudo yum install git cmake libmad-devel libsndfile-devel gd-devel boost-devel
... 成功安装了所有软件包,除了libmad-devel
和libsndfile-devel
。以下是相关输出...
Failed to set locale, defaulting to C
Loaded plugins: priorities, update-motd, upgrade-helper
amzn-main/2015.03 | 2.1 kB 00:00
amzn-updates/2015.03 | 2.3 kB 00:00
Package git-2.1.0-1.38.amzn1.x86_64 already installed and latest version
Package cmake-2.8.12-2.20.amzn1.x86_64 already installed and latest version
No package libmad-devel available.
No package libsndfile-devel available.
Package gd-devel-2.0.35-11.10.amzn1.x86_64 already installed and latest version
Package boost-devel-1.53.0-14.21.amzn1.x86_64 already installed and latest version
Nothing to do
话虽如此,这并不是audiowaveform的问题......这只是意味着Amazon Linux AMIs启用的仓库默认情况下没有libmad-devel和libsndfile-devel。我想我可能需要自己添加源。
还要注意的是,audio waveform
没有任何yum包,所以我必须手动构建它。
获取源代码......
$ git clone https://github.com/bbcrd/audiowaveform.git
$ cd audio waveform
然后构建并安装...
$ mkdir build
$ cd build
$ cmake ..
$ make
$ sudo make install
问题1
在AWS EB上,EC2实例配置为使用Amazon源,这些源没有上述软件包,即libmad-devel
和libsndfile-devel
。添加这些软件包以便它们可用于yum
,应该采取何种推荐方法?
我强调“推荐”,因为我觉得改变Amazon的源可能不是最好的方法。添加另一个源也可能与Amazon的软件包发生冲突...等等等等...
问题2
假设我能够安装libmad-devel
和libsndfile-devel
。由于没有audiowaveform
的软件包,我仍然必须手动构建。在AWS EB上,我可以编写脚本来在每个实例被实例化时执行此操作...但我觉得这不是理想的方法,速度缓慢且容易出错。有人有关于如何更好地处理这个问题的建议吗?
可能需要准备一个已经构建了这个软件的AMI,基于ami-6b50291c
。您有什么想法吗?
核心目标
我不一定要使用audiowaveform
...我的目标实际上是提取一些音频(MP3)的峰值点。我将把这个设置为一个单独的问题。