Figure out performance with Gstreamer on ARM processor

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Figure out performance with Gstreamer on ARM processor

Vahe Gerald-B06319

Hello List,

 

I am running FFMPEG codecs on an ARM processor.  In an attempt to figure out performance, I am trying to encode the videotestsrc with the MPEG4 software encoder.

 

I initially pulled together this pipeline, which worked:

gst-launch -e videotestsrc ! video/x-raw-yuv, framerate=15/1,
width=320, height=240 ! ffenc_mpeg4 ! avimux ! filesink location=test.avi

 

 

However, I notice that the processor is over its limit.  In an attempt to figure out how under real time it is, I figured I would create a RAW file on the target with a known length.  (IE---10 seconds)

 

Then, ENCODE that file with a separate command.   That way, I could see if it takes 12 seconds or 20 seconds to encode.  (And I will know how close the processor is to handling it real time.)

 

To create the RAW file, I pulled together this pipeline, which appeared to work fine:

gst-launch -e videotestsrc ! video/x-raw-yuv framerate=15/1, width=320, height=240 ! filesink location=testraw.avi

 

 

Now, I was thinking I could use this command to “TIME” how long it would take to encode the file.  However, I get a bunch of errors.  (Below)

 

time gst-launch -e filesrc location=testraw.avi ! ffenc_mpeg4 ! avimux ! filesink location=test.avi

 

Any Idea what I am doing wrong or what these errors mean?  I also tried AVIMUX and DEMUX in their perspective places, but got similar errors.

 

Any Help or suggestions would be GREATLY appreciated!

 

-gerry

 

 

 

** (gst-launch-0.10:2013): CRITICAL **: gst_ffmpegenc_chain_video: assertion `frame_size == GST_BUFFER_SIZE (inbuf)' failed

Pipeline is PREROLLING ...

ERROR: from element /GstPipeline:pipeline0/GstFileSrc:filesrc0: Internal data flow error.

Additional debug info:

gstbasesrc.c(2378): gst_base_src_loop (): /GstPipeline:pipeline0/GstFileSrc:filesrc0:

streaming task paused, reason error (-5)

ERROR: pipeline doesn't want to preroll.

Setting pipeline to NULL ...

Freeing pipeline ...

root@freescale ~$

 


------------------------------------------------------------------------------
What happens now with your Lotus Notes apps - do you make another costly
upgrade, or settle for being marooned without product support? Time to move
off Lotus Notes and onto the cloud with Force.com, apps are easier to build,
use, and manage than apps on traditional platforms. Sign up for the Lotus
Notes Migration Kit to learn more. http://p.sf.net/sfu/salesforce-d2d
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Figure out performance with Gstreamer on ARM processor

Marco Ballesio
Hi,

this appears to be a re-posted message duplicated from:

http://permalink.gmane.org/gmane.comp.video.gstreamer.devel/32134

(or something like that). Btw, some on-the-fly comments below..

On Mon, Nov 22, 2010 at 5:09 PM, Vahe Gerald-B06319
<[hidden email]> wrote:
> Hello List,
>
>
>
> I am running FFMPEG codecs on an ARM processor.  In an attempt to figure out
> performance, I am trying to encode the videotestsrc with the MPEG4 software
> encoder.

generally speaking, as ARM architectures come with HW cores for video
codecs you should you them when available. Anyway, it's still possible
your HW is missing them (I wonder which weird HW it is in such a case
though :/).

>
>
>
> I initially pulled together this pipeline, which worked:
>
> gst-launch -e videotestsrc ! video/x-raw-yuv, framerate=15/1,
> width=320, height=240 ! ffenc_mpeg4 ! avimux ! filesink location=test.avi
>
>
>
>
>
> However, I notice that the processor is over its limit.  In an attempt to
> figure out how under real time it is, I figured I would create a RAW file on
> the target with a known length.  (IE---10 seconds)
>
>
>
> Then, ENCODE that file with a separate command.   That way, I could see if
> it takes 12 seconds or 20 seconds to encode.  (And I will know how close the
> processor is to handling it real time.)
>
>
>
> To create the RAW file, I pulled together this pipeline, which appeared to
> work fine:
>
> gst-launch -e videotestsrc ! video/x-raw-yuv framerate=15/1, width=320,
> height=240 ! filesink location=testraw.avi
>
>
>
>
>
> Now, I was thinking I could use this command to “TIME” how long it would
> take to encode the file.  However, I get a bunch of errors.  (Below)
>
>
>
> time gst-launch -e filesrc location=testraw.avi ! ffenc_mpeg4 ! avimux !
> filesink location=test.avi

you're missing (at least) the avidemux element here (between the
filesrc and the encoder), then maybe you'll need to put a capsfilter
(not sure about how avi deals with raw formats).

>
>
>
> Any Idea what I am doing wrong or what these errors mean?  I also tried
> AVIMUX and DEMUX in their perspective places, but got similar errors.
>

well, if you tried to put and avidemux between the source and the
encoder and you still got an error, please post it here.

Regards

>
>
> Any Help or suggestions would be GREATLY appreciated!
>
>
>
> -gerry
>
>
>
>
>
>
>
> ** (gst-launch-0.10:2013): CRITICAL **: gst_ffmpegenc_chain_video: assertion
> `frame_size == GST_BUFFER_SIZE (inbuf)' failed
>
> Pipeline is PREROLLING ...
>
> ERROR: from element /GstPipeline:pipeline0/GstFileSrc:filesrc0: Internal
> data flow error.
>
> Additional debug info:
>
> gstbasesrc.c(2378): gst_base_src_loop ():
> /GstPipeline:pipeline0/GstFileSrc:filesrc0:
>
> streaming task paused, reason error (-5)
>
> ERROR: pipeline doesn't want to preroll.
>
> Setting pipeline to NULL ...
>
> Freeing pipeline ...
>
> root@freescale ~$
>
>
>
> ------------------------------------------------------------------------------
> What happens now with your Lotus Notes apps - do you make another costly
> upgrade, or settle for being marooned without product support? Time to move
> off Lotus Notes and onto the cloud with Force.com, apps are easier to build,
> use, and manage than apps on traditional platforms. Sign up for the Lotus
> Notes Migration Kit to learn more. http://p.sf.net/sfu/salesforce-d2d
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>
>

------------------------------------------------------------------------------
What happens now with your Lotus Notes apps - do you make another costly
upgrade, or settle for being marooned without product support? Time to move
off Lotus Notes and onto the cloud with Force.com, apps are easier to build,
use, and manage than apps on traditional platforms. Sign up for the Lotus
Notes Migration Kit to learn more. http://p.sf.net/sfu/salesforce-d2d
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel