用Qt做一个读取视频文件并显示出来的工具
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用Qt做一个读取视频文件并显示出来的工具相关的知识,希望对你有一定的参考价值。
实现一个按钮读取视频然后在窗口中播放视频,各位大神求救!!!
QString fileName = QFileDialog::getOpenFileName(this,tr("Open Image"),".",tr("Image Files(*.png *.jpg *.mp4 *.bmp)"));
cv::VideoCapture capture(fileName);
通过这种方式读取视频,可是编译报错说不能讲参数从QString转换为string。
请问除了通过这种方式还有什么方法可以读取视频吗?
QtAV 1.5.0 发布,更新内容如下:•
加入QtAVWidgets模块。和QtMultimeida一样,QtAV模块只包含核心的功能,只依赖QtCore和QtGui。这样部署QtQuick应用可以去掉QtWidgets模块,大概小6M。QtAV模块还是可以进行视频显示的,要用Qt5的QWindow。QtAVWidgets模块中包含了几种显示视频的widget,还有实时预览的widget。使用该模块前要在pro文件中加入QT +=avwidgets
•
改进音频输出接口。修复音量增大噪音问题。
•
提高音轨切换速度
•
修复wmv播放卡顿和噪音问题。这个问题存在很久很久了,最近才发现是个很低级的错误
•
预览更加精确
•
修复seek可能导致的花屏
•
减少ffmpeg读出来的数据的拷贝
•
修复QML中的几个崩溃问题
•
QML加入基于FBO的视频显示元素,完全重用QtAV模块的opengl渲染代码。默认已使用,要在qml文件中加入import QtAV 1.5
•
简化OSX的部署,无需自行编译QtAV。只要下载我发布的player安装包,安装到”应用程序”,然后运行 /Applications/player.app/sdk_osx.sh ~/Qt5.4.0/5.4/clang_64/lib 就行
•
windows的安装包支持HEVC硬解
•
大量其他改进和bug修复
•
播放器例子:C++和QML的两个播放器都支持进度条上实时预览了
源码: https://github.com/wang-bin/QtAV
安装包下载:https://sourceforge.net/projects/qtav/files/release/1.5.0追问
谢谢您的回答!我补充了一下问题,麻烦您看看
追答没看到你的问题啊 ????
参考技术A 用Qt的话还是用QFile读取文件吧,功能比较强大,配套的QString或者IOStream的功能同样强大,处理起来会很方便
问题是你描述的太简单了,就是去Qt assistant看看QFile怎么用就可以了 参考技术B 视频软件不是那么好做的,要嵌入好多格式,怎么读取 ,方法很重要。 参考技术C cv::VideoCapture capture(fileName);改为如下就可以了
cv::VideoCapture capture(fileName.toStdString());
QT TabelWidget中显示中文
各位大神。。中秋节好。。我QT的TabelWidget控件怎么显示中文啊。??有份UTF-8的文件 用UTF-8的方式读取到内存时用toLocal8Bit显示能正常显示中文。。。。可放在TabelWidgetItem中却显示不出来。。。。肿么回事???求大牛解答。。。。小弟感激不尽。。。
用 QTextCodec 把 local 和 string 都设置成 uff-8 应该就ok了...QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));追问
我的QT是5.1的。。。没有QTextCodec::setCodecForCStrings这个成员函数啊。。。。。
追答QString string = "...";
QTextCodec *codec = QTextCodec::codecForName("gb2312");
QByteArray encodedString = codec->fromUnicode(string);
这样来把你的utf-8 文件翻译成本地的编码也可以...
然后把翻译完的文件添加进QTableWidgetItem
以上是关于用Qt做一个读取视频文件并显示出来的工具的主要内容,如果未能解决你的问题,请参考以下文章