[gst-devel] Converting AYUV to YUV - gst-launch pipeline?

Matt Veenstra matt at tribalmedia.com
Sat Aug 22 18:25:26 CEST 2009


Thanks dave, but unfortunately videoparser does not support AYUV.  See Below.

On Fri, Aug 21, 2009 at 9:42 PM, David Schleef<ds at entropywave.com> wrote:
> On Fri, Aug 21, 2009 at 07:41:48PM -0700, Matt Veenstra wrote:
>> My problem is then creating a pipeline to take that output and convert
>> it back to yuv to pass to ffmpeg and other standard tools.  I have
>> tried many many attempts.  Here is the basic pipeline I have been
>> trying.
>>
>> gst-launch filesrc location="$perf".ayuv !
>> 'video/x-raw-yuv,format=(fourcc)AYUV,width=640,height=480' !
>> ffmpegcolorspace ! 'video/x-raw-yuv,width=640,height=480' ! filesink
>> location="$perf".yuv
>
> You're looking for something like:
>
>  gst-launch filesrc location=ack.ayuv ! videoparse width=640 \
>    height=240 format=ayuv ! ...
>

The supported formats of rawparse/videoparse are
  GST_VIDEO_PARSE_FORMAT_I420,
  GST_VIDEO_PARSE_FORMAT_YV12,
  GST_VIDEO_PARSE_FORMAT_YUY2,
  GST_VIDEO_PARSE_FORMAT_UYVY,
  GST_VIDEO_PARSE_FORMAT_v210,
  GST_VIDEO_PARSE_FORMAT_RGB = 10,
  GST_VIDEO_PARSE_FORMAT_GRAY

Since this is only to validate output, I updated by gst-launch to do
the conversion w 2 ffmpegcolorspace elements as shown below.

This fails...where gstreamer converts first to AYUV then to I420.  The
file size is proper.  But the outputted data cannot be converted as
the single pass can do.  Is there something I am missing in the
pipeline?
________________
gst-launch filesrc location="$perf" ! decodebin name=nDecode nDecode.
! ffmpegcolorspace name=nColor1 ! \
	'video/x-raw-yuv,format=(fourcc)AYUV,width=640,height=480' !
ffmpegcolorspace name=nColor2 ! \
	'video/x-raw-yuv,format=(fourcc)I420,width=640,height=480' ! filesink
location="$perf".yuv.ffmpegcolor

ffmpeg -r 15.0 -s 640x480 -i "$perf".yuv.ffmpegcolor ...

This works...where gstreamer takes the source and converts directly to I420
________________
gst-launch filesrc location="$perf" ! decodebin name=nDecode nDecode.
! ffmpegcolorspace name=nColor1 ! \
	'video/x-raw-yuv,format=(fourcc)I420,width=640,height=480' ! filesink
location="$perf".yuv

ffmpeg -r 15.0 -s 640x480 -i "$perf".yuv \


Thanks for any other ideas.
Matt




More information about the gstreamer-devel mailing list