gstreamer采用waylandsink并绑定到QWidget
我现在在RK3568平台下想基于QT+Gstreamer开发媒体播放器,gstreamer部分我采用了waylandsink,想将Gstreamer的播放绑定到QT的一个QWidget窗口,现在测试一直绑定失败,请问什么原因啊,我的绑定代码如下:
void QPlayer::setVideoOutput(QWidget *widget, GstElement *pVSink)
{
guintptr window_handle = 0;
window_handle = (guintptr)(this->m_pVideoWidgetWnd->winId());
qDebug()<<"---- setVideoOutput-------:"<<window_handle;
gst_video_overlay_set_window_handle(GST_VIDEO_OVERLAY(pVSink), window_handle);
}
另外,我也按照https://github.com/xleng/qt-waylandsink-sample/blob/main/qtoverlay.cpp方式进行测试,但是这种方式虽然在我设置界面透明之后能够播放,但是不符合我的需求,请问需要如何去进行绑定我的视频界面到我的QWidget窗口啊,谢谢 已经解决了,但是采用绑定的方式由于QT的线程刷新机制,多路显示的时候界面会一卡一卡的,最后我是采用了overlay的方式进行实现的,目前3568平台上8路显示效果还可以 wf908164152 发表于 2022-3-28 09:52
已经解决了,但是采用绑定的方式由于QT的线程刷新机制,多路显示的时候界面会一卡一卡的,最后我是采用了ov ...
可以贴一下具体的代码吗?我这边使用gst_video_overlay_set_window_handle和gst_video_overlay_set_render_rectangle接口可以绑定waylandsink到widget上,但是偶尔会出现widget黑掉的现象,点击一下widget又可以恢复 你好,能不能把实现方法写得具体一点,谢谢了
页:
[1]