Hi all,
I'm having problem using my usb tv tuner with gstreamer. I tried the following with gst-launch-0.10: $ gst-launch-0.10 v4l2src device=/dev/video1 ! autovideosink Setting pipeline to PAUSED ... ERROR: Pipeline doesn't want to pause. ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Device '/dev/video1' cannot capture at 720x576 Additional debug info: gstv4l2object.c(2093): gst_v4l2_object_set_format (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Call to S_FMT failed for YV12 @ 720x576: Invalid argument Setting pipeline to NULL ... Freeing pipeline ... Then I checked what properties v4l2 reports: $ v4l2-ctl -d /dev/video1 --all and noticed that the tv tuner uses YUY2 (also known as YUYV) instead of YV12 as detected by GST: Format Video Capture: Width/Height : 720/576 Pixel Format : 'YUYV' Field : Interlaced Bytes per Line: 1440 Size Image : 829440 Colorspace : SRGB Format Video Output: Width/Height : 720/576 Pixel Format : 'YUYV' Field : Interlaced Bytes per Line: 1440 Size Image : 829440 Colorspace : SRGB So I decided to explicitly tell GST to use YUY2: gst-launch-0.10 v4l2src device=/dev/video1 ! video/x-raw- yuv,format=\(fourcc\)YUY2 ! ffmpegcolorspace ! autovideosink but got: Setting pipeline to PAUSED ... ERROR: Pipeline doesn't want to pause. ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Could not negotiate format Additional debug info: gstbasesrc.c(2778): gst_base_src_start (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Check your filtered caps, if any Setting pipeline to NULL ... Freeing pipeline ... Adding --gst-debug=v4l2:5 revealed that GST recognises YU12, YV12, BGR3 and RGB3 pixel formats: v4l2 gstv4l2object.c:1038:gst_v4l2_object_fill_format_list:<v4l2src0> YU12 (emulated) v4l2 gstv4l2object.c:1038:gst_v4l2_object_fill_format_list:<v4l2src0> YV12 (emulated) v4l2 gstv4l2object.c:1038:gst_v4l2_object_fill_format_list:<v4l2src0> BGR3 (emulated) v4l2 gstv4l2object.c:1038:gst_v4l2_object_fill_format_list:<v4l2src0> RGB3 (emulated) The version of gstreamer is 0.10.32 and the version of gst-plugins-good is 0.10.27 from the archlinux x86_64 repo. I've attached the debug output from gst-launch and the output of v4l2-ctl, but if any other information is needed I'll provided of course. I'm not an expert in the field so I have only a vague notion of what colorspace and pixel formats are, so please, execuse me, if I've done some stupid mistake :) Thanks in advance for the help! Dimitar _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Hi,
> gst-launch-0.10 v4l2src device=/dev/video1 ! video/x-raw- > yuv,format=\(fourcc\)YUY2 ! ffmpegcolorspace ! autovideosink The first thing which I would suggest is to explicitly provide frame width, height and framerate in your caps filter. Something like this: gst-launch-0.10 v4l2src device=/dev/video1 ! video/x-raw-yuv,format=\(fourcc\)YUY2,width=720,height=576,framerate=\(fraction\)25/1 ! ffmpegcolorspace ! autovideosink I am not sure about frame rate. Maybe 30/1 is the right value. It depends on your camera. HTH, Andrey. _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
In reply to this post by Dimitar Popov
On 28.02.2011 00:41, Dimitar Popov wrote:
> Hi all, > > I'm having problem using my usb tv tuner with gstreamer. I tried the following > with gst-launch-0.10: > > $ gst-launch-0.10 v4l2src device=/dev/video1 ! autovideosink > > Setting pipeline to PAUSED ... > ERROR: Pipeline doesn't want to pause. > ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Device > '/dev/video1' cannot capture at 720x576 > Additional debug info: > gstv4l2object.c(2093): gst_v4l2_object_set_format (): > /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: > Call to S_FMT failed for YV12 @ 720x576: Invalid argument > Setting pipeline to NULL ... > Freeing pipeline ... > > Then I checked what properties v4l2 reports: > > $ v4l2-ctl -d /dev/video1 --all > > and noticed that the tv tuner uses YUY2 (also known as YUYV) instead of YV12 > as detected by GST: > > Format Video Capture: > Width/Height : 720/576 > Pixel Format : 'YUYV' > Field : Interlaced > Bytes per Line: 1440 > Size Image : 829440 > Colorspace : SRGB > Format Video Output: > Width/Height : 720/576 > Pixel Format : 'YUYV' > Field : Interlaced > Bytes per Line: 1440 > Size Image : 829440 > Colorspace : SRGB > > So I decided to explicitly tell GST to use YUY2: > > gst-launch-0.10 v4l2src device=/dev/video1 ! video/x-raw- > yuv,format=\(fourcc\)YUY2 ! ffmpegcolorspace ! autovideosink > > but got: > > Setting pipeline to PAUSED ... > ERROR: Pipeline doesn't want to pause. > ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Could not > negotiate format > Additional debug info: > gstbasesrc.c(2778): gst_base_src_start (): > /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: > Check your filtered caps, if any > Setting pipeline to NULL ... > Freeing pipeline ... > > Adding --gst-debug=v4l2:5 revealed that GST recognises YU12, YV12, BGR3 and > RGB3 pixel formats: > > v4l2 gstv4l2object.c:1038:gst_v4l2_object_fill_format_list:<v4l2src0> YU12 > (emulated) > v4l2 gstv4l2object.c:1038:gst_v4l2_object_fill_format_list:<v4l2src0> YV12 > (emulated) > v4l2 gstv4l2object.c:1038:gst_v4l2_object_fill_format_list:<v4l2src0> BGR3 > (emulated) > v4l2 gstv4l2object.c:1038:gst_v4l2_object_fill_format_list:<v4l2src0> RGB3 > (emulated) > > The version of gstreamer is 0.10.32 and the version of gst-plugins-good is > 0.10.27 from the archlinux x86_64 repo. > > I've attached the debug output from gst-launch and the output of v4l2-ctl, but > if any other information is needed I'll provided of course. Current git has a fix for interlaced v4l2 sources which could fix your problem. Stefan > I'm not an expert in the field so I have only a vague notion of what > colorspace and pixel formats are, so please, execuse me, if I've done some > stupid mistake :) > > Thanks in advance for the help! > > Dimitar > > > _______________________________________________ > gstreamer-devel mailing list > [hidden email] > http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |