Hi<br>I would like do some test with gstreamer and my webcam Philips 1330 NC and i have a understanding problem with "capabilities for filtering " and "allowed caps" :<br><br>1) with a videotestsrc element, I can do that :<br>
videotestsrc ! video/x-raw-rgb ! ffmpegcolorspace ! ximagesink<br>videotestsrc ! video/x-raw-yuv ! ffmpegcolorspace ! ximagesink<br><br>2) with a v4l2src element, I can do that :<br>v4l2src ! video/x-raw-rgb ! ffmpegcolorspace ! ximagesink<br>
3) but i can't do that :<br>v4l2src ! video/x-raw-rgb ! ffmpegcolorspace ! ximagesink<br>Setting pipeline to PAUSED ...<br>ERROR: Pipeline doesn't want to pause.<br>ERROR: from element /pipeline0/v4l2src0: Could not negotiate format<br>
Additional debug info:<br>gstbasesrc.c(2387): gst_base_src_start (): /pipeline0/v4l2src0:<br>Check your filtered caps, if any<br>Setting pipeline to NULL ...<br>FREEING pipeline ...<br><br>4) So I have built a tiny program that i use to print allowed caps of the pad between v4l2src and ffmpegcolorspace<br>
./main v4l2src src ffmpegcolorspace sink<br><br>GStreamer 0.10.18<br> video/x-raw-rgb<br> bpp: 24<br> depth: 24<br> red_mask: 16711680<br> green_mask: 65280<br> blue_mask: 255<br>
endianness: 4321<br> width: [ 1, 32768 ]<br> height: [ 1, 32768 ]<br> framerate: [ 0/1, 100/1 ]<br> video/x-raw-rgb<br> bpp: 24<br> depth: 24<br> red_mask: 255<br>
green_mask: 65280<br> blue_mask: 16711680<br> endianness: 4321<br> width: [ 1, 32768 ]<br> height: [ 1, 32768 ]<br> framerate: [ 0/1, 100/1 ]<br> video/x-raw-yuv<br>
format: YV12<br> width: [ 1, 32768 ]<br> height: [ 1, 32768 ]<br> framerate: [ 0/1, 100/1 ]<br> video/x-raw-yuv<br> format: YUY2<br> width: [ 1, 32768 ]<br>
height: [ 1, 32768 ]<br> framerate: [ 0/1, 100/1 ]<br> video/x-raw-rgb<br> bpp: 32<br> depth: 32<br> red_mask: 255<br> green_mask: 65280<br> blue_mask: 16711680<br>
endianness: 4321<br> width: [ 1, 32768 ]<br> height: [ 1, 32768 ]<br> framerate: [ 0/1, 100/1 ]<br> alpha_mask: -16777216<br> video/x-raw-yuv<br> format: I420<br>
width: [ 1, 32768 ]<br> height: [ 1, 32768 ]<br> framerate: [ 0/1, 100/1 ]<br> video/x-raw-yuv<br> format: Y42B<br> width: [ 1, 32768 ]<br> height: [ 1, 32768 ]<br>
framerate: [ 0/1, 100/1 ]<br> video/x-raw-rgb<br> bpp: 32<br> depth: 32<br> red_mask: -16777216<br> green_mask: 16711680<br> blue_mask: 65280<br> endianness: 4321<br>
width: [ 1, 32768 ]<br> height: [ 1, 32768 ]<br> framerate: [ 0/1, 100/1 ]<br> alpha_mask: 255<br> video/x-raw-rgb<br> bpp: 16<br> depth: 16<br> red_mask: 63488<br>
green_mask: 2016<br> blue_mask: 31<br> endianness: 1234<br> width: [ 1, 32768 ]<br> height: [ 1, 32768 ]<br> framerate: [ 0/1, 100/1 ]<br> video/x-raw-rgb<br> bpp: 16<br>
depth: 15<br> red_mask: 31744<br> green_mask: 992<br> blue_mask: 31<br> endianness: 1234<br> width: [ 1, 32768 ]<br> height: [ 1, 32768 ]<br> framerate: [ 0/1, 100/1 ]<br>
video/x-raw-rgb<br> bpp: 8<br> depth: 8<br> red_mask: 224<br> green_mask: 28<br> blue_mask: 3<br> endianness: 1234<br> width: [ 1, 32768 ]<br> height: [ 1, 32768 ]<br>
framerate: [ 0/1, 100/1 ]<br> video/x-raw-yuv<br> format: YVU9<br> width: [ 1, 32768 ]<br> height: [ 1, 32768 ]<br> framerate: [ 0/1, 100/1 ]<br> video/x-raw-yuv<br>
format: YUV9<br> width: [ 1, 32768 ]<br> height: [ 1, 32768 ]<br> framerate: [ 0/1, 100/1 ]<br> video/x-raw-yuv<br> format: Y41B<br> width: [ 1, 32768 ]<br>
height: [ 1, 32768 ]<br> framerate: [ 0/1, 100/1 ]<br> video/x-raw-yuv<br> format: UYVY<br> width: [ 1, 32768 ]<br> height: [ 1, 32768 ]<br> framerate: [ 0/1, 100/1 ]<br>
<br>my pad can use x-raw-rgb (and I would like use video/x-raw-rgb, bpp: 8) but i can't use rgb format ... with gst-launch<br>