用Qt做一个读取视频文件并显示出来的工具 60
实现一个按钮读取视频然后在窗口中播放视频,各位大神求救!!!QStringfileName=QFileDialog::getOpenFileName(this,tr("O...
实现一个按钮读取视频然后在窗口中播放视频,各位大神求救!!!
QString fileName = QFileDialog::getOpenFileName(this,tr("Open Image"),".",tr("Image Files(*.png *.jpg *.mp4 *.bmp)"));
cv::VideoCapture capture(fileName);
通过这种方式读取视频,可是编译报错说不能讲参数从QString转换为string。
请问除了通过这种方式还有什么方法可以读取视频吗? 展开
QString fileName = QFileDialog::getOpenFileName(this,tr("Open Image"),".",tr("Image Files(*.png *.jpg *.mp4 *.bmp)"));
cv::VideoCapture capture(fileName);
通过这种方式读取视频,可是编译报错说不能讲参数从QString转换为string。
请问除了通过这种方式还有什么方法可以读取视频吗? 展开
4个回答
展开全部
看看这个
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
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
追问
谢谢您的回答!我补充了一下问题,麻烦您看看
追答
没看到你的问题啊 ????
展开全部
用Qt的话还是用QFile读取文件吧,功能比较强大,配套的QString或者IO
Stream的功能同样强大,处理起来会很方便
问题是你描述的太简单了,就是去Qt assistant看看QFile怎么用就可以了
Stream的功能同样强大,处理起来会很方便
问题是你描述的太简单了,就是去Qt assistant看看QFile怎么用就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
视频软件不是那么好做的,要嵌入好多格式,怎么读取 ,方法很重要。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
cv::VideoCapture capture(fileName);改为如下就可以了
cv::VideoCapture capture(fileName.toStdString());
cv::VideoCapture capture(fileName.toStdString());
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询