大数跨境
0
0

Centos7 安装FFmpeg踩坑记录

Centos7 安装FFmpeg踩坑记录 AI绘界Studio
2022-08-25
1
导读:来来来,刚经历过的安装FFmpeg踩坑记录.......

开始安装


由于ffmpeg是一个视频编码和转码的工具,所以涉及到的编码和转码的C库非常多,可以针对我们所使用ffmpeg的场景来选择性编译安装,例如我需要将MP4切分为m3u8小文件,所以我需要使用到的命令如下:
ffmpeg -loglevel error -y -i Mp4视频绝对路径 -threads 5 -c:v libx264 -hls_time 20 -hls_list_size 0 -c:a aac -strict -2 -f hls xxx.m3u8
  • 常用的配置项解释

  • -loglevel error 定义日志的输出级别

  • -threads 定义线程数

  • -y 覆盖

可以看到很多转码编码的参数,这个具体用到具体了解即可,接下来如果想使用上述的解码和编码库,那么应该如何安装呢?


  1. 首先安装ffmpeg源码包,依旧是老三步

./configure
make
make install

install 完成后,配置到环境变量即可


  1. 上述命令是最基础的源码包编译安装的过程,当然针对ffmpeg没那么简单,如果想实现mp4转m3u8我们还需要安装很多依赖库。同时编译命令也需要换成下面这

./configure --prefix=/opt/app/ffmpeg --enable-version3 --enable-libvpx --enable-libmp3lame --enable-libvorbis --enable-libx264 --enable-libxvid --enable-shared --enable-gpl --enable-postproc --enable-nonfree --enable-avfilter --enable-pthreads
# --prefix:指定安装目录# --enable-xxxx:开启一系列的依赖
  1. 如果不出意外那么一定会出意外,报错各种依赖库缺少,下面我已经整理出来了大部分,大家可以缺什么,装什么,然后返回执行2中到configure即可

  • yasm

    • 下载地址:http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz

    • 安装方式:老三步

  • lame

    • 下载地址:https://sourceforge.net/projects/lame/files/lame/3.98.4/lame-3.98.4.tar.gz

    • 安装方式:老三步

  • libogg

    • 下载地址:https://downloads.xiph.org/releases/ogg/libogg-1.3.5.tar.gz

    • 安装方式:老三步

  • libvorbis

    • 下载地址:http://downloads.xiph.org/releases/vorbis/libvorbis-1.1.2.tar.gz

    • 安装方式:老三步

  • nasm

    • 下载地址:https://www.nasm.us/pub/nasm/releasebuilds/2.13.03/nasm-2.13.03.tar.gz

    • 安装方式:老三步

  • x264

    • 下载地址:https://code.videolan.org/videolan/x264.git

    • 安装方式:git clone下来或者网络不好直接访问链接下载压缩包,然后继续老三步

  • xvidcore

    • 下载地址:http://downloads.xvid.org/downloads/xvidcore-1.3.5.tar.gz

    • 安装方式:老三步

  • 特殊问题一:如果安装了某个依赖库,但是configure ffmpeg的时候依旧还是报错,那么需要:echo /usr/local/lib >> /etc/ld.so.conf; ldconfig

  • 特殊问题二:当一切依赖库都已经安装完成,不再报错那个xxx依赖not found了之后,执行ffmpeg命令的时候又报错:

ffmpeg: error while loading shared libraries: libavdevice.so.58: cannot open shared object file: No such file or directory
    • 第一步:通过命令查看一下ffmpeg的依赖:ldd ffmpeg,就会发现什么什么.so not found

    • 第二步:搜索一下在哪:find / -name 'libavdevice.so.58',找到所在位置后只需要添加到全局环境变量即可,例如添加到/etc/profile,export LD_LIBRARY_PATH=xxx.so所在的那个目录,然后在执行一下source /etc/profile即可

    • 第三步:在执行ffmpeg命令即可

【声明】内容源于网络
0
0
AI绘界Studio
用科技与创意编织未来的画卷!
内容 87
粉丝 0
AI绘界Studio 用科技与创意编织未来的画卷!
总阅读37
粉丝0
内容87