我是靠谱客的博主 调皮太阳,这篇文章主要介绍配置ffmpeg最新版的办法,现在分享给大家,希望可以做个参考。

1. 升级glibc 

 

查看当前系统版本:

ll /lib64/libc.so.6

 

如果版本低于2.18 就需要升级

wget http://ftp.gnu.org/gnu/glibc/glibc-2.27.tar.gz 
tar -xvf  glibc-2.27.tar.gz 
mkdir glibc-2.27/build
cd glibc-2.27build 
../configure  --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
make
make install

 

2. 安装ffmpeg

1、下载ffmpeg。

    在网上搜索一下,或者到官方网站下载

  

2、解压

   tar命令解压


3、配置

./configure --enable-shared --prefix=/usr/local/ffmpeg

其中:--enable-shared 是允许其编译产生动态库,在以后的编程中要用到这个几个动态库。--prefix设置的安装目录。

4、编译并安装

make
make install

5、安装之后在/usr/local/ffmpeg会看到有三个目录

lib 动态链接库位置
include 编程要用到头文件
bin 执行文件所在的目录

6、为了以后方便编程,我们把lib中的三个链接库libavcodec.so libavformat.so libavutil.so复制到/usr/lib下。把include目录下的ffmpeg目录复制到/usr/include下。

执行bin目录下的ffplay,可以去播放音频或者视频文件。例如播放1.mp3

./ffplay 1.mp3

另外,bin目录下还有两个文件:ffmpeg和ffserver

ffmpeg是一个很好的视频和音频的格式转化工具。网上有很多它的说明文档。如果不想生成ffserver,只要在./configure的时候加--disable-ffserver即可。

7、编程

如果写了一个test.c文件,要包含ffmpeg的头文件,可以这样写:

#include 

编译:gcc -o test test.c -lavformat -lavcodec -lavtuil (前提是有第6步的操作)

如果没有第6部的操作,则编译的时候如下:

gcc -o test test.c -I/usr/local/ffmpeg/include -L/usr/local/ffmpeg/lib -lavformat -lavcodec -lavtuil

编译成功之后,执行的时候还是需要动态库的支持,还是要把那三个动态库文件复制到/usr/lib或者/lib中,不然执行的时候会说找不到动态库链接。还有一个方法可以解决这个问题,就是把/usr/local/ffmpeg/lib这个目录加入到/etc/ld.so.config中,然后执行ldconfig,或者重启电脑,这样执行的时候系统就可以从/usr/local/ffmpeg/lib这个目录下去找这三个动态库文件了。

以上的方式是采用动态库编译ffmpeg的,如果在configure的时候不加上--enable-shared的,则采用静态链接的方式,不会生成那三个动态库。同时生成的ffplay、ffmpeg的执行文件也比较的大,因为他们不需要动态库的支持,就可以执行。但是不利于再次开发,所以我采用动态链接的方式。configure中还有很多的选项,可以通过./configure --help查看,也可以直接查看configure文件。这在配置的时候很重要。


对于直接运行安装后的/usr/local/ffmpeg/bin/   ./ffmpeg 如果运行提示如下错误:
 ffmpeg: error while loading shared libraries: libavdevice.so

则需要修改/etc/ld.so.conf文件, 在文件中添加/usr/local/ffmpeg/lib 保存文件。
然后运行命令 ldconfig

运行结束后,在来运行./ffmpeg,出现如下画面表示安装成功。

[root@node1 bin]# ./ffmpeg
ffmpeg version 4.1 Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-28)
  configuration: --enable-shared --prefix=/usr/local/ffmpeg
  libavutil      56. 22.100 / 56. 22.100
  libavcodec     58. 35.100 / 58. 35.100
  libavformat    58. 20.100 / 58. 20.100
  libavdevice    58.  5.100 / 58.  5.100
  libavfilter     7. 40.101 /  7. 40.101
  libswscale      5.  3.100 /  5.  3.100
  libswresample   3.  3.100 /  3.  3.100
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...

Use -h to get full help or, even better, run 'man ffmpeg'
 

 

最后

以上就是调皮太阳最近收集整理的关于配置ffmpeg最新版的办法的全部内容,更多相关配置ffmpeg最新版内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部