php 在弹性豆茎上安装ffmpeg

ig9co6j1  于 2022-12-10  发布在  PHP
关注(0)|答案(2)|浏览(167)

我试图安装ffmpeg到弹性豆茎,我已经创建了配置文件与以下命令-

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"
  02-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"

直到05-In一切似乎都很好,但在06-PECL我得到以下错误-

[2018-03-08T08:06:29.390Z] INFO  [32014] - [Application update app-f8f2d-180308_133451@78/AppDeployStage0/EbExtensionPreBuild/Infra-EmbeddedPreBuild/prebuild_1_FranchiseSoft/Command 06-pecl] : Completed activity. Result:
  PHP Warning:  Module 'imap' already loaded in Unknown on line 0
  /bin/sh: line 0: [: 3.1.2: binary operator expected
svmlkihl

svmlkihl1#

已接受的答案未提供有关解决方案的足够上下文。
所以,这里有一个更好的解释:
用于下载.tar文件的URL-https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-64bit-static.tar.xz-封装了最新版本的ffmpeg。当内容被提取时,目录名称的变化很明显。
截至2022年12月9日,文件夹的名称版本为5.1.1。因此,04-ln和05-ln需要5.1.1才能创建正确的符号链接。
将来,如果发布了更新的版本,将无法正确创建符号链接,应用程序将失败。
作为一种解决方案,您可以使用以下URL,其中您知道发布版本是固定的,tar中的文件夹名称也是固定的。例如:https://johnvansickle.com/ffmpeg/old-releases/ffmpeg-4.4.1-amd64-static.tar.xz
或者,您可以直接将文件托管在CDN中,这样更可靠,因为您的部署不依赖于外部网站。

k97glaaz

k97glaaz2#

算了,04-ln和05-ln其实是错的,修正了一下--

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"

相关问题