time different elements of a pipeline?

Rand Graham rand.graham at lge.com
Mon Jan 23 22:01:19 UTC 2017


Hello,

After asking my question I found a github repo that has a gst-top command.

https://github.com/kirushyk/gst-instruments

I tried this on my pipeline that transcodes a video file. According to this tool re encoding the aac audio is taking the longest amount of time in the pipeline. Is there a way to pass through the aac audio without re encoding it? The original video file contains aac audio and I want the output video file to contain aac audio. Here is the pipeline and the results I found.

Also, I am using vendor supplied plugins to do the decode and encode. I don't think that the gst-top tool is able to record how much time is actually being spent by the hw decoder and encoder. My theory that it is only recording the time taken by the sw to pass the data back and forth to the hardware decoder and encoder.

gst-launch reports total running time of  

Execution ended after 0:01:42.139042670 (102.14 seconds)

Adding up all the running time of gst-top comes to 69.912 seconds leaving 32.228 seconds un accounted for.

gst-top-1.0 gst-launch-1.0 -e mpegtsmux name=m ! filesink location=uhd1280x720hwenc.mp4 filesrc location=uhd.trp ! tsdemux name=dem dem. ! queue ! h265parse ! omxh265dec ! nvvidconv ! 'video/x-raw(memory:NVMM), width=(int)1280, height=(int)720, format=(string)I420' ! omxh264enc profile=8 ! m. dem. ! queue ! avdec_aac ! audioconvert ! voaacenc ! m.

ELEMENT                 %CPU   %TIME   TIME
voaacenc0                23.6   34.5    24.1 s
m                         7.4   10.9    7.59 s
h265parse0                7.3   10.7    7.51 s
filesink0                 5.7    8.4    5.87 s
dem                       5.7    8.3    5.80 s
nvvconv0                  4.5    6.6    4.60 s
avdec_aac0                4.5    6.5    4.57 s
filesrc0                  3.5    5.1    3.56 s
audioconvert0             2.5    3.7    2.58 s
omxh265dec-omxh265dec0    1.9    2.8    1.95 s
omxh264enc-omxh264enc0    0.6    0.8    580 ms
capsfilter0               0.4    0.6    454 ms
queue0                    0.4    0.6    410 ms
queue1                    0.3    0.5    338 ms
pipeline0                 0.0    0.0      0 ns

Regards,
Rand



________________________________________
From: gstreamer-devel [gstreamer-devel-bounces at lists.freedesktop.org] On Behalf Of Rand Graham [rand.graham at lge.com]
Sent: Monday, January 23, 2017 3:18 PM
To: gstreamer-devel at lists.freedesktop.org
Subject: time different elements of a pipeline?

Hello,

I am running a pipeline with gst-launch. The pipeline does decoding and encoding. I noticed that gstreamer reports the total run time after it exits. I was wondering if there is a way to time how much time is spent in each element of the pipeline. Especially how much time is spend decoding and transcoding.

Can this be done from the command line gst-launch utility?

Thanks,
Rand
_______________________________________________
gstreamer-devel mailing list
gstreamer-devel at lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


More information about the gstreamer-devel mailing list