草庐IT

Qt-FFmpeg

全部标签

c++ - ffmpeg c/c++ 获取帧数或时间戳和 fps

我正在使用ffmpeg解码C中的视频文件。我正在努力获取我正在解码的当前帧的计数或帧的时间戳。我已经阅读了许多文章,这些文章展示了如何根据fps和帧时间戳计算估计的帧数,但是我无法获得其中任何一个。我需要的:视频文件的fps,当前帧的时间戳或帧号(未计算)我所拥有的:我可以使用获取视频的时间pFormatCtx->duration/AV_TIME_BASE我在处理它们时计算当前的帧数,并获取当前的帧数,但这不会长期有效。我可以使用获取文件的总帧数pFormatCtx->streams[currentStream->videoStream]->nb_frames我读过这可能不适用于所有流

c++ - Qt 动态创建布局并向布局添加小部件

我正在尝试在我的MainWindow类中动态创建布局。我有四个用网格布局对象放置的框架。每个框架都包含一个自定义的ClockWidget。我希望ClockWidget对象在我调整主窗口大小时相应地调整大小,因此我需要将它们添加到布局中。但是,我需要在运行时执行此操作,因为对象本身是在运行时创建的。我试图以编程方式完成此操作,但下面试图创建新布局的注释掉的代码导致程序崩溃。正确执行此操作的过程是什么?头文件:#ifndefMAINWINDOW_H#defineMAINWINDOW_H#include#include"ClockView.h"namespaceUi{classMainWin

【Qt设计开发】GUI界面设计开发

文章目录一、Qt简介和下载安装二、Qt入门2.1创建第一个项目2.2快捷键和命名规范2.3Qt项目和VS2022项目相互转换三、Qt基础3.1Qt对象树和窗口坐标系概念3.2QPushButton3.3信号和槽(signalsandslots)3.3.1pushbutton关闭窗口3.3.2自定义信号和槽3.4Lambda表达式3.5菜单栏工具栏的创建3.6资源文件添加和UI界面使用3.7对话框3.7.1模态和非模态3.7.2消息对话框3.8设计登录界面3.9各类控件3.9.1按钮组3.9.2QTreeWidget和QTableWidget控件3.9.3其他控件3.9.4自定义控件封装3.10

c++ - QT:无法从另一个线程启用套接字通知程序

我有一个QTcpSocket,我需要控制它-使用多线程写入+读取。这在QT4中工作正常,但在QT5中我收到此错误并且似乎只有1个线程可以同时访问套接字。如何使套接字可以被多个线程访问?基本上,我想创建1个用于读取数据的线程和1个用于写入数据的线程,这样我就可以在应用程序的其余部分执行其他操作时异步读取和处理数据。注意:回答Qt-HandleQTcpSocketinanewthread在这里没有帮助,因为它描述了如何将套接字从线程1传输到线程2,然后仅从线程2使用它。我需要从两个线程使用它。 最佳答案 您只能从一个线程直接与套接字交互

c++ - 链接到 Qt 中的共享库

我刚刚创建了tinyxml作为共享库,想知道如何链接它。这是如何实现的? 最佳答案 您必须在您的pro文件中添加includepath和libs。类似下面的内容。只需更改您的路径即可。LIBS+=-ltinyxmlLIBS+=-L/libs/tinyxml/libINCLUDEPATH+=/libs/tinyxml/include/ 关于c++-链接到Qt中的共享库,我们在StackOverflow上找到一个类似的问题: https://stackoverfl

C++ FFMPEG 不写入 AVCC 框信息

我正在尝试使用C++中的FFMPEGAPI将原始H264编码为mp4容器。一切正常,但AVCC框为空,并返回错误:[iso文件]框“avcC”大小8无效如果我然后在输出文件上使用命令行工具:ffmpeg-ioutput.mp4-vcodeccopyfixed.mp4输出文件有效,并且AVCC填充了所需的信息。我不知道为什么这个命令行参数有效,但我无法使用API产生相同的结果。我在C++代码中做了什么(也在函数调用之间做了一些事情):outputFormat_=av_guess_format("mp4",NULL,NULL);//AV_CODEC_H264formatContext_=a

c++ - 使用 no-angle 和 -no-opengl 编译 Qt 时会发生什么?

最近我尝试用-no-angle和-no-opengl编译我的Qt静态库。我首先认为它不会编译。但出乎意料的是,Qt(5.7)编译得很好。我还可以编译我的应用程序(使用许多QtWidgets)。令我惊讶的是,我看不出与基于Angle的Qt应用程序有任何区别。没有滞后,没有故障,我的QtCharts一如既往地显示。我在网上找不到任何明确的答案。但我有两个猜测:毕竟我并没有真正使用任何硬件加速。有一个神秘的回退机制。这是怎么回事? 最佳答案 会发生什么?在你的情况下什么都没有。Qt小部件不会在您背后使用OpenGL。您必须通过使用QOpe

c++ - 在 Qt 中使用 Wt

我正在从事一个项目,开发一个网络应用程序来控制一些机器和可视化传感器数据。它部署在运行自定义Linux发行版的单板计算机上。我们有一个基于独立Qt应用程序的项目早期版本的大型现有代码库。使用新软件,我们正在使用Wt转向基于Web的界面.目前我们正在尝试重新使用与某些系统服务接口(interface)的Qt代码,同时托管新的WtGUI并与之接口(interface)。Qt应用程序和Wt应用程序在不同的线程上启动。Wt在主线程上,Qt在另一个线程上。使用C++“线程”库来执行此操作。我在Qt方面的经验很少,似乎现有的关于将两者集成的文档也很少,有没有人知道Wt和Qt之间可能发生的一般冲突,

分享一款开源的QT的串口示波器

分享一款开源的QT的串口示波器,完全开源,支持串口、TCP、波形显示、通信协议。SailorProject功能说明串口调试助手功能支持传统的串口调试助手的基本收发功能,同时可以刷新大量的数据而不卡顿支持保存接收的数据支持最大200条可编辑指令的设置,并用于多条发送支持定时器发送支持换行符替换时间戳功能支持较多的中文编码格式值得注意的是支持Linux简单的串口调试支持加载csv表格数据到200条可编辑指令支持部分窗口配置的保存和重启恢复(前提是你不会删除配置文件)操作说明注意由于QT自带文本显示窗口加载大量数据后会造成软件卡顿,现解决方案为设定一个显示缓冲区,在有刷新数据阶段(即串口接收数据阶段

c++ - 未定义对 avcodec_alloc_context 的引用但 ffmpeg 链接器顺序正确吗?

我想构建静态链接到libavcodec和libavformat的静态链接可执行文件。静态ffmpeg库是用以下方法构建的:./configure--enable-static--enable-gpl--enable-nonfree--disable-vaapi--disable-libopus--prefix=myBuild--disable-swresample链接器设置如下:g++-O2-static-omyBinmyBin-myBin.osomeotherlibraries.a-L/ffmpeg/myBuild/lib-lavformat-lavcodec-lavutil-lrt