[gst-devel] appsrc to filesink

Tim-Philipp Müller t.i.m at zen.co.uk
Mon Feb 2 13:13:09 CET 2009


On Sun, 2009-02-01 at 22:06 -0800, Andres Colubri wrote:

Hi,

> appsrc name=testsource caps=test_caps ! ffmpegcolorspace ! 
> video/x-raw-yuv, width=80, height=60, bpp=32, depth=24 ! queue ! 

The bpp/depth fields don't really make sense here. YUV caps usually look
like:

 video/x-raw-yuv,format=(fourcc)I420,width=80,height=60

with bits per pixel etc. implied by the pixel layout/format used. See:

http://gstreamer.freedesktop.org/data/doc/gstreamer/head/pwg/html/section-types-definitions.html#table-video-types

for more info. (You shouldn't *need* to specify a format here though,
ffmpegcolorspace should negotiate to one supported by
downstream/xvidenc).

> videorate ! video/x-raw-yuv, framerate=30/1 ! xvidenc ! queue ! avimux ! 
> queue ! filesink location=test.avi
> 
> where test_caps = 
> "video/x-raw-rgb,width=80,height=60,bpp=32,depth=24,framerate=30/1"

These RGB caps are incomplete. You need to also specify:
 - red_mask
 - green_mask
 - blue_mask
 - endianness

ffmpegcolorspace should reject these caps with a NOT_NEGOTIATED flow
return. Not sure what appsrc does with that, but I'd guess it would post
an error message on the pipeline's bus.

Cheers
 -Tim






More information about the gstreamer-devel mailing list