I am using following gstreamer for camera streaming on a IMX53 based custom board(kernel 2.6.35). When we start gstreamer it is taking 40% CPU. gstreamer version is 0.10.36.
#gst-launch mfw_v4lsrc device=/dev/video0 ! mfw_v4lsink
I thought of debugging the issue using oprofile, I have copied vmlinux to filesystem and started oprofile but it is giving following error.
The specified file /home/vmlinux does not seem to be valid Make sure you are using the non-compressed image file (e.g. vmlinux not vmlinuz)
I have copied vmlinux file only to filesystem.
Can you help to debug the gstreamer CPU utilization further.
Hello,
Please try different screen parameters (resolution, frame rate) -
perhaps in Your case really extreme one are applied.
Also, You may try to add gstreamer “queue” element for optimization.
Perhaps it makes sense to use “mfw_isink” instead of “mfw_v4lsink”.
As for Oprofile, please refer to Chapter 34 (OProfile) in “mx53_linux.pdf”
how to treat with it.
Have a great day,
Yuri
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
I have tried using queue element, then frame drop is happening. It is giving following warning.
WARNING: from element /GstPipeline:pipeline0/MFW_GST_V4LSINK_INFO_T:mfw_gst_v4lsink_info_t0: A lot of buffers are being dropped.
When tried with mfw_isink then nothing is coming on the display and it is giving following error.
vss/mfw_gst_vss_common.c:1015 ioctl error, return -1
Hello,
You may try the following.
Preserving contiguous memory region
echo 1 > /proc/sys/vm/lowmem_reserve_ratio
Setting the parameter in this way, the Kernel will prevent application and file caching to fragment “too much” memory. However it will limit the amount of memory that applications can allocate.
Dropping Caches
echo 3 > /proc/sys/vm/drop_caches
This will free ALL system caches BUT this can impact other applications running in the system, requiring them to load the files they use each time the caches are dropped
There are tools for avoiding file caching of a specific application like the pagecache-management (https://code.google.com/p/pagecache-mangagement/)
Regards,
Yuri.
Thanks for the reply. Can you please provide link to download "mx53_linux.pdf”.
Hello,
please find the enclosed.
Summary page :
i.MX53 Software and Development Tool Resources|NXP
Regards,
Yuri.