ffmpeg的部署踩坑及简单使用方式

ffmpeg的使用方式有以下几种:

使用原生安装包

直接在ffmpeg官网上下载安装该软件,加入到环境变量中就可以使用了

优点:简单,灵活,代码中也不用添加其他第三方的包

缺点:需要手动安装ffmpeg,这点比较麻烦

部署-windows

在windows环境下,有时就算加入到了环境变量,在程序中依然有可能会报错找不到ffmpeg.exe文件,此时可以直接在配置文件中指定脚本路径,CmdHandleConfig

@ConfigurationProperties(prefix = "cmd-handle")
@Component
@Data
public class CmdHandleConfig {
   
    /**
     * ffmpeg的路径
     */
    private String ffmpegPath;
}
public static String getFfmpegPath() {
   
    CmdHandleConfig cmdHandleConfig = SpringUtil.getBean(CmdHandleConfig.class);
    if (StringUtils.hasText(cmdHandleConfig.getFfmpegPath())) {
   
        return cmdHandleConfig.getFfmpegPath();
    }
    OsInfo osInfo = SystemUtil.getOsInfo();
    String suffix = osInfo.isWindows() ? ".exe" : (osInfo.isMac() ? "-osx" : "");
    return "ffmpeg" + suffix;
}

说明:方法中使用的都是hutool的工具包;windows中的执行脚本是ffmpeg.exe,linux上是ffmpeg
在linux上手动获取脚本路径,可使用以下命令:

which ffmpeg
部署-linux

在linux上部署分为两种情况,直接使用宿主机环境安装和使用docker安装

宿主机安装

添加源并安装,这种装好的ffmpeg命令是已经自动加到了环境变量,不需要自己再手动添加

echo > /etc/apt/sources.list
echo  "deb http://mirrors.tuna.tsinghua.edu.cn/debian/ buster main contrib non-free" >/etc/apt/sources.list
echo  "deb http://mirrors.tuna.tsinghua.edu.cn/debian/ buster-updates main contrib non-free" >>/etc/apt/sources.list
echo  "deb http://mirrors.tuna.tsinghua.edu.cn/debian/ buster-backports main contrib non-free" >>/etc/apt/sources.list
echo  "deb http://mirrors.tuna.tsinghua.edu.cn/debian-security buster/updates main contrib non-free" >>/etc/apt/sources.list
apt-get -y update && apt-get install -y ffmpeg
docker安装
  1. 如果是在Dockerfile中使用RUN命令在容器中安装,apt-get update命令会缺少源,就算在sources.list文件中添加了源也会失败,这里我不知道怎么解决,所以我采用的是第二种方式
  2. From一个基础镜像并run一个容器,在运行的容器中执行宿主机安装所使用的命令,添加源并进行安装即可,最后构建成自己的一个基础镜像。我自己也写了一个脚本用来构建ffmpeg的镜像,亲测是可以的。可以在资源

相关推荐

  1. ffmpeg部署简单使用方式

    2024-06-12 13:00:03       9 阅读
  2. gitlab-ci相关部署要点记录

    2024-06-12 13:00:03       25 阅读
  3. ffmpeg使用简单

    2024-06-12 13:00:03       23 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-12 13:00:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-12 13:00:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-12 13:00:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-12 13:00:03       20 阅读

热门阅读

  1. win10下 mysql8.0.37.0 msi版本安装时出现的问题

    2024-06-12 13:00:03       7 阅读
  2. windows下安装IntelliJIDEA

    2024-06-12 13:00:03       9 阅读
  3. 【实用技巧】Unity中的Scrollbar组件的实用技巧

    2024-06-12 13:00:03       7 阅读
  4. 在 Jupyter 编辑函数(Edit function in Jupyter)

    2024-06-12 13:00:03       6 阅读
  5. 《计算机组成原理》期末复习题节选

    2024-06-12 13:00:03       5 阅读
  6. C# range

    2024-06-12 13:00:03       8 阅读
  7. git使用http协议时免密pull和push方法

    2024-06-12 13:00:03       6 阅读
  8. nginx的rewrite功能介绍

    2024-06-12 13:00:03       6 阅读
  9. Elasticsearch6.7版本,内网中其他电脑无法连接

    2024-06-12 13:00:03       8 阅读
  10. Elasticsearch分析器与分词器:定制文本处理流程

    2024-06-12 13:00:03       9 阅读