linux下安装ffmpeg的详细教程

一、centos linux下安装ffmpeg

1、下载解压

wget http://www.ffmpeg.org/releases/ffmpeg-3.1.tar.gz
tar -zxvf ffmpeg-3.1.tar.gz 

wget http://www.ffmpeg.org/releases/ffmpeg-4.4.tar.gz 
tar -zxvf ffmpeg-4.4.tar.gz 

2、 进入解压后目录,输入如下命令/usr/local/ffmpeg为自己指定的安装目录

cd ffmpeg-3.1
./configure --prefix=/usr/local/ffmpeg
make && make install

3、配置变量

vi /etc/profile
在最后PATH添加环境变量:
export PATH=$PATH:/usr/local/ffmpeg/bin
保存退出
查看是否生效
source /ect/profile  设置生效

4、查看版本

ffmpeg -version    查看版本

注意:

若安装过程中出现以下错误:

yasm/nasm not found or too old. Use –disable-yasm for a crippled build. If you think configure made a mistake, make sure you are using the latest version from Git. If the latest version fails, report the problem to the ffmpeg-user@ffmpeg.org mailing list or IRC #ffmpeg on irc.freenode.net. Include the log file “config.log” produced by configure as this will help solve the problem.

需要安装 yasm

wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
tar -zxvf yasm-1.3.0.tar.gz
cd yasm-1.3.0
./configure
make && make install

二、debian 安装 ffmpeg

1、编辑/etc/apt/sources.list加入

deb http://www.deb-multimedia.org jessie main

复制

2、安装ffmpeg

sudo apt-get update
sudo apt-get install deb-multimedia-keyring
sudo apt-get install ffmpeg
```sh
#视频推rtmp
ffmpeg -re  -i ./du.mp4 -c copy -f flv rtmp://127.0.0.1:1965/live/doorbell



#rtmp转视频
ffmpeg -i rtmp://127.0.0.1:1965/live/doorbell -vcodec h264 -f flv -acodec aac -ac 2 after.flv

ffmpeg -re  -i ./du.mp4 -c copy -f flv rtmp://127.0.0.1:1965/rec/35a9728cbd5d17daf377d2d832b7d21a_22

#推送音频
ffmpeg -re  -i ./Jm_ac1_ar441.wav -vcodec libx264 -preset:v ultrafast -tune:v zerolatency -f flv rtmp://127.0.0.1:1965/live/doorbell2

-acodec pcm_alaw

ffmpeg -re  -i ./Jm_ac1_ar441.wav  -acodec pcm_alaw  -preset:v ultrafast -tune:v zerolatency -f flv rtmp://127.0.0.1:1965/live/doorbell2

centos7.x安装FFMPEG

安装依赖

yum install autoconf automake bzip2 bzip2-devel cmake freetype-devel gcc gcc-c++ git libtool make pkgconfig zlib-devel

安装编译yasm

mkdir /data/{src,service}
cd /data/src
wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
tar xf yasm-1.3.0.tar.gz 
cd yasm-1.3.0/
./configure --enable-shared --prefix=/data/service/yasm
make
make install

–enable-shared是configure 常用的一个参数,表示启用动态库版本。
如果你要编译一个库的源代码,可以把它编译成静态库,也可以把它编译成动态库。如果你想编译成动态库,就用 –enable-shared参数;如果你想编译成静态库,就用–enable-static参数

安装编译ffmpeg

cd ..
wget http://www.ffmpeg.org/releases/ffmpeg-4.4.tar.gz
tar xf ffmpeg-4.4.tar.gz 
cd ffmpeg-4.4/
./configure --enable-shared --disable-x86asm --prefix=/data/service/ffmpeg
make
make install

加载库文件

vim /etc/ld.so.conf
include ld.so.conf.d/*.conf
/data/service/yasm/lib/
/data/service/ffmpeg/lib/
ldconfig
/data/service/ffmpeg/bin/ffmpeg -version

ffmpeg version 4.4 Copyright (c) 2000-2021 the FFmpeg developers
built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-44)
configuration: –enable-shared –disable-x86asm –prefix=/data/service/ffmpeg
libavutil 56. 70.100 / 56. 70.100
libavcodec 58.134.100 / 58.134.100
libavformat 58. 76.100 / 58. 76.100
libavdevice 58. 13.100 / 58. 13.100
libavfilter 7.110.100 / 7.110.100
libswscale 5. 9.100 / 5. 9.100
libswresample 3. 9.100 / 3. 9.100

添加环境变量

vim /etc/profile    添加如下四行
PATH=$PATH:/data/service/ffmpeg/bin
export PATH
PATH=$PATH:/data/service/yasm/bin
export PATH

source /etc/profile
ffmpeg -version

ffmpeg version 4.4 Copyright (c) 2000-2021 the FFmpeg developers
built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-44)
configuration: –enable-shared –disable-x86asm –prefix=/data/service/ffmpeg
libavutil 56. 70.100 / 56. 70.100
libavcodec 58.134.100 / 58.134.100
libavformat 58. 76.100 / 58. 76.100
libavdevice 58. 13.100 / 58. 13.100
libavfilter 7.110.100 / 7.110.100
libswscale 5. 9.100 / 5. 9.100
libswresample 3. 9.100 / 3. 9.100