Qt第三方库QtAV--- ubuntu编译与运行

今天又要接触这个,把一些错误或者不足的地方重新补充下!!!由于前面一段时间,项目中需要借助QtAV接口进行视频播放,特此记录下整个配置过程。整个代码编译、运行、测试在ubuntu 16.04下,Qt版本5.7.0。

Ubuntu下的安装。

Qt5.7.0 linux 64位

1.     配置基本环境

sudo apt-get install libglu1-mesa-dev freeglut3-dev mesa-common-dev

sudo apt-get install libavutil-dev libavcodec-dev libavformat-dev libswscale-dev

2.     安装两个基本库

1)安装openal:sudo apt-get install libopenal-dev libpulse-dev libva-dev libxv-dev libass-devlibegl1-mesa-dev  或者 portaudio:sudo apt-get install portaudio19-dev(portaudio本人未测试)

2)安装FFmpeg ,下载源码包,解压,编译安装 ./configure --enable-shared --disable-yasm --prefix=/usr/local/ffmpeg  (官网https://ffmpeg.org/download.html,安装过程可能提示yasm未安装,安装下即可,如果不想安装加入上面命令--disable-yasm)

make

make install (提供root权限)

安装后,在usr/local目录下会有ffmpeg文件夹,里面有对应的库和头文件。(可以使用ffmpeg –h 检查下示是否安装好,提一些如libavdevice.so.56:cannot open shared objectfile:类似错误,可以在/etc/ld.so.conf添加一条路径/usr/local/ffmpeg/lib,原因是无法找到库文件,执行下ldconfig就可以了)。

进入Qt Creator左端“项目”面板,在最下方的环境变量中添加如下三个:

设置 CPATH 到 /usr/local/ffmpeg/include
设置 LD_LIBRARY_PATH 到 /usr/local/ffmpeg/lib
设置 LIBRARY_PATH 到 /usr/local/ffmpeg/lib

保证添加ffmpeg库路径

3)安装QtAV,下载QtAV源码(各版本https://github.com/wang-bin/QtAV/releases),解压,用Qt creator 打开pro文件,

,在QtAV.pro中添加

CONFIG+= static_ffmpeg static_openal

CONFIG+= glibc_compat                   (这两条可不加,刚才测试了一遍,出问题自己再决定)

选择shadow bulid模式,进行debug,release 版本编译,完成后运行,这样在你的debug目录或者release目录就有一个文件目录了,执行脚本文件sdk_install.sh,这样库和头文件就加入到了qt目录中。(编译QtAV可以不用管这个脚本,如果需要移植或者写自己的代码需要使用到,当然也可以自己指定库以及头文件,其实该编译主要为了生成lib_linux_x86_64 下一些动态库和静态库)

4)在Qt creator中,查看QtAV源码,选择exmple,simpleplayer,修改pro文件,QT+= av avwidgets(可不加,添加自己写的代码必须加),编译运行。选择视频就可以播放了。

5)完成以上步骤就可以调用QtAV接口了,实现自己的播放需求。

以下是我自己写的demo

首先的在pro中加入QT += av avwidgets

Main.cpp:

#include<WidgetRenderer.h>
#include<QApplication>
#include<QtAV>
#include<QtAVWidgets>
#include<QtAV/AVPlayer.h>
using namespace QtAV;
int main(int argc,char *argv[])
{
QApplication a(argc, argv);
WidgetRenderer renderer;
renderer.show();
Widgets::registerRenderers();
AVPlayer player;
player.setRenderer(&renderer);
player.play("test.mov");
return a.exec();
}

Qt第三方库QtAV--- ubuntu编译与运行的更多相关文章

  1. Qt第三方库libvlc-qt——ubuntu上编译、安装,测试

      cmake 3.0编译安装(最低版本要求): sudo apt-get install ncurses-dev sudo apt-get install build-essential 下载cma ...

  2. Hello World程序演示Qt项目的建立、编译、运行和发布

    一.Qt项目的建立 1.选择项目模板. 选择"文件-->新建文件或工程",在选择模板页面选择Qt C++项目中的"Qt Gui应用"一项,然后单击&quo ...

  3. Qt第三方库----QCustomPlot

    一.软件下载 下载地址:http://www.qcustomplot.com/index.php/download 这里推荐下载第一个链接的内容: 注:这里的第三方库要放在非中文目录下. 二.配置 ( ...

  4. VLC 重新编译第三方库的预编译包contrib

    VLC的引用了很多开源的第三方库,均放到VLC目录下的contrib中(本来开始编译是2.1.x以上版本,以前或以后可能会变化),在Windows版本编译中,contrib文件夹中仅仅下载VLC官网上 ...

  5. xcode编译时,有第三方库时,编译设置build active architecture only问题

    本文转载至 http://blog.csdn.net/ysysbaobei/article/details/16371263 编译静态库 1.http://blog.csdn.net/dengdeng ...

  6. Qt第三方库QCustomPlot——QCustomPlot解读

    这个小部件类,对于QCustomPlot的所有方面都有所体现 下面阅读它的函数: 函数组织顺序为: 基本设置---添加图线---删除图线---添加额外Item---层次管理---坐标轴管理----导出 ...

  7. 基于QT开发的第三方库

    基于Qt开发的第三方库 分类: Qt2014-02-12 11:34 1738人阅读 评论(0) 收藏 举报 QT第三方库   目录(?)[+]   文章来源:http://blog.csdn.net ...

  8. Egret的第三方库制作,以及在大型项目中的应用

    目录: 一 创建第三方库 二 TypeScript库 三 JavaScript库 四 第三方库制作在大型RPG中的实际应用 参考: 第三方库的使用方法 目标: 本文目的是将现有游戏的框架制作成第三方库 ...

  9. python 第三方库的安装方法

    一.看更大的python世界 python 全球计算生态的主站:python 社区 www.pypi.org 二.安装第三方库 1) pip 命令安装方法 1.1 安装第三方库 命令行输入pip in ...

  10. ubuntu 14 编译视频第三方库ijkplayer,能够在winows下使用

    1.先安装相关环境,详细在这里http://blog.163.com/zhuowr2006@126/blog/static/98334653201612310647799/  依据上面那个安装之后,会 ...

随机推荐

  1. 【原创】android 7.0 通知报错 java.lang.SecurityException: You need MANAGE_USERS permission to: check if specified user a managed profile outside your profile group

    项目中在后台发送通知,突然某一天测出在Android 7.0上通知发送失败,那么根据提示,我们尝试加了MANAGE_USERS权限,看起来是个系统级别权限,验证后果然无效.接着在搜索后都无果,似乎大家 ...

  2. 【js】js执行机制-js单线程-同步和异步

    js是单线程 即同一个时间只能做一件事,JavaScript是为处理页面中用户的交互,以及操作DOM而诞生的.比如我们对某个DOM元素进行添加和删除操作,不能同时进行.应该先进行添加,之后在进行删除. ...

  3. .net core 版本避坑 无法打开项目文件。 无法找到 .NET SDK。请检查确保已安装此项且 global.json 中指定的版本(如有)与所安装的版本相匹配。

    打开项目根目录,输入 dotnet --version  ,查看本机安装的最高版本的sdk: 如果源文件中存在global.json文件,直接打开修改即可: 不存在则接着在1步骤后输入: dotnet ...

  4. vuforia 打包IOS 第一次启动正常, 删掉过程重新启动初始化失败。

    我使用的是2019.4.17版本,降级到2019.2.17问题解决

  5. boost编译指定python版本号

    1.执行如下 bootstrap 语句,会在目录下生成 project-config.jam 文件 .\bootstrap --with-python="C:\Users\yzy\Anaco ...

  6. 【LeetCode回溯算法#07】子集问题I+II,巩固解题模板并详解回溯算法中的去重问题

    子集 力扣题目链接 给你一个整数数组 nums ,数组中的元素 互不相同 .返回该数组所有可能的子集(幂集). 解集 不能 包含重复的子集.你可以按 任意顺序 返回解集. 示例 1: 输入:nums ...

  7. 关于如何在IDEA里面配置好Git和Github的相关步骤详解

    配置Git 1.File->settings 然后选择其中的Version Control: 接着选择其中的Git选项: 2.将文本框内容定位到本地下载git路径下面 然后点击右边的Test测试 ...

  8. (数据科学学习手札150)基于dask对geopandas进行并行加速

    本文示例代码已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 大家好我是费老师,geopandas作为我们非常 ...

  9. 《操作系统导论》读书笔记1——CPU虚拟化,进程

    系列文章目录和关于我 一丶CPU的虚拟化 一个桃子,我们称之为物理(physical)桃子.但有很多想吃这个桃子的 人,我们希望向每个想吃的人提供一个属于他的桃子,这样才能皆大欢喜.我们把给每个 人的 ...

  10. 本地搭建Stable-Diffusion 教程

    前置条件 有一些python的基础 会使用git 有梯子(最好可以全局代理) Windows系统 + 英伟达1060以上显卡 (mac或者linux 以及电脑是AMD显卡,安装的话,可以自行搜索相关教 ...