Issue with capturing from soft/virtual camera using ksvideosrc
Oleg Guschin
oleg.guschin at gmail.com
Thu Nov 12 03:51:42 PST 2015
Hi guys,
I'm trying to capture video from software/virtual camera in Wndows7 (64 bit
if it makes sense) using ksvideosrc but faced an issue. I have got
GStreamer 1.6.0 and ManyCam (https://manycam.com/) as "virtual" camera. My
test pipeline and result output is like below:
*gst-launch-1.0.exe -v ksvideosrc device-index=1 ! videoconvert !
autovideosinkSetting pipeline to PAUSED ...Pipeline is live and does not
need PREROLL ...ERROR: from element
/GstPipeline:pipeline0/GstKsVideoSrc:ksvideosrc0: Internal data flow
error.Additional debug info:gstbasesrc.c(2943): gst_base_src_loop ():
/GstPipeline:pipeline0/GstKsVideoSrc:ksvideosrc0:streaming task paused,
reason not-negotiated (-4)ERROR: pipeline doesn't want to preroll.Setting
pipeline to PAUSED ...Setting pipeline to READY ...Setting pipeline to NULL
...Freeing pipeline ...*
With debug logs for ksvideosrc I see that the gst_ks_video_src_set_caps()
function returns 0 indicating that caps setting failed for some reason (if
I read code right).
*gst-launch-1.0.exe -q ksvideosrc device-index=1 ! videoconvert !
autovideosink0:00:00.170741390 2160 00000000029C6600 DEBUG
ksvideosrc gstksvideosrc.c:436:gst_ks_video_src_open_device:<ksvideosrc0>
device 0: name='USB Camera'
path='\\?\usb#vid_0c45&pid_62f1&mi_00#6&21e90d16&0&0000#{6994ad05-93ef-11d0-a3cc-00a0c9223196}\global'0:00:00.177066690
2160 00000000029C6600 DEBUG ksvideosrc
gstksvideosrc.c:436:gst_ks_video_src_open_device:<ksvideosrc0> device 1:
name='ManyCam Virtual Webcam'
path='\\?\root#image#0000#{6994ad05-93ef-11d0-a3cc-00a0c9223196}\global'0:00:00.181950133
2160 00000000029C6600 WARN ksvideosrc
gstksvideosrc.c:464:gst_ks_video_src_open_device:<ksvideosrc0> failed to
create/open KsClock0:00:00.185082158 2160 00000000029C6600
DEBUG ksvideosrc
gstksvideodevice.c:344:gst_ks_video_device_dump_supported_property_sets:
filter supports 4 property sets0:00:00.188850852 2160 00000000029C6600
DEBUG ksvideosrc
gstksvideodevice.c:348:gst_ks_video_device_dump_supported_property_sets:
[0] KSPROPSETID_VIDCAP_VIDEOPROCAMP0:00:00.192849978 2160 00000000029C6600
DEBUG ksvideosrc
gstksvideodevice.c:348:gst_ks_video_device_dump_supported_property_sets:
[1] KSPROPSETID_VIDCAP_VIDEOCONTROL0:00:00.197922799 2160 00000000029C6600
DEBUG ksvideosrc
gstksvideodevice.c:348:gst_ks_video_device_dump_supported_property_sets:
[2] KSPROPSETID_VIDCAP_VIDEODECODER0:00:00.202691688 2160 00000000029C6600
DEBUG ksvideosrc
gstksvideodevice.c:348:gst_ks_video_device_dump_supported_property_sets:
[3] KSPROPSETID_VIDCAP_VIDEOCOMPRESSION0:00:00.207334435 2160
00000000029C6600 DEBUG ksvideosrc
ksvideohelpers.c:418:ks_video_probe_filter_for_caps: pin_count =
10:00:00.210116176 2160 00000000029C6600 DEBUG ksvideosrc
ksvideohelpers.c:437:ks_video_probe_filter_for_caps: pin[0]: pin_comm=3,
pin_flow=20:00:00.213616032 2160 00000000029C6600 DEBUG
ksvideosrc gstksvideodevice.c:415:gst_ks_video_device_open: pin[0]: found
media type: video/x-raw, format=(string)RGBx, width=(int)[ 160, 1920 ],
height=(int)[ 120, 1440 ], framerate=(fraction)[ 0/1, 60/1 ],
pixel-aspect-ratio=(fraction)1/10:00:00.228354760 2160 00000000029C6600
DEBUG ksvideosrc
gstksvideodevice.c:415:gst_ks_video_device_open: pin[0]: found media type:
video/x-raw, format=(string)RGBx, width=(int)[ 160, 320 ], height=(int)[
120, 240 ], framerate=(fraction)[ 0/1, 60/1 ],
pixel-aspect-ratio=(fraction)1/10:00:00.248404687 2160 00000000029CE240
DEBUG ksvideosrc
gstksvideosrc.c:803:gst_ks_video_src_unlock_stop:<ksvideosrc0>
gst_ks_video_src_unlock_stop0:00:00.248566254 2160 00000000029C6640
DEBUG ksvideosrc gstksvideosrc.c:726:gst_ks_video_src_set_caps:
Result is 0ERROR: from element
/GstPipeline:pipeline0/GstKsVideoSrc:ksvideosrc0: Internal data flow
error.Additional debug info:gstbasesrc.c(2943): gst_base_src_loop ():
/GstPipeline:pipeline0/GstKsVideoSrc:ksvideosrc0:streaming task paused,
reason not-negotiated (-4)0:00:00.308858400 2160 00000000029CE240
DEBUG ksvideosrc
gstksvideosrc.c:791:gst_ks_video_src_unlock:<ksvideosrc0>
gst_ks_video_src_unlock0:00:00.325522363 2160 00000000029CE240
DEBUG ksvideosrc
gstksvideosrc.c:791:gst_ks_video_src_unlock:<ksvideosrc0>
gst_ks_video_src_unlock0:00:00.330988839 2160 00000000029CE240
DEBUG ksvideosrc
gstksvideosrc.c:803:gst_ks_video_src_unlock_stop:<ksvideosrc0>
gst_ks_video_src_unlock_stop*
I have tried to set caps explicitly but with no success.
*d:\gstreamer-1.6.1-64\1.0\x86_64\bin>gst-launch-1.0.exe -v ksvideosrc
device-index=1 ! video/x-raw, format=RGBx, width=320, heigh=240,
framerate=30/1, pixel-aspect-ratio=1/1 ! videoconvert !
autovideosinkSetting pipeline to PAUSED ...Pipeline is live and does not
need PREROLL ...ERROR: from element
/GstPipeline:pipeline0/GstKsVideoSrc:ksvideosrc0: Internal data flow
error.Additional debug info:gstbasesrc.c(2943): gst_base_src_loop ():
/GstPipeline:pipeline0/GstKsVideoSrc:ksvideosrc0:streaming task paused,
reason not-negotiated (-4)ERROR: pipeline doesn't want to preroll.Setting
pipeline to PAUSED ...Setting pipeline to READY ...Setting pipeline to NULL
...Freeing pipeline ...*
At the same time I can capture video from real USB camera with no issues.
*gst-launch-1.0.exe -v ksvideosrc device-index=0 ! video/x-raw,
format=YUY2, width=320, heigh=240, framerate=30/1, pixel-aspect-ratio=1/1 !
videoconvert ! autovideosinkSetting pipeline to PAUSED ...Pipeline is live
and does not need PREROLL ...Setting pipeline to PLAYING ...New clock:
GstSystemClock/GstPipeline:pipeline0/GstKsVideoSrc:ksvideosrc0.GstPad:src:
caps = "video/x-raw\,\ format\=\(string\)YUY2\,\ width\=\(int\)320\,\
height\=\(int\)240\,\ framerate\=\(fraction\)30/1\,\
pixel-aspect-ratio\=\(fraction\)1/1\,\
heigh\=\(int\)240"/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src:
caps = "video/x-raw\,\ format\=\(string\)YUY2\,\ width\=\(int\)320\,\
height\=\(int\)240\,\ framerate\=\(fraction\)30/1\,\
pixel-aspect-ratio\=\(fraction\)1/1\,\
heigh\=\(int\)240"/GstPipeline:pipeline0/GstVideoConvert:videoconvert0.GstPad:src:
caps = "video/x-raw\,\ format\=\(string\)YUY2\,\ width\=\(int\)320\,\
height\=\(int\)240\,\ framerate\=\(fraction\)30/1\,\
pixel-aspect-ratio\=\(fraction\)1/1\,\
heigh\=\(int\)240"/GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0.GstGhostPad:sink.GstProxyPad:proxypad0:
caps = "video/x-raw\,\ format\=\(string\)YUY2\,\ width\=\(int\)320\,\
height\=\(int\)240\,\ framerate\=\(fraction\)30/1\,\
pixel-aspect-ratio\=\(fraction\)1/1\,\
heigh\=\(int\)240"/GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0/GstD3DVideoSink:autovideosink0-actual-sink-d3dvideo.GstPad:sink:
caps = "video/x-raw\,\ format\=\(string\)YUY2\,\ width\=\(int\)320\,\
height\=\(int\)240\,\ framerate\=\(fraction\)30/1\,\
pixel-aspect-ratio\=\(fraction\)1/1\,\
heigh\=\(int\)240"/GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0.GstGhostPad:sink:
caps = "video/x-raw\,\ format\=\(string\)YUY2\,\ width\=\(int\)320\,\
height\=\(int\)240\,\ framerate\=\(fraction\)30/1\,\
pixel-aspect-ratio\=\(fraction\)1/1\,\
heigh\=\(int\)240"/GstPipeline:pipeline0/GstVideoConvert:videoconvert0.GstPad:sink:
caps = "video/x-raw\,\ format\=\(string\)YUY2\,\ width\=\(int\)320\,\
height\=\(int\)240\,\ framerate\=\(fraction\)30/1\,\
pixel-aspect-ratio\=\(fraction\)1/1\,\
heigh\=\(int\)240"/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink:
caps = "video/x-raw\,\ format\=\(string\)YUY2\,\ width\=\(int\)320\,\
height\=\(int\)240\,\ framerate\=\(fraction\)30/1\,\
pixel-aspect-ratio\=\(fraction\)1/1\,\ heigh\=\(int\)240"ERROR: from
element
/GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0/GstD3DVideoSink:autovideosink0-actual-sink-d3dvideo:
Output window was closedAdditional debug info:d3dhelpers.c(1851):
d3d_render_buffer ():
/GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0/GstD3DVideoSink:autovideosink0-actual-sink-d3dvideoExecution
ended after 0:00:07.170325221Setting pipeline to PAUSED ...Setting pipeline
to READY ...Setting pipeline to NULL ...Freeing pipeline ...*
Can you guys help me with this, please?
Thanks,
Oleg
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20151112/8322fd45/attachment-0001.html>
More information about the gstreamer-devel
mailing list