如何在Elastic Beanstalk上安装FFMPEG

时间:2016-08-31 05:48:32

标签: php ffmpeg elastic-beanstalk

这不是重复,我找到了一个线程,它已经过时但不起作用: Install ffmpeg on elastic beanstalk using ebextensions config

我一直试图安装它一段时间,似乎没什么用。 请分享将使这项工作的config.yml。

我在Elastic Beanstalk上使用64位运行PHP 7.0的Amazon Linux 2016.03 v2.1.6

我当前的档案是

branch-defaults: 
  default: 
    environment: Default-Environment
  master: 
    environment: Default-Environment
global: 
  application_name: "My First Elastic Beanstalk Application"
  default_ec2_keyname: ~
  default_platform: "64bit Amazon Linux 2016.03 v2.1.6 running PHP 7.0"
  default_region: us-east-1
  profile: eb-cli
  sc: git
packages: ~
yum: 
  ImageMagick: []
  ImageMagick-devel: []
  commands: 
    01-wget: 
      command: "wget -O /tmp/ffmpeg.tar.gz http://ffmpeg.gusari.org/static/64bit/ffmpeg.static.64bit.2014-03-05.tar.gz"
    02-mkdir: 
      command: "if [ ! -d /opt/ffmpeg ] ; then mkdir -p /opt/ffmpeg; fi"
    03-tar: 
      command: "tar -xzf ffmpeg.tar.gz -C /opt/ffmpeg"
      cwd: /tmp
    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"

3 个答案:

答案 0 :(得分:1)

尝试以下.ebextensions/00-install-ffmpeg.config文件:

commands:
  01-install:
    command: "wget http://ffmpeg.gusari.org/static/64bit/ffmpeg.static.64bit.latest.tar.gz -O - | tar zxf - -C /usr/bin"

答案 1 :(得分:0)

以下配置对我有用。尝试使用特定版本,并根据ffmpeg的版本确保文件夹名称正确。

文件.ebextensions/03_ffmpeg_package.config

packages:
  yum:
    ImageMagick: []
    ImageMagick-devel: []
commands:
  01-wget:
    command: "wget -O /tmp/ffmpeg.tar.xz https://www.johnvansickle.com/ffmpeg/old-releases/ffmpeg-3.4.2-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.2-64bit-static/ffmpeg /usr/bin/ffmpeg; fi"
  05-ln:
    command: "if [[ ! -f /usr/bin/ffprobe ]] ; then ln -sf /opt/ffmpeg/ffmpeg-3.4.2-64bit-static/ffprobe /usr/bin/ffprobe; fi"
  06-pecl:
    command: "if [ `pecl list | grep imagick` ] ; then pecl install -f imagick; fi"

我正在通过此链接使用静态构建 John Van Sickle - FFmpeg Static Builds

答案 2 :(得分:0)

另一种方法很简单,例如下载静态版本的ffmpeg,将其压缩并上传到S3存储桶或在线任何地方,然后将其添加到ebextension中

sources:    
  /etc/ffmpeg: https://url-to/ffmpeg-static-file.zip