基于QtAV和Direct2D / OpenGL渲染的视频播放器

时间:2015-05-26 04:40:39

标签: c++ qt opengl ffmpeg direct2d

我正在使用QtAV在Qt C ++中开发视频播放器。 QtAV在内部使用ffmpeg。我需要显示半透明覆盖我的水印徽标和字幕。我正在编写Windows应用程序。我使用OpenAL库。 OpenGL和Direct2D是渲染器的选择。

如果我使用OpenGL渲染器,它在某些系统中可以正常工作。叠加层工作正常。但在其他一些系统中,整个应用程序只是一个黑色的窗口。我无能为力。

如果我使用Direct2D,叠加层将无效。渲染器有点慢。但它适用于所有系统,没有这种覆盖。

我没有在此处显示的代码,因为它不是编码问题。甚至QtAV中的例子都不起作用。我需要找到一种方法来使用Direct2D渲染器显示叠加层,或者找到一种可靠的方法在所有系统上使用OpenGL渲染。

1 个答案:

答案 0 :(得分:0)

QtAV不支持Direct2D。因此,您可能需要实现自己的功能,以在视频渲染中添加过滤器。这包括文字绘制功能,设置透明度等。