Linux下FFmpeg安装教程

直接anzhuang

sudo apt-get install ffmpeg
不一定好使

Linux下编译安装FFmpeg

##安装yasm
下载yasm源码,链接:http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz,并进行解压,然后执行:

cd yasm-1.3.0
./configure
make
sudo make install

##安装依赖

sudo apt-get install libfaac-dev libmp3lame-dev libtheora-dev libvorbis-dev libopencore-amrnb-dev libopencore-amrwb-dev libgsm1-dev zlib1g-dev libgpac1-dev

安装libfdk_aac
http://sourceforge.net/projects/opencore-amr/?source=directory
下载fdk-aac-XXXtar.gz ,解压后执行,

./configure
sudo make
sudo make install

##安装x264
下载源码:

git clone --depth 1 git://git.videolan.org/x264

进入源码目录:

cd x264
./configure --enable-shared

如果提示:

 ./configure --enable-shared
Found no assembler
Minimum version is nasm-2.13
If you really want to compile without asm, configure with --disable-asm.

加上–disable-asm,即执行:

./configure --enable-shared --disable-asm

再执行:

sudo make install

##安装ffmpeg

到ffmpeg 官网 https://ffmpeg.org/download.html 挑选你要升级到的版本,这里下载的是http://www.ffmpeg.org/releases/ffmpeg-3.4.2.tar.gz,解压完成后进行编译安装

cd ffmpeg-3.4.2
./configure --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --disable-jack --enable-gpl --enable-libmp3lame --enable-libx264 --enable-libxvid --enable-opencl --disable-lzma

sudo make
sudo make install

对于FFmpeg编译选项的说明可以参照:
https://blog.csdn.net/yzhang6_10/article/details/77104211

动态链接库

vi /etc/ld.so.conf
加入:/usr/local/lib ##示自己的安装目录而定,/usr/local/lib是默认安装位置

#执行
sudo ldconfig

添加ffmpeg到环境变量

vi /etc/profile

#加入以下内容:
FFMPEG=/usr/local ##示自己的安装目录而定
PATH加入:$FFMPEG/bin

#让环境变量生效
sudo source /etc/profile

验证安装是否成功:

#执行
ffmpeg -version
#输出:
ffmpeg version 3.4.2 Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 4.8.2 (GCC)
configuration: --enable-shared --enable-libx264 --enable-gpl --enable-avresample
libavutil      55. 78.100 / 55. 78.100
libavcodec     57.107.100 / 57.107.100
libavformat    57. 83.100 / 57. 83.100
libavdevice    57. 10.100 / 57. 10.100
libavfilter     6.107.100 /  6.107.100
libavresample   3.  7.  0 /  3.  7.  0
libswscale      4.  8.100 /  4.  8.100
libswresample   2.  9.100 /  2.  9.100
libpostproc    54.  7.100 / 54.  7.100

##问题
###问题1

/usr/bin/ld: libavcodec/mqc.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC

libavcodec/mqc.o: error adding symbols: Bad value

collect2: error: ld returned 1 exit status

解决办法:
在config.mak文件Line88(不同版本位置可能不同)加上-fPIC,然后重新编译。
可是重新编译,还是一样无法通过,原因是因为开始编译的时候有生成.o文件,需要先make clean后再重新编译。

这里写图片描述

###问题2

ffmpeg: error while loading shared libraries: libavdevice.so.52: cannot open shared object file: No such file or directory
#执行,看看软链接是否建立
ldd `which ffmpeg`
        libavdevice.so.52 => not found
        libavfilter.so.1 => not found
        libavformat.so.52 => not found
        libavcodec.so.52 => not found
        libswscale.so.0 => not found
        libavcore.so.0 => not found
        libavutil.so.50 => not found
        libm.so.6 => /lib/libm.so.6 (0x006c3000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x007e9000)
        libc.so.6 => /lib/libc.so.6 (0x00575000)
        /lib/ld-linux.so.2 (0x00557000)

解决办法:

https://forum.ivorde.com/ffmpeg-error-while-loading-shared-libraries-libavdevice-so-52-cannot-open-shared-object-file-no-t129.html

https://stackoverflow.com/questions/12901706/ffmpeg-error-in-linux

也有可能是该库并未安装之类的,只需在./configure时加上该库即可

