我在 Ubuntu 16.04 (xenial) 中遇到了视频输出问题。我尝试在屏幕上显示测试视频(使用 gstreamer这里) 我得到了 ximagesink 和 xvimagesink 不同的结果。
这是我从 ximagesink 获得的信息
gst-launch-1.0 videotestsrc ! videoconvert ! ximagesink
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
ERROR: from element /GstPipeline:pipeline0/GstXImageSink:ximagesink0: Output
window was closed
Additional debug info:
ximagesink.c(700): gst_x_image_sink_handle_xevents ():
/GstPipeline:pipeline0/GstXImageSink:ximagesink0
Execution ended after 0:00:08.741734767
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
这是我从 xvimagesink 获得的信息
gst-launch-1.0 videotestsrc ! videoconvert ! xvimagesink
Setting pipeline to PAUSED ...
ERROR: Pipeline doesn't want to pause.
ERROR: from element /GstPipeline:pipeline0/GstXvImageSink:xvimagesink0:
Could not initialise Xv output
Additional debug info:
xvimagesink.c(1760): gst_xv_image_sink_open ():
/GstPipeline:pipeline0/GstXvImageSink:xvimagesink0:
No Xv Port available
Setting pipeline to NULL ...
Freeing pipeline ...
我是否缺少一些 Ubuntu 的驱动程序?
我不知道这是否相关,但我正在从虚拟机(Oracle VM virtualbox)运行 Ubuntu
编辑:输出
lsmod | grep vbox
vboxvideo 53248 2
ttm 98304 1 vboxvideo
drm_kms_helper 151552 1 vboxvideo
vboxguest 294912 1 vboxvideo
drm 352256 5 vboxvideo,ttm,drm_kms_helper
syscopyarea 16384 2 vboxvideo,drm_kms_helper
sysfillrect 16384 2 vboxvideo,drm_kms_helper
sysimgblt 16384 2 vboxvideo,drm_kms_helper