2014-04-28 18 views
9

我试图在亚马逊服务器上的弹性beanstalk实例上安装ffmpeg的最新版本。我已经建立了我的配置文件,并添加这些container_commands:使用ebextensions在弹性beanstalk上安装ffmpeg config

container_commands: 
     01-ffmpeg: 
      command: wget -O/usr/local/bin/ffmpeg http://ffmpeg.gusari.org/static/64bit/ffmpeg.static.64bit.2014-03-05.tar.gz 
      leader_only: false 
     02-ffmpeg: 
      command: tar -xzf /usr/local/bin/ffmpeg 
      leader_only: false 
     03-ffmpeg: 
      command: ln -s /usr/local/bin/ffmpeg /usr/bin/ffmpeg 
      leader_only: false 

命令01和03似乎完美地工作,但02似乎并没有工作,所以ffmpeg的不解压。任何想法可能是什么问题?

感谢,对消息 海伦

+1

任何已成功安装fbmpeg和imagick最新版本的人的任何帮助也是受欢迎的,无论它是否与上述完全不同。 – user3581244

回答

17

一个善良的人在亚马逊帮了我,送我这个配置文件的作品,希望其他一些人会觉得这有用:

packages: 
    yum: 
    ImageMagick: [] 
    ImageMagick-devel: [] 
commands: 
    01-wget: 
    command: "wget -O /tmp/ffmpeg.tar.xz https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-64bit-static.tar.xz" 
    02-mkdir: 
    command: "if [ ! -d /opt/ffmpeg ] ; then mkdir -p /opt/ffmpeg; fi" 
    03-tar: 
    command: "tar xvf /tmp/ffmpeg.tar.xz -C /opt/ffmpeg" 
    04-ln: 
    command: "if [[ ! -f /usr/bin/ffmpeg ]] ; then ln -sf /opt/ffmpeg/ffmpeg-3.4-64bit-static/ffmpeg /usr/bin/ffmpeg; fi" 
    05-ln: 
    command: "if [[ ! -f /usr/bin/ffprobe ]] ; then ln -sf /opt/ffmpeg/ffmpeg-3.4-64bit-static/ffprobe /usr/bin/ffprobe; fi" 
    06-pecl: 
    command: "if [ `pecl list | grep imagick` ] ; then pecl install -f imagick; fi" 

编辑:改变的命令来安装一个“更正式“从FFMPEG网站链接的静态构建。此外,Gusari的前一个静态构建似乎不再可用。

+0

为了完整起见,下面是一些更多类似的工作的例子:http://www.snipe。net/2013/03 /发送邮件使用php和亚马逊ses-on-centosaws-linux/ –

+0

嗨我遇到此问题,同时使用此扩展安装ffmpeg:任何帮助,将不胜感激。 '百胜没有可用于安装的命令-06-pecl。在EBExtension中列出的软件包未能安装' – Aleem

+0

我可以知道我们需要的文件名和文件夹结构是什么地方写下这些命令..? – Jegan

0

入住云初始化日志。在Linux实例,这将是:

grep "03-ffmpeg" /var/log/eb-cfn-init.log 

此外,您还可以登录到另一个文件,以使更容易错误地发现:

command: ln -s /usr/local/bin/ffmpeg /usr/bin/ffmpeg >> /var/log/my-init.log 
+0

感谢这一点,肯定有助于调试,但不幸的是仍然无法弄清楚。 – user3581244

0

未经检验的,但应该不会是

tar xzf /usr/local/bin/ffmpeg

没有减号?

+0

不幸的是,它似乎没有区别。尽管谢谢你的回复。 – user3581244

7

您可以使用来自ffmpeg gusarisources语法的静态构建自动从静态构建tar下载并提取二进制文件到/usr/local/bin。下面是为我工作一个非常简单的例子:

sources: 
    /usr/local/bin: http://ffmpeg.gusari.org/static/64bit/ffmpeg.static.64bit.latest.tar.gz 
+1

更简单。谢谢! – pztrick

+1

我们在一起将光荣地懒惰! – Vinay

+0

好主意。但是,有一些注意事项。不幸的是,这种联系不是官方的,并有风险过时。现在这个链接已经死了。另一个问题是安全性,如果没有正式支持。请注意,官方的FFMPEG网站确实提供了[静态构建](https://ffmpeg.org/download.html),虽然来自第三方。问题是压缩格式是'xz'。 EB只接受ZIP和TAR(gz)。 –

0

版本不能在第一个命令中指定“01-wget的......”然而,链接文件时,它被指定。由于这个版本的发布已经从“的ffmpeg-3.3.1-64bit静态”向“的ffmpeg-3.3.3-64bit静态”变为有两种解决方案来解决这个问题:

  1. 指定wget的版本
  2. 剥离开箱时的包含目录。

    03焦油: 命令:

以下是完整的脚本 “的ffmpeg --strip 1焦油xvf命令/tmp/ffmpeg.tar.xz -C /选择/”:

packages: 
    yum: 
    ImageMagick: [] 
    ImageMagick-devel: [] 
commands: 
    01-wget: 
    command: "wget -O /tmp/ffmpeg.tar.xz https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-64bit-static.tar.xz" 
    02-mkdir: 
    command: "if [ ! -d /opt/ffmpeg ] ; then mkdir -p /opt/ffmpeg; fi" 
    03-tar: 
    command: "tar xvf /tmp/ffmpeg.tar.xz -C /opt/ffmpeg --strip 1" 
    04-ln: 
    command: "if [[ ! -f /usr/bin/ffmpeg ]] ; then ln -s /opt/ffmpeg/ffmpeg /usr/bin/ffmpeg; fi" 
    05-ln: 
    command: "if [[ ! -f /usr/bin/ffprobe ]] ; then ln -s /opt/ffmpeg/ffprobe /usr/bin/ffprobe; fi" 
    06-pecl: 
    command: "if [ `pecl list | grep imagick` ] ; then pecl install -f imagick; fi" 
相关问题