I captured this using
gst-launch -v --gst-debug=2 mfw_v4lsrc num-buffers=350 capture-width=640 capture-height=480 ! videorate ! 'video/x-raw-yuv,width=640,height=480,framerate=(fraction)30/1' ! queue ! mfw_vpuencoder codec-type=0 intra-qp=10 qp=10 ! queue ! mux. alsasrc num-buffers=300 typefind=1 ! audioconvert ! mfw_mp3encoder ! queue ! mux. avimux name=mux ! filesink location=test.mp4
[the output is at the bottom]
[the video output has been attached]
What's interesting is the side keeps bleeding into the rest of the scene. This is the best video I can get.
My efforts at trying v4l2src do not work. (Which is kind of a bummer)
ffmpegcolorspace does not work either. (I had really high hopes for that. )
I think this comes down to encoder error on the vpu. What do you think?
MFW_GST_V4LSRC_PLUGIN 1.9.7-1 build on Jan 28 2011 13:26:16.BLN_MAD-MMCODECS_MP3E_ARM_02.02.00_ARM12 build on Apr 19 2011 14:18:53.MFW_GST_MP3_ENCODER_PLUGIN 1.9.7-1 build on Jan 28 2011 13:29:54.Setting pipeline to PAUSED ...[INFO] Product Info: i.MX53VPU Version: firmware 13.4.24; libvpu: 5.1.4MFW_GST_VPU_ENCODER_PLUGIN 1.9.7-1 build on Jan 28 2011 13:24:19./GstPipeline:pipeline0/GstAlsaSrc:alsasrc0: actual-buffer-time = 139319/GstPipeline:pipeline0/GstAlsaSrc:alsasrc0: actual-latency-time = 34829/GstPipeline:pipeline0/GstAlsaSrc:alsasrc0.GstPad:src: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)32, depth=(int)32, rate=(int)44100, channels=(int)2/GstPipeline:pipeline0/MFWGstV4LSrc:mfwgstv4lsrc0.GstPad:src: caps = video/x-raw-yuv, format=(fourcc)NV12, width=(int)640, height=(int)480, framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1Pipeline is live and does not need PREROLL ...Setting pipeline to PLAYING ...New clock: GstAudioSrcClock/GstPipeline:pipeline0/GstAudioConvert:audioconvert0.GstPad:src: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2/GstPipeline:pipeline0/GstAudioConvert:audioconvert0.GstPad:sink: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)32, depth=(int)32, rate=(int)44100, channels=(int)2/GstPipeline:pipeline0/MfwGstMp3EncInfo:mfwgstmp3encinfo0.GstPad:sink: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2/GstPipeline:pipeline0/MfwGstMp3EncInfo:mfwgstmp3encinfo0.GstPad:sink: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2/GstPipeline:pipeline0/MfwGstMp3EncInfo:mfwgstmp3encinfo0.GstPad:src: caps = audio/mpeg, mpegversion=(int)1, layer=(int)3, rate=(int)44100, channels=(int)2/GstPipeline:pipeline0/MfwGstMp3EncInfo:mfwgstmp3encinfo0.GstPad:src: caps = audio/mpeg, mpegversion=(int)1, layer=(int)3, rate=(int)44100, channels=(int)20:00:00.795767988 3172 0x192090 WARN videorate gstvideorate.c:587:gst_video_rate_event:<videorate0> Got segment but doesn't have GST_FORMAT_TIME value/GstPipeline:pipeline0/GstVideoRate:videorate0.GstPad:sink: caps = video/x-raw-yuv, format=(fourcc)NV12, width=(int)640, height=(int)480, framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1/GstPipeline:pipeline0/GstVideoRate:videorate0.GstPad:src: caps = video/x-raw-yuv, format=(fourcc)NV12, width=(int)640, height=(int)480, framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1/GstPipeline:pipeline0/GstVideoRate:videorate0.GstPad:sink: caps = video/x-raw-yuv, format=(fourcc)NV12, width=(int)640, height=(int)480, framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1/GstPipeline:pipeline0/GstQueue:queue2.GstPad:sink: caps = audio/mpeg, mpegversion=(int)1, layer=(int)3, rate=(int)44100, channels=(int)2/GstPipeline:pipeline0/GstQueue:queue2.GstPad:src: caps = audio/mpeg, mpegversion=(int)1, layer=(int)3, rate=(int)44100, channels=(int)20:00:00.801315128 3172 0x18b7c0 WARN avimux gstavimux.c:844:gst_avi_mux_audsink_set_caps:<mux> unparsed MPEG audio input (?), doing CBR muxing/GstPipeline:pipeline0/GstAviMux:mux.GstPad:audio_00: caps = audio/mpeg, mpegversion=(int)1, layer=(int)3, rate=(int)44100, channels=(int)2/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-raw-yuv, format=(fourcc)NV12, width=(int)640, height=(int)480, framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-raw-yuv, format=(fourcc)NV12, width=(int)640, height=(int)480, framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1/GstPipeline:pipeline0/GstQueue:queue0.GstPad:sink: caps = video/x-raw-yuv, format=(fourcc)NV12, width=(int)640, height=(int)480, framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1/GstPipeline:pipeline0/GstQueue:queue0.GstPad:src: caps = video/x-raw-yuv, format=(fourcc)NV12, width=(int)640, height=(int)480, framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1/GstPipeline:pipeline0/MfwGstVPU_Enc:mfwgstvpu_enc0.GstPad:sink: caps = video/x-raw-yuv, format=(fourcc)NV12, width=(int)640, height=(int)480, framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1/GstPipeline:pipeline0/MfwGstVPU_Enc:mfwgstvpu_enc0.GstPad:sink: caps = video/x-raw-yuv, format=(fourcc)NV12, width=(int)640, height=(int)480, framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1/GstPipeline:pipeline0/MfwGstVPU_Enc:mfwgstvpu_enc0.GstPad:src: caps = video/mpeg, height=(int)480, width=(int)640, framerate=(fraction)30/1, mpegversion=(int)4, systemstream=(boolean)false/GstPipeline:pipeline0/GstQueue:queue1.GstPad:sink: caps = video/mpeg, height=(int)480, width=(int)640, framerate=(fraction)30/1, mpegversion=(int)4, systemstream=(boolean)false/GstPipeline:pipeline0/GstQueue:queue1.GstPad:src: caps = video/mpeg, height=(int)480, width=(int)640, framerate=(fraction)30/1, mpegversion=(int)4, systemstream=(boolean)false/GstPipeline:pipeline0/GstAviMux:mux.GstPad:video_00: caps = video/mpeg, height=(int)480, width=(int)640, framerate=(fraction)30/1, mpegversion=(int)4, systemstream=(boolean)falseGot EOS from element "pipeline0".Execution ended after 12647232153 ns.Setting pipeline to PAUSED ...Setting pipeline to READY .../GstPipeline:pipeline0/GstAviMux:mux.GstPad:audio_00: caps = NULL/GstPipeline:pipeline0/GstAviMux:mux.GstPad:video_00: caps = NULL/GstPipeline:pipeline0/GstQueue:queue2.GstPad:src: caps = NULL/GstPipeline:pipeline0/GstQueue:queue2.GstPad:sink: caps = NULL/GstPipeline:pipeline0/GstQueue:queue1.GstPad:src: caps = NULL/GstPipeline:pipeline0/GstQueue:queue1.GstPad:sink: caps = NULL/GstPipeline:pipeline0/MfwGstMp3EncInfo:mfwgstmp3encinfo0.GstPad:src: caps = NULL/GstPipeline:pipeline0/MfwGstMp3EncInfo:mfwgstmp3encinfo0.GstPad:sink: caps = NULL/GstPipeline:pipeline0/MfwGstVPU_Enc:mfwgstvpu_enc0.GstPad:src: caps = NULL/GstPipeline:pipeline0/MfwGstVPU_Enc:mfwgstvpu_enc0.GstPad:sink: caps = NULL/GstPipeline:pipeline0/GstAudioConvert:audioconvert0.GstPad:src: caps = NULL/GstPipeline:pipeline0/GstAudioConvert:audioconvert0.GstPad:sink: caps = NULL/GstPipeline:pipeline0/GstQueue:queue0.GstPad:src: caps = NULL/GstPipeline:pipeline0/GstQueue:queue0.GstPad:sink: caps = NULL/GstPipeline:pipeline0/GstAlsaSrc:alsasrc0.GstPad:src: caps = NULL/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = NULL/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = NULL/GstPipeline:pipeline0/GstVideoRate:videorate0.GstPad:src: caps = NULL/GstPipeline:pipeline0/GstVideoRate:videorate0.GstPad:sink: caps = NULL/GstPipeline:pipeline0/MFWGstV4LSrc:mfwgstv4lsrc0.GstPad:src: caps = NULLSetting pipeline to NULL ...Freeing pipeline ...