Gstreamer on Android: Performance issue with ant release build

Umashankar Chikkamath umashankar.chikkamath at yahoo.com
Wed Aug 13 07:25:29 PDT 2014


Moving further I did some more experiments with latest android builds:

Using the gstreamer android package posted on :  Index of /data/pkg/android/1.4.0 This time I run only simple encoding pipeline but still issue persists i.e ant release takes more time than ant debug
  
             
Index of /data/pkg/android/1.4.0
Name Last modified Size Description Parent Directory   -   gstreamer-1.0-android-arm-1.4.0-debug-runtime.tar.bz2 20-Jul-2014 05:32 67M   gstreamer-1....  
View on gstreamer.freedeskto... Preview by Yahoo  
  
 gstreamer-1.0-android-arm-1.4.0-debug.tar.bz2 => ant debug =>  encode time : 2 seconds
gstreamer-1.0-android-arm-1.4.0-debug.tar.bz2 => ant release => encode time :  6 seconds
gstreamer-1.0-android-arm-1.4.0-release.tar.bz2 => ant debug => encode time : 2 seconds
gstreamer-1.0-android-arm-1.4.0-release.tar.bz2 => ant release => encode time : 6 seconds



On Tuesday, August 12, 2014 2:45 PM, Umashankar Chikkamath <umashankar.chikkamath at yahoo.com> wrote:
 


Hello,
I was debugging a very strange performance issue from past couple of days. I'm not able to figure it out what could be the root cause for this performance issue. It would be great help if I get some suggestions or inputs to find out reason for performance issue. Please find below more details .
I'm able to transcode mp4 to mp4 file (re-encoding only video data not touching audio track) using gstreamer pipeline and I'm using available hardware decoder and encoder of the device (via androidmedia plugin). If I run this pipeline using debug mode package i.e ant debug  build transcoding meet real time performance for 720p and close to real time for 1080p. However if I run pipeline using release mode i.e ant release command in this case transcoding time is unrealistic, it takes more than 2x time than actual file duration. For example 160 seconds video of 1080p will take 180 seconds to transcode. Here difference is 30 seconds but this difference keeps increasing with file duration i.e For 500 seconds video with ant debug build takes 370 seconds to transcode where as ant release build will take 1700 seconds to transcode

Gstreamer pipeline: 
sprintf(gst_launch_pipeline, "filesrc location=%s ! qtdemux name=demux demux.audio_0 ! queue  max-size-time=5000000000    ! audio/mpeg,mpegversion=4 ! mp4mux name=mux ! filesink name=sink location=%s demux.video_0 !  video/x-h264 !  avdec_h264 ! queue ! videoconvert ! video/x-raw,width=%ld,height=%ld,format=\(string\)NV12 ! amcvidenc-omxqcomvideoencoderavc bitrate=%ld i-frame-interval=2 hw-dec-info=TRUE ! video/x-h264 ! queue max-size-bytes=0 max-size-buffers=0 max-size-time=0 ! h264parse ! mux.video_0", input_file, output_file, width, height, targetBitrate);

Note: Above gstreamer pipeline works perfectly fine, I'm suspecting I may missing proper configuration while building gstreamer SDK package. Performance issue is consistently observed on all android devices not particular to a manufacture.
              
Environment:
Device:Samsung S4 (qualcomm based chipset)  
Stock OS: Android 4.3
Cerbero Gstreamer SDK git version: 7cf0b7818d560ee8bed3fa96ca2e43 22aceb6e04

Thanks in advance,
-Umashankar  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-android/attachments/20140813/9656ccdb/attachment.html>


More information about the gstreamer-android mailing list