找回密码
 立即注册
收起左侧

实现视频截图

23
回复
14848
查看
[复制链接]
累计签到:10 天
连续签到:1 天
来源: 2014-4-28 20:29:07 显示全部楼层 |阅读模式
1Qter豆
我在ui里面用phononl类播放视频,想用grabwindow或者grabwidget截图下来,却截不到图

最佳答案

查看完整内容

phonon 里面有个函数snapshot QImage VideoWidget::snapshot () const Returns a snapshot of the current frame shown in the widget. 看这个意思好像可以截图
回复

使用道具 举报

累计签到:410 天
连续签到:1 天
2014-4-28 20:29:08 显示全部楼层
phonon 里面有个函数snapshot
QImage VideoWidget::snapshot () const
Returns a snapshot of the current frame shown in the widget.

看这个意思好像可以截图
回复

使用道具 举报

累计签到:955 天
连续签到:1 天
2014-4-28 20:36:46 显示全部楼层
这个还真不知道,以前视频截图都是用播放器提供的SDK弄的。。。
回复

使用道具 举报

累计签到:10 天
连续签到:1 天
2014-4-28 21:25:30 显示全部楼层
wdmxtk002 发表于 2014-4-28 20:36
这个还真不知道,以前视频截图都是用播放器提供的SDK弄的。。。

那你是在Qt里面做的吗?
回复

使用道具 举报

累计签到:955 天
连续签到:1 天
2014-4-28 23:09:12 显示全部楼层
是啊。。都是第三方视频播放库,不过我在qt做视频监控,都是摄像头厂家提供的库
回复

使用道具 举报

累计签到:10 天
连续签到:1 天
2014-4-29 10:23:40 显示全部楼层
wdmxtk002 发表于 2014-4-28 23:09
是啊。。都是第三方视频播放库,不过我在qt做视频监控,都是摄像头厂家提供的库 ...

我也是视频监控。。。。。实现不了视频截图。。。
回复

使用道具 举报

累计签到:10 天
连续签到:1 天
2014-4-29 20:49:44 显示全部楼层
a408815041 发表于 2014-4-29 15:57
phonon 里面有个函数snapshot
QImage VideoWidget::snapshot () const
Returns a snapshot of the current  ...

用了这个。。。然后失败了。。。。没有图像。。。
回复

使用道具 举报

累计签到:410 天
连续签到:1 天
2014-4-30 10:09:44 显示全部楼层
cloudyf 发表于 2014-4-29 20:49
用了这个。。。然后失败了。。。。没有图像。。。

估计是可以的
你得在视频开始播放之后才能调用
昨天有个在群里问,他直接就是play()之后就调用
那肯定不对,一调用play,这个时候视频还处于加载,图像都没有,
调用之后,哪来的图片。。。。。。
回复

使用道具 举报

累计签到:10 天
连续签到:1 天
2014-4-30 10:21:46 显示全部楼层
a408815041 发表于 2014-4-30 10:09
估计是可以的
你得在视频开始播放之后才能调用
昨天有个在群里问,他直接就是play()之后就调用

昨天就是我问的。。。但是play之后调用还是失败了,状态已经是playing了。。。
回复

使用道具 举报

累计签到:10 天
连续签到:1 天
2014-4-30 10:24:31 显示全部楼层
cloudyf 发表于 2014-4-30 10:21
昨天就是我问的。。。但是play之后调用还是失败了,状态已经是playing了。。。 ...

昨天就是你教我的吧。我输出了状态已经对了,可是image里面还是null
回复

使用道具 举报

累计签到:410 天
连续签到:1 天
2014-4-30 10:49:52 显示全部楼层
cloudyf 发表于 2014-4-30 10:24
昨天就是你教我的吧。我输出了状态已经对了,可是image里面还是null

明天放假 我试试
估计是可以的,今天比较忙,只有明天试了。。。。
回复

使用道具 举报

累计签到:10 天
连续签到:1 天
2014-4-30 13:16:14 显示全部楼层
a408815041 发表于 2014-4-30 10:49
明天放假 我试试
估计是可以的,今天比较忙,只有明天试了。。。。

thank u very much!五一真好!
回复

使用道具 举报

累计签到:410 天
连续签到:1 天
2014-5-1 15:33:11 显示全部楼层
cloudyf 发表于 2014-4-30 13:16
thank u very much!五一真好!

我试了下
貌似是不可以

我搜索了下
可以用另外的一个方法实现截图
QPixmap::grabWidget
你看下QPixmap类 有好几个方法
我写了一个demo,如果你要的话,QQ上M我
回复

使用道具 举报

累计签到:10 天
连续签到:1 天
2014-5-1 15:48:29 显示全部楼层
a408815041 发表于 2014-5-1 15:33
我试了下
貌似是不可以

grabwidget和grabwindow貌似只有全屏的时候可以截到视频?
回复

使用道具 举报

累计签到:10 天
连续签到:1 天
2014-5-2 11:24:56 显示全部楼层
a408815041 发表于 2014-5-1 15:33
我试了下
貌似是不可以

看你没有上QQ,能不能把你的demo给我参考一下哈~~~~~?
回复

使用道具 举报

累计签到:410 天
连续签到:1 天
2014-5-2 14:43:11 显示全部楼层
cloudyf 发表于 2014-5-2 11:24
看你没有上QQ,能不能把你的demo给我参考一下哈~~~~~?

把邮箱给我 我发到你邮箱
回复

使用道具 举报

累计签到:10 天
连续签到:1 天
2014-5-2 16:19:06 显示全部楼层
a408815041 发表于 2014-5-2 14:43
把邮箱给我 我发到你邮箱

462840703@qq.com谢谢啦~~
回复

使用道具 举报

累计签到:10 天
连续签到:1 天
2014-5-4 19:11:29 显示全部楼层
a408815041 发表于 2014-5-2 14:43
把邮箱给我 我发到你邮箱

hello,再问一个问题哈,const QString videoFile =ui->lineEdit_Path->text().trimmed();这一句如果把ui->lineEdit_Path->text().trimmed()改成"E:\Media\Media\myVideo1.WMV"就运行不起来了~~
回复

使用道具 举报

累计签到:10 天
连续签到:1 天
2014-5-4 19:39:49 显示全部楼层
cloudyf 发表于 2014-5-4 19:11
hello,再问一个问题哈,const QString videoFile =ui->lineEdit_Path->text().trimmed();这一句如果把ui ...

解决了、、、、表达式的问题。。。~
回复

使用道具 举报

累计签到:410 天
连续签到:1 天
2014-5-4 21:27:39 显示全部楼层
cloudyf 发表于 2014-5-4 19:39
解决了、、、、表达式的问题。。。~


路径注意\ 和 /   
代码里\是转义字符,要写成\\ 或者/ 都行
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了