我正在尝试在亚马逊服务器上的弹性beanstalk实例上安装最新版本的ffmpeg。我已经创建了我的配置文件并添加了这些container_commands:
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不会解压缩。任何想法可能是什么问题?
谢谢, 海伦
答案 0 :(得分:24)
亚马逊的一个善良的人帮助我,并发送了这个有效的配置文件,希望其他人会发现这个有用:
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的前静态版本似乎不再可用。
答案 1 :(得分:6)
您可以使用ffmpeg gusari的静态构建和sources语法自动下载二进制文件并将其从静态构建tar中提取到/usr/local/bin
。这是一个非常简单的例子,对我有用:
sources:
/usr/local/bin: https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-64bit-static.tar.xz
答案 2 :(得分:2)
第一个命令" 01-wget ..."中未指定版本。但是,在链接文件时指定它。自发布以来,该版本已从" ffmpeg-3.3.1-64bit-static" to" ffmpeg-3.3.3-64bit-static"有两种解决方案可以解决这个问题:
在解包时剥离包含目录。
03-焦油: 命令:" tar xvf /tmp/ffmpeg.tar.xz -C / opt / ffmpeg --strip 1"
以下是完整的脚本:
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"
答案 3 :(得分:1)
将以下内容添加到您的.ebextensions/packages.config
packages:
yum:
ImageMagick: []
sources:
/usr/local/bin: http://ffmpeg.org/releases/ffmpeg-4.1.tar.gz
答案 4 :(得分:0)
检查cloud-init日志中的消息。在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
答案 5 :(得分:0)
未经测试,但不应该是
tar xzf /usr/local/bin/ffmpeg
没有减号?