参考链接:
https://blog.csdn.net/hejjunlin/article/details/52402759
https://blog.csdn.net/A632189007/article/details/78422037
https://blog.csdn.net/zhengbin6072/article/details/78476380

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: FFmpegLinux中的安装教程: 1. 更新系统软件包列表: ``` sudo apt-get update ``` 2. 安装 FFmpeg 依赖包: ``` sudo apt-get install -y 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 wget zlib1g-dev ``` 3. 下载 FFmpeg 源码: ``` wget https://ffmpeg.org/releases/ffmpeg-4.3.1.tar.bz2 ``` 4. 解压 FFmpeg 源码: ``` tar xjvf ffmpeg-4.3.1.tar.bz2 ``` 5. 进入 FFmpeg 源码目录: ``` cd ffmpeg-4.3.1 ``` 6. 配置 FFmpeg 编译选项: ``` ./configure ``` 7. 编译 FFmpeg: ``` make ``` 8. 安装 FFmpeg: ``` sudo make install ``` 现在 FFmpeg 已经安装完成,你可以在命令行中使用 `ffmpeg` 命令了。 ### 回答2: FFmpeg是一个开源的跨平台的视频和音频处理工具,它可以对音频和视频进行编解码、转换、剪辑等操作。如何在Linux系统上安装FFmpeg呢? 1. 更新apt并安装依赖 在终端输入以下命令: ``` sudo apt-get update sudo apt-get install autoconf automake build-essential libass-dev libfreetype6-dev libgnutls28-dev libsdl2-dev libtool libva-dev libvdpau-dev libvorbis-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev pkg-config texinfo wget yasm zlib1g-dev ``` 这些依赖项将在安装FFmpeg之前使用,确保系统具有所需的软件和功能库。 2. 下载FFmpeg源代码 在终端输入以下命令: ``` wget https://ffmpeg.org/releases/ffmpeg-4.4.tar.bz2 ``` 这将下载最新版本的FFmpeg源代码。如果您想下载早期版本,请访问FFmpeg的官方网站。 3. 解压源代码并进入目录 在终端输入以下命令: ``` tar -xf ffmpeg-4.4.tar.bz2 cd ffmpeg-4.4 ``` 这将解压FFmpeg源代码并进入生成的目录。 4. 配置FFmpeg 在终端输入以下命令: ``` ./configure --enable-gpl --enable-libass --enable-libfreetype --enable-libgnutls --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree ``` 这将启用FFmpeg的许多附加功能。如果您不需要某些功能,可以在命令中省略它们。例如,如果您不需要libvpx支持,请省略--enable-libvpx选项。 5. 运行make命令 在终端输入命令: ``` make ``` 这将编译FFmpeg。如果您的系统上有多个处理器核心,可以使用-j选项加速编译进程。例如,如果您有4个核心,则可以使用: ``` make -j4 ``` 6. 安装FFmpeg 在终端输入以下命令: ``` sudo make install ``` 这将安装FFmpeg并使其可在系统中运行。现在,您可以在命令行中输入FFmpeg并开始使用它。例如,要将视频文件转换为mp4: ``` ffmpeg -i input.avi output.mp4 ``` 在使用FFmpeg时,请遵循版权法律和相关法规,以确保您不会侵犯版权。 unzip ffmpeg cd ffmpeg ./configure --enable-shared make sudo make install 在完成这些步骤后,您将安装最新的FFmpeg,并可以使用您所需的所有功能。 希望这些步骤对您有所帮助。 ### 回答3: FFmpeg是一款免费跨平台的视频和音频处理工具,支持多种格式的媒体文件。它在Linux平台下十分流行,如果你想在Linux上利用FFmpeg处理媒体文件,可以按照以下步骤安装FFmpeg: 1. 在Linux系统上,使用终端进入root用户。使用命令“sudo su”,输入管理员密码。 2. 更新Linux系统的软件库,使用以下命令:sudo apt update 3. 安装FFmpeg依赖库,使用以下命令:sudo apt install yasm libx264-dev libvpx-dev libmp3lame-dev libopus-dev libvorbis-dev pkg-config 4. 下载FFmpeg源代码,可以在其官网上下载最新版本。 5. 解压源代码文件,使用以下命令:tar -zxvf 文件名.tar.gz 6. 进入解压后的文件夹,使用以下命令:cd 文件夹名字 7. 编译FFmpeg,使用以下命令:./configure --enable-libx264 --enable-libvpx --enable-libmp3lame --enable-libopus --enable-libvorbis 说明:这个命令在编译FFmpeg时需要指定所需的库,这些库需要按照上面的第3步进行安装。 8. 使用以下命令进行FFmpeg编译和安装:make && make install 9. 等待安装完成后,输入 ffpeg -version 命令检查FFmpeg是否安装成功。 以上步骤就是在Linux系统中安装FFmpeg的详细步骤。在安装过程中,需要注意一些依赖库的安装,并且需要保证当前的环境是Linux环境。这样就可以享受到FFmpeg带来的便利。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值