草庐IT

Qt-FFmpeg

全部标签

基于FFmpeg的Java视频Mp4转GIF初探

背景    在一些业务场景中,会有如下的一些要求:比如有用户需要将Mp4视频转为Gif动图。当然有一些小伙伴说可以使用系统截图,然后使用之前提到过的技术:GIF图像动态生成-JAVA后台生成。需要处理的素材比较少,就一两个视频,确实可以通过这种方式来处理。试想一下,如果需要处理上百个,做处理的小伙伴是不是就抓狂了,这完全是实打实的工作量。那有没有直接从Mp4转成gif动态图的技术呢?运营的小伙伴就能按时下班了。    经过一番查询,找到一些思路,Mp4视频的组成也是一帧一帧的图像组成的。如果有什么技术可以去动态获取这些数据,通过动态截取每一帧,最后再合成图片。不久解决了吗?FFmpeg变进入技

Qt for android填坑历程(版本5.15.2)

一、为什么会入坑?最近在学习Qt,移动端的应用很有诱惑力不是?那咱们也走起!环境搭建是第一步,按照网上N多的教程,一步一步做过来,然并卵啊。二、都有什么坑?一部分问题按照网上教程能解决,这里就不多做提及。现在Qt安装除非选择老版本,一般都是在线安装。下载完在线安装工具后,为了不浪费自己的生命,最好是在运行安装程序时,多费点心思,启动cmd,用参数选择国内镜像安装,如下:.\qt-unified-windows-x64-4.4.1-online--mirrorhttps://mirrors.ustc.edu.cn/qtproject安装时组件选择比较坑,QtCreator不能选择老版本,只能选最

c++ - Qt:不完整类型和前向声明的无效使用

我有一些误解:啊啊#ifndefA_H#defineA_H#include"B.h"classA:publicB{Q_OBJECTpublic:A();};#endifA.cpp#include"A.h"A::A(){B::ui->blancH2->setValue(2);}B.h#include#ifndefB_H#defineB_HnamespaceUi{classB;}classB{Q_OBJECTpublic:explicitB(QWidget*parent=0);public:Ui::B*ui;};#endif作为编译的结果,我有下一个错误:A.cpp:在构造函数“A::A(

c++ - 从 Qt::Key 到 native 键盘代码

有没有办法将Qt::Key转换回native键盘代码(扫描代码或虚拟键代码)?QKeyEvent有两种方法:nativeScanCode()constquint32nativeVirtualKey()const所以本地代码和Qt:Key之间需要有一个映射。我正在寻找反函数Qt:Key->native代码根据“HowtoconvertaWindowsnativevirtualkeycodetoQt::Key?”,我希望qt\src\gui\kernel\qkeymapper_win.cpp中的映射,但我的src路径中不存在此文件(Qt5.2)。--编辑(Samoth的回答)--我现在可以

c++ - Qt:mouseMoveEvent并干扰子对象的hoverEnterEvent

我使用QGraphicsView创建一种电路编辑器,其中包含元素和连接器。应该可以用电线连接这些连接器。但是,我遇到了一个问题,当我从一个连接器拖动到另一个连接器时,Qt捕获鼠标,其他连接器停止接收hoverEnterEvent。顺便说一句,悬停连接器会调整大小,因此更容易点击它们。再一次,拖动时是否可以不捕获鼠标?我在Windows上使用过Qt4.5。根据要求,这里有一些来源:http://pastebin.com/m422b9495 最佳答案 在拖动操作期间更改鼠标悬停行为有点典型。通常响应鼠标移动的小部件在拖动过程中往往不会响

c++ - 在 Qt 之外实现隐式共享类

我熟悉Qt使用D指针管理数据的方式。如何在我的代码中执行此操作?我试过这个方法:1)将所有数据移动到结构中2)添加一个QAtomicInt到结构3)实现一个=运算符并更改我的构造函数/解构函数以检查引用计数。问题是,当我去执行对象的浅拷贝时,我得到一个关于QObjectdeclaring=asprivate的错误。那我该如何实现呢?这是我的复制运算符的示例:HttpRequest&HttpRequest::operator=(constHttpRequest&other){other.d->ref.ref();if(!d->ref.deref())deleted;d=other.d;r

c++ - 如何在Windows下编译Qt 4.6.3 for Windows Mobile (Windows CE)?

LNK1112:modulemachinetype'X86'conflictswithtargetmachinetype'THUMB'我正在尝试为WindowsCE/WindowsMobile构建Qt,我正在遵循以下指南:http://doc.qt.io/archives/4.6/install-wince.html这些是我到目前为止采取的步骤:我下载了qt-everywhere-opensource-src-4.6.3解压到C:\Qt\qt-everywhere-opensource-src-4.6.3打开VisualStudio命令提示符并运行以下命令configure-platf

c++ - 使用 ffmpeg 解码 Wma

我是ffmpeg的新手,我尝试使用api-example.c来解码wma文件。但是当我运行程序时,它给了我一个错误提示“frame_len溢出”。有谁知道如何解决这个错误?这是我的代码:extern"C"{#include#include"../libavcodec/avcodec.h"#include}#include#include#include#include#defineINBUF_SIZE4096#defineAUDIO_INBUF_SIZE20480#defineAUDIO_REFILL_THRESH4096intmain(intargc,char*argv[]){avc

c++ - Mac OS 上的 Qt - 检测停靠菜单上的点击

我正在删除我的应用程序的MacOS版本的系统托盘图标。但是有一个小问题:当用户关闭主窗口时,应用程序应该继续在后台运行,如果用户单击停靠图标,主窗口应该再次可见。到目前为止,我还没有找到拦截图标点击的方法。有什么方法可以用Qt完成这个吗?如果不是,我应该如何使用nativeAPI来实现此行为?我试图创建一个实现QApplication的自定义应用程序类,以便我可以重新实现macEventFilter,但是关于此函数的文档很少。应用程序.h:#ifndefAPPLICATION_H#defineAPPLICATION_H#includeclassQWidget;classApplicat

c++ - 在 Qt View 中使用 QWidget

问题:我有一个简单的QStringListModel,我想在View中显示它。但是,我希望View中的每个项目都是我创建的自定义QWidget。我不明白为什么这是一个如此困难的问题!我在互联网上搜索了解决方案,虽然我在这里和那里找到了一些零碎的东西,但没有一个好的解决方案能满足我的所有需求。设置我的模型/View的基本代码:QStringListstrings;//addsomestringstothemodelQStringListModel*model=newQStringListModel(strings);QListView*view=newQListView;view->se