Qt第三方库QtAV--- ubuntu编译与运行
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编译与运行的更多相关文章
- Qt第三方库libvlc-qt——ubuntu上编译、安装,测试
cmake 3.0编译安装(最低版本要求): sudo apt-get install ncurses-dev sudo apt-get install build-essential 下载cma ...
- Hello World程序演示Qt项目的建立、编译、运行和发布
一.Qt项目的建立 1.选择项目模板. 选择"文件-->新建文件或工程",在选择模板页面选择Qt C++项目中的"Qt Gui应用"一项,然后单击&quo ...
- Qt第三方库----QCustomPlot
一.软件下载 下载地址:http://www.qcustomplot.com/index.php/download 这里推荐下载第一个链接的内容: 注:这里的第三方库要放在非中文目录下. 二.配置 ( ...
- VLC 重新编译第三方库的预编译包contrib
VLC的引用了很多开源的第三方库,均放到VLC目录下的contrib中(本来开始编译是2.1.x以上版本,以前或以后可能会变化),在Windows版本编译中,contrib文件夹中仅仅下载VLC官网上 ...
- xcode编译时,有第三方库时,编译设置build active architecture only问题
本文转载至 http://blog.csdn.net/ysysbaobei/article/details/16371263 编译静态库 1.http://blog.csdn.net/dengdeng ...
- Qt第三方库QCustomPlot——QCustomPlot解读
这个小部件类,对于QCustomPlot的所有方面都有所体现 下面阅读它的函数: 函数组织顺序为: 基本设置---添加图线---删除图线---添加额外Item---层次管理---坐标轴管理----导出 ...
- 基于QT开发的第三方库
基于Qt开发的第三方库 分类: Qt2014-02-12 11:34 1738人阅读 评论(0) 收藏 举报 QT第三方库 目录(?)[+] 文章来源:http://blog.csdn.net ...
- Egret的第三方库制作,以及在大型项目中的应用
目录: 一 创建第三方库 二 TypeScript库 三 JavaScript库 四 第三方库制作在大型RPG中的实际应用 参考: 第三方库的使用方法 目标: 本文目的是将现有游戏的框架制作成第三方库 ...
- python 第三方库的安装方法
一.看更大的python世界 python 全球计算生态的主站:python 社区 www.pypi.org 二.安装第三方库 1) pip 命令安装方法 1.1 安装第三方库 命令行输入pip in ...
- ubuntu 14 编译视频第三方库ijkplayer,能够在winows下使用
1.先安装相关环境,详细在这里http://blog.163.com/zhuowr2006@126/blog/static/98334653201612310647799/ 依据上面那个安装之后,会 ...
随机推荐
- (四).JavaScript的循环结构
2.2 循环嵌套 ①.语法 // 嵌套循环:循环内部包裹其他的循环 // 外侧循环执行一次,内部循环执行一轮 // 实例 for (var i = 0; i < 5; i++) { for (v ...
- EurekaServer高可用搭建
生产环境中需要搭建集群达到高可用.eurekaServer每个实例可以注册到其他一个或多个eurekaServer实例中达到高可用.配置比较简单 比如: application-master.prop ...
- Blog作业01
目录 前言 设计与分析 踩坑心得 改进建议 总结 前言 这三次作业的知识点覆盖的很全面,从最开始的int赋值变量,循环,到Boolean值,sort等一些函数,到后来的对象,类的创建和声明,gette ...
- gstreamer样例
#!/bin/bash xrandr -s 0 --output DSI-1 xrandr -s 0 --output HDMI-1 xrandr --fb 1024x600 --output DSI ...
- MQ(基本概念)
MQ的基本概念 队列管理器:是MQ中最上层的一个概念,由它为我们提供消息队列服务. 消息:即应用程序发送给MQ托管的数据.其有两部分组成:消息描述符和消息体. 消息分为两种类型:永久型和非永久型. 永 ...
- vs2019远程调试win7系统的程序
vs2019远程调试 一.安装vs2019远程调试工具 首先让调试的电脑(也就是不安装vs2019的电脑),安装vs2019远程调试工具:VS_RemoteTools.exe. 网址:进行下载.h ...
- EF6 Code First Migrations
参考地址:https://learn.microsoft.com/en-us/ef/ef6/modeling/code-first/migrations/ 1.启动Migrations Enable- ...
- vue-print-nb的应用
1.cnpm i vue-print-nb 2.触发事件:v-print="printObj" 3.触发的是个对象: printObj:{ id: ...
- Github Copilot 比在座各位更会写代码。jpg
之前大佬和我安利过 Copilot, 作为一个能用就行的践行者, 我一贯对这些东西都不太感兴趣. 就如我多年VS Code写各种编程语言, jetbrains 全家桶我都懒得搞~ 不过最近看到过Cha ...
- 集成-AgileConfig基于.NetCore的一个轻量级配置中心
微服务确实是行业的一个趋势,我自己也在把一些项目往微服务架构迁移.玩微服务架构配置中心是一个绕不过去的东西,有很多大牌的可以选,比如spring-cloud-config,apoll,disconf等 ...