Centos7下安装FFmpeg最全踩坑记录
  MlLh8P3T4keO 2023年11月02日 67 0

环境准备

  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命令即可
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  utcwpaXdbjbR   2023年11月02日   44   0   0 html选择器ffmpeg
MlLh8P3T4keO