当前位置: 首页 > article >正文

[笔记] ffmpeg docker编译环境搭建

文章目录

  • 环境
  • 参考
  • dockerfile 文件
  • 步骤
  • 常见问题
    • docker 构建镜像出现 INTERNAL_ERROR 失败?
  • 总结

环境

docker 环境
系统centos 7.9 (无所谓了 你用docker编译就无所谓系统了)
ffmpeg3.3

参考

https://blog.csdn.net/jiedichina/article/details/71438112

dockerfile 文件

FROM ubuntu:22.04
ENV DEBIAN_FRONTEND=noninteractive

# Install packages
RUN set -eux \
    && apt-get -yq update \
    && apt-get -yq upgrade \
    && apt-get -yq install autoconf automake build-essential \
        libass-dev libfreetype6-dev libsdl2-dev libtheora-dev \
        libtool libva-dev libvdpau-dev libvorbis-dev libxcb1-dev \
        libxcb-shm0-dev libxcb-xfixes0-dev pkg-config texinfo zlib1g-dev \
    && exit 0

# yasm 
RUN set -eux \
       && apt-get -yq install yasm \
       && exit 0

# X264
RUN set -eux \
       && apt-get -yq install libx264-dev \
       && exit 0

# AAC
RUN set -eux \
       && apt-get -yq install libfdk-aac-dev \
       && exit 0

# mp3
RUN set -eux \
       && apt-get -yq install libmp3lame-dev \
       && exit 0

# opus
RUN set -eux \
       && apt-get -yq install libopus-dev \
       && exit 0


# VPX
RUN set -eux \
       && apt-get -yq install libvpx-dev \
       && exit 0

步骤

tar -xvf ffmpeg-3.2.2.tar.bz2

docker buildx build . -t test/ffmpeg-env

docker run -itd -v /root/ffmpeg/:/root/code --name ffmepg-compile-env test/ffmpeg-env:latest

docker container ls -a 

docker exec -it [container_id] /bin/bash

进入docker后

cd /root/code/ffmpeg-3.2.2

./configure 

make  # 默认编译动态库 编译自己再找配置一下

make install DESTDIR=/root/code/build 

exit

退出后即可在/root/ffmpeg/build下看到自己编译的 bin、lib、share、include
在这里插入图片描述

常见问题

docker 构建镜像出现 INTERNAL_ERROR 失败?

dockerfile文件记得要使用utf-8编码

https://segmentfault.com/q/1010000044551449

总结

编译环境相对容易搭建,但要注意docker的镜像仓库 可能会无法访问 记得更换国内镜像仓库


http://www.kler.cn/a/370406.html

相关文章:

  • 基于微信小程序的安心陪诊管理系统
  • TTL 在 Redis 缓存中的作用
  • 如何设置HTTPS站点防御?
  • 搭建一个基于Spring Boot的书籍学习平台
  • 多个页面一张SQL表,前端放入type类型
  • 【21】Word:德国旅游业务❗
  • uniapp通过id获取div的宽度,高度,位置等(应该是 任意平台都通用 )
  • redis的string是怎么实现的
  • vue3取消跟踪auto-imports.d.ts,components.d.ts这两个文件的变化
  • 新魔百和HG680LC-LY,CM311-1,860av32等热门固件汇总
  • InnoDB 存储引擎<一>InnoDB简介与MySQL存储架构及相关数据结构
  • Oracle 第5章:表与数据操作
  • 【ARM 嵌入式 编译系列 10.4.1 -- ELF 文件结构详细介绍】
  • 大模型系列——AlphaZero/强化学习/MCTS
  • 解决milvus migration 迁移数据到出现数据丢失问题
  • 如何在Django中使用模板
  • 使用linuxdeployqt打包Qt程序问题及解决方法
  • 66Analytics 汉化版,网站统计分析源码,汉化前台后台
  • 达梦数据迁移工具DTS使用实践
  • GoogleChrome的安装和使用
  • 海洋生物图像分割系统:一键训练
  • Redis未授权访问及配合SSRF总结
  • 67.基于 DDR3 SDRAM 的 TFT_LCD 图像显示
  • springdata同时集成mongodb和elasticsearch异常
  • DispatchingController
  • 云计算平台上的DevOps实践