Increase Performance of Transcoding Pipeline

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

Increase Performance of Transcoding Pipeline

qwerty-1
Hi All,

Are there elements that can help to increase the performance of pipeline if i would insert them into the pipeline.
Actually, i am using gstreamer to transcode video file from one format to another format. What i found that this process is taking lot of CPU.
Now i want to optimize the pipeline to make it eats less CPU. I am using following pipeline to transcode data:

filesrc -> decodebin2 -> queue -> ffmpegcolorspace -> videoscale -> capsfilter -> ffenc_h263 -> filesink

Any help/pointer/ will be appreciated. Can any one also share which element is eating lot of CPU in above given pipeline?

Thanks in Advance



------------------------------------------------------------------------------
Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)!
Finally, a world-class log management solution at an even better price-free!
Download using promo code Free_Logger_4_Dev2Dev. Offer expires
February 28th, so secure your free ArcSight Logger TODAY!
http://p.sf.net/sfu/arcsight-sfd2d
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Increase Performance of Transcoding Pipeline

Gruenke, Matt

Well, it depends on several things, but the encode is generally more expensive than decode.  Therefore, I’d move the queue closer to ffenc_h263 (or add another queue there, if you’ve got more than 2 hardware threads).

 

If you don’t need the generality of the decodebin, you could try hand-building that part of the pipeline.  Certain decoders might be faster than others.

 

I’ve never used it, but you might find the ‘cpureport’ element helpful in determining how much time is spent in the various segments of your pipeline.

 

 

Matt

 

 


From: Umakant Goyal [mailto:[hidden email]]
Sent: Wednesday, February 02, 2011 00:39
To: Discussion of the development of GStreamer
Subject: [gst-devel] Increase Performance of Transcoding Pipeline

 

Hi All,

Are there elements that can help to increase the performance of pipeline if i would insert them into the pipeline.
Actually, i am using gstreamer to transcode video file from one format to another format. What i found that this process is taking lot of CPU.
Now i want to optimize the pipeline to make it eats less CPU. I am using following pipeline to transcode data:

filesrc -> decodebin2 -> queue -> ffmpegcolorspace -> videoscale -> capsfilter -> ffenc_h263 -> filesink

Any help/pointer/ will be appreciated. Can any one also share which element is eating lot of CPU in above given pipeline?

Thanks in Advance


------------------------------------------------------------------------------
Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)!
Finally, a world-class log management solution at an even better price-free!
Download using promo code Free_Logger_4_Dev2Dev. Offer expires
February 28th, so secure your free ArcSight Logger TODAY!
http://p.sf.net/sfu/arcsight-sfd2d
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Increase Performance of Transcoding Pipeline

video009
In reply to this post by qwerty-1
As pointed out by someone else the encode can be expensive, so if you can reduce the amount of data to be encoded you can save CPU.

Generally this could mean using the videorate element to reduce the frame rate or videoscale element to reduce the resolution.  Also can you set the bitrate with the H263 encoder?   By default the h264 bitrate is reasonably high - nothing wrong with that, but if you want to reduce the size of the video and save on CPU I would suggest picking something a bit lower.


On 2 Feb 2011, at 05:39, Umakant Goyal wrote:

Hi All,

Are there elements that can help to increase the performance of pipeline if i would insert them into the pipeline.
Actually, i am using gstreamer to transcode video file from one format to another format. What i found that this process is taking lot of CPU.
Now i want to optimize the pipeline to make it eats less CPU. I am using following pipeline to transcode data:

filesrc -> decodebin2 -> queue -> ffmpegcolorspace -> videoscale -> capsfilter -> ffenc_h263 -> filesink

Any help/pointer/ will be appreciated. Can any one also share which element is eating lot of CPU in above given pipeline?

Thanks in Advance


------------------------------------------------------------------------------
Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)!
Finally, a world-class log management solution at an even better price-free!
Download using promo code Free_Logger_4_Dev2Dev. Offer expires
February 28th, so secure your free ArcSight Logger TODAY!
http://p.sf.net/sfu/arcsight-sfd2d_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel


------------------------------------------------------------------------------
The modern datacenter depends on network connectivity to access resources
and provide services. The best practices for maximizing a physical server's
connectivity to a physical network are well understood - see how these
rules translate into the virtual world?
http://p.sf.net/sfu/oracle-sfdevnlfb
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel