qml
wangzai6378
喜欢游戏;但却没有做游戏
展开
-
Qt播放多路视频的理解
之前很久就考虑过这个问题,为什么视频在界面刷新那么快,而Qt的界面依然很流畅。在做过多路视频播放后,接触了SDL播放视频,自已也实现了opengl播放视频,也使用过Qt的MediaPlayer播放视频。对比效果终于有结果了,原来是视频这种高频率的刷新本来就有能用widget这种QPainter来画的,是使用的GPU渲染。以下是我对多路视频播放实践的一些效果对比。 1、SDL:(以下仅...原创 2018-04-01 14:03:35 · 6228 阅读 · 4 评论 -
qml实现离屏渲染视频(多线程渲染)
先看一个效果吧,由于这个抓图软件只有7.5fps,所以看其来很卡,但真实的程序运行起来比这个流畅多了。不能上传mp4,所以就弄了gif 我用的是Nvidia的硬解码SDK,并在其中加入了ffmpeg拉流或视频。解码出来的图片格式是nv12,这里我在shader里面实现的nv12转rgb的纹理,公式也是网上找的了。 看一下工程结构吧 要封装成qml的接口,要有opengl渲...原创 2018-04-23 23:20:19 · 5158 阅读 · 5 评论 -
qml实现离屏渲染视频(多线程渲染) ----二
上次说完了在VideoThreadRender类中实现几个重要类之间的关系及通信,搭建好了一个初始化可以运行并调用的流程环境;这篇主要介绍后半分的子线程及解码 VideoThreadRender类中会实例TextureNode、RenderThread这两个类;TextueNode主要是将RenderThead类渲染好的视频帧的纹理id送到渲染线程中去(主要通过setTexture函...原创 2018-04-26 23:06:11 · 3119 阅读 · 7 评论