vs2015 下使用qt 中,ffplay 的问题,vs编译特殊性?

5 篇文章 0 订阅
2 篇文章 0 订阅

如题,我在vs2015中使用qt,然后移植ffplay过来,调试很多次之后,编译终于过了。如下2个想解决的问题,和2个我的尝试解决的方案。
1、播放时,伸缩窗口会使得播放界面闪烁,或者移动窗口使得界面不动了,当放开鼠标之后界面又继续正常播放了。
2、ffplay中有很多全局变量,例如screen-width ,我只要把它放到VideoState中来进行传递,结果就是当你伸缩窗口的时候,画面就再也不动,一直。而参数还是一直在变化的,就是画面不动了,不懂为啥。

第一个,我试了下什么取消双缓冲画面?没用,捕捉了事件也只有paint和resize。至于setUpdatesEnabled(false),我在qt creator上移植用它则不闪烁,vs上则没有效果。
第二个,qt上把全局放到那个结构体中也是没问题的,我这里的qt 也是msvc 版的。

所以这个项目完全搁置了,,我觉得应该是vs 有什么跟qt不一样的把,但是我才疏学浅。有没有遇到的,请诸位大牛来提供下思路,和解决方法把。

没有什么悬赏,但请帮顶下。

博客园提问地址

Qt监控录像可以使用ffplay命令行工具。ffplayFFmpeg项目的一部分,它是一个基于命令行的媒体播放器,能够播放多种音视频格式。为了在Qt使用ffplay监控录像,我们可以通过QProcess类来调用ffplay命令。 首先,在Qt项目导入QProcess头文件,并创建一个QProcess对象。然后,设置ffplay命令的路径和参数。参数包括指定要监控的录像文件路径,以及其他选项,如窗口大小、播放速度等。可以使用QStringList来添加多个参数。接下来,使用start()函数启动QProcess对象,即可开始监控录像。 在监控过程,可以通过QProcess的信号和槽机制来实时获取监控状态。例如,可以连接QProcess的readyReadStandardOutput()信号,当ffplay有输出时,触发相应的槽函数,可以通过读取输出来获取监控进程的状态信息。 另外,为了方便用户操作,可以在Qt添加一些控制按钮,如开始、暂停、停止等,通过与QProcess的交互来控制监控过程。例如,点击开始按钮时,调用QProcess的write()函数给ffplay发送相应的命令,如播放、暂停、停止等。 最后,在退出Qt应用程序时,记得通过QProcess的terminate()函数来停止ffplay命令的执行,释放资源。可以在Qt应用程序的退出事件添加相应的代码。 总之,通过Qt的QProcess类,我们可以方便地调用ffplay命令行工具来监控录像,并实时获取监控状态,同时添加控制按钮来方便用户操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值