1、简述
GStreamer 使用 glimagesink 插件来加速渲染:
glimagesink 基于 OpenGL/GLES 硬件加速的视频渲染输出元素(sink),利用 GPU 完成视频帧的渲染,而非传统的 CPU 软件渲染;
使用前需要安装插件
gstreamer1.0-gl需要注意的是,glimagesink 是一个 GstBin 容器,内部封装了 glimagesinkelement 等实际渲染组件,简化了 OpenGL 渲染的配置流程
glimagesink接收 GStreamer 管道中的视频帧,通过 OpenGL 接口将帧渲染到指定的窗口 / 控件(如 X11 窗口、QOpenGLWidget、嵌入式设备的帧缓冲)中。
2、示例1:ximagesink + QWidget
先看一个普通的、使用CPU渲染的示例,输出使用 ximagesink,并且绘制到 Qt 的 QWidget 窗口中
本示例使用使用playbin来播放一个mp4文件,对应的 gst-launch-1.0 命令为
gst-launch-1.0 playbin uri=file:////home/laoer/video/test.mp4
playbin 插件