前言
ffmpeg是一个源于Linux的工具软件,是FLV视频转换器,可以轻易地实现FLV向其它格式avi、asf、 mpeg的转换或者将其它格式转换为flv。
ffmpeg设备相关的操作取决于操作系统,MAC和WIN是不统一的。
Linux上安装
Yum安装
Yum中最新只能安装2.8版本
安装EPEL Release
因为安装需要使用其他的repo源,所以需要EPEL支持
1 | sudo yum install -y epel-release rpm |
安装Nux-Dextop源
1 | # 导入一个Code |
安装ffmpeg
1 | yum list ffmpeg |
查看版本
1 | ffmpeg -version |
官方编译
下载列表地址:https://johnvansickle.com/ffmpeg/
下载
1 | wget https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz |
解压
1 | tar xvJf ffmpeg-release-amd64-static.tar.xz -C /data/tools |
打开文件
1 | sudo vi /etc/profile |
添加
1 | export FFMPEG_HOME=/data/tools/ffmpeg-7.0.2-amd64-static/ |
生效
1 | source /etc/profile |
测试
1 | ffmpeg -version |
显示信息
ffmpeg version 7.0.2-static https://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2024 the FFmpeg developers
built with gcc 8 (Debian 8.3.0-6)
configuration: –enable-gpl –enable-version3 –enable-static –disable-debug –disable-ffplay –disable-indev=sndio –disable-outdev=sndio –cc=gcc –enable-fontconfig –enable-frei0r –enable-gnutls –enable-gmp –enable-libgme –enable-gray –enable-libaom –enable-libfribidi –enable-libass –enable-libvmaf –enable-libfreetype –enable-libmp3lame –enable-libopencore-amrnb –enable-libopencore-amrwb –enable-libopenjpeg –enable-librubberband –enable-libsoxr –enable-libspeex –enable-libsrt –enable-libvorbis –enable-libopus –enable-libtheora –enable-libvidstab –enable-libvo-amrwbenc –enable-libvpx –enable-libwebp –enable-libx264 –enable-libx265 –enable-libxml2 –enable-libdav1d –enable-libxvid –enable-libzvbi –enable-libzimg
官方编译的可能没有我们需要的编码器,下面是我们自己编译的方式
自己编译
安装编译环境
1 | yum install -y automake autoconf libtool gcc gcc-c++ |
安装yasm插件
1 | wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz |
安装nasm
查看nasm的版本
1 | nasm -version |
版本低于2.13安装编译x264会报错 版本满足条件可跳过
Found no assembler
Minimum version is nasm-2.13
安装nasm
1 | yum list nasm |
发现只有2.10.07-7.el7版本 看来只能自己编译了
下载列表地址:https://www.nasm.us/pub/nasm/releasebuilds/2.13.03/
1 | cd ~ |
安装x264视频编码器
1 | wget https://code.videolan.org/videolan/x264/-/archive/stable/x264-stable.tar.gz |
安装完成后路径
1 | whereis libx264.a |
libx264: /usr/local/lib/libx264.a
安装fdk-aac音频编码器
1 | wget https://jaist.dl.sourceforge.net/project/opencore-amr/fdk-aac/fdk-aac-0.1.5.tar.gz |
安装ffmpeg
查看所有可下载版本
网址:http://www.ffmpeg.org/releases/
1 | wget https://ffmpeg.org/releases/ffmpeg-4.1.3.tar.gz |
或者下载源码后按照上面步骤安装
1 | yum install git |
安装完成后路径
1 | whereis ffmpeg |
ffmpeg: /usr/local/bin/ffmpeg
自定义安装位置
默认不添加–prefix 这相当于
1 | ./configure --prefix=/usr/local |
安装后的文件就会遍布在/usr/local的子文件夹中
我们可以按照下面写法自定义位置
1 | ./configure --prefix=/usr/local/ffmpeg |
这样文件的位置就是
1 | /usr/local/ffmpeg/bin/ffmpeg |
这时我们运行ffmpeg -version
提示
-bash: /usr/local/bin/ffmpeg: No such file or directory
要么我们在安装时直接设置
1 | ./configure --prefix=/usr/local |
这样不方便卸载,因为安装生成的文件在多个文件夹中
要么我们配置一下搜索的路径
1 | vi /etc/profile |
在开始注释后添加
1 | PATH=$PATH:/usr/local/ffmpeg/bin |
保存并立即生效
1 | source /etc/profile |
查看版本
1 | ffmpeg -version |
卸载
1 | make uninstall |
测试ffmpeg
1 | ffmpeg -version |
报错:
ffmpeg: error while loading shared libraries: libx264.so.157: cannot open sh
解决方法
1 | vi /etc/ld.so.conf |
添加libx264.so所在路径
1 | /usr/local/lib |
退出后执行
1 | ldconfig |