linux ffmpeg 的安装以及程序链接过程

1.下载ffmpeg,然后解压到主目录下面,进入这个目录。一直到可以看到有个configure文件为止。

2.下面是使用configure 来生成Makefile文件,具体的配置,可以使用./configure --help来查看相关的内容,其中里面会用到
--prefix=/installpath:表示安装的路径,一般installpath 会是/usr/local/yoursoftwarelocation,一般可以使用/usr/local/ffmpeg,这就说明ffmpeg这个软件安装在/usr/local/ffmpeg这个目录里面。在卸载的时候也很方便,直接删除目录文件就可以了。
--enable-shared是生成动态链接库,相对于静态链接库,具体的内容,去参照网上如何说的动态链接库和静态链接库
3.对于生成的Makefile文件,执行make,这里可能会涉及到权限的问题,可以这么解决sudo make.
同时为了加快编译的速度可以使用make 的一个参数 -j number 表示使用number个线程来进行编译源文件。可以自己设置,一般3-10吧,多了可能会变慢。
4.sudo make install.当make成功之后就是将编译好的库文件以及头文件,相关的文件复制到你所要安装的路径当中。
5.到了make install 成功之后你就可以在你要安装的路径里面看到已经有文件了。
==========================================================================
6.如果你已经安装好了上面的内容。下面就到了如何在自己的程序中使用ffmpeg。找到一个源文件,关于ffmpeg的啊啊,我们假设这个文件为main.c。然后就编译.
gcc main.c -o main - I /usr/local/ffmpeg/include -L /usr/local/ffmpeg/lib -lavcodec -lavformat -lavutil -lavdevice

-I /path:表示在这个path下面搜索头文件
-L /path 表示在这个path下面搜索头库文件
-lavcodec 表示链接这个libavcode.so这个动态链接库

编译可能会成功,下面是运行。
这里还要提到动态链接库的概念,你在编译的时候告诉他到哪里找头文件和动态链接库,但是运行的时候需要把这些库加载到内存中才可以。
但是呢,谁来负责加载这个动态库呢,不是gcc,而是ldconfig,这个命令,会读取/etc/ld.so.conf这个文件,按着这个文件里面的路径来加载动态链接库,然后再按这系统PATH加载其他的链接库。打开这个文件,里面添加,你的程序动态链接库所在的位置。可以使用root权限来编辑这个软件。在我们这个例子中,软件安装在/usr/local/ffmepg当中,动态链接库放在/usr/local/ffmpeg/lib当中。所以在/etc/ld.so.conf添加一行:/usr/local/ffmpeg/lib。然后运行ldconfig命令在加载动态库。

期间可能还会遇到其他的问题,比如,把文件名改为main.cpp你就不能编译通过。估计是c和c++动态链接库不一样吧。
ps:这个过程当中需要了解下gcc 编译语法,动态链接的概念,可以参考操作系统教程。还有linux如何安装软件。
遇到问题在上网搜索下。就这么多。其他的方法,比如把动态链接库复制到系统默认的库下面/lib下面,也可以,只要gcc能找到,并且在运行的时候动态链接库加载程序能够找到具体的动态链接库就可以。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于Linux的Qt FFmpeg音视频播放是一种使用Qt框架和FFmpeg库在Linux操作系统上实现音视频播放的方法。 Qt是一种跨平台的应用程序开发框架,它提供了丰富的图形用户界面(GUI)组件和功能,便于开发人员创建各种类型的应用程序。而FFmpeg是一个开源的音视频处理库,它提供了处理音视频文件、编解码和转换等功能。 在基于Linux的Qt FFmpeg音视频播放中,首先需要使用Qt提供的界面设计工具创建一个用户界面,可以包含播放按钮、进度条、音量控制等控件。然后,通过Qt的信号与槽机制将这些控件与相应的函数连接起来。 接下来,需要使用FFmpeg库来解码和播放音视频文件。通过FFmpeg提供的API,可以打开音视频文件并获取其音频和视频流。然后,使用FFmpeg的解码功能将音频和视频流解码为原始的音频和视频数据。最后,使用Qt的音频和视频播放功能,将解码后的数据进行播放。 同时,基于Linux的Qt FFmpeg音视频播放还可以实现其他功能,比如暂停、快进、快退等操作。这些功能可以通过控制音频和视频的时间戳来实现。 总之,基于Linux的Qt FFmpeg音视频播放提供了一种灵活、可定制的方式来实现音视频播放功能。它可以适用于各种需求,比如嵌入式设备上的音视频播放、音频编辑和处理等。同时,Qt的跨平台特性也使得这种方法可以在其他操作系统上实现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值