Optimize gstreamer 1.2 pipeline for raspberry pi 2

Chris Isip cmisipster at gmail.com
Tue Aug 11 11:13:22 PDT 2015


I am currently using the following pipeline:

gst-launch-1.0  -e filesrc location="${INPUT}" \
! decodebin name=demux \
! queue \
! avenc_ac3 \
! mux. mpegtsmux name=mux \
! filesink location="temp.ts" demux. \
! queue \
! avdeinterlace \
! videoscale \
! videoconvert \
! omxh264enc target-bitrate=${TARGET_BIT_RATE} control-rate=1
inline-header=true periodicty-idr=250 interval-intraframes=250 \
! video/x-h264,width=${TARGET_WIDTH},height=${TARGET_HEIGHT}, \
      stream-format=byte-stream,profile=high \
! h264parse \
! mux.

And was wondering if anybody could suggest an improvement to further speed
things up.  I am using this to encode mythtv videos recorded with a
hdhomerun.  Hour long videos encode in 3 hours.  I have the licenses for
both MPEG2 decode and H264 decode /encode.  I think decodebin is utilizing
omxmpeg2videodec.  My main question really is would it be possible to skip
the ac3 decode and subsequent reencode as that seems to be unecessary given
that the final mpegts container contains the h264 and ac3 audio.   My
videos are interlaced and so that is a must and I have run some tests using
a 30 second mpg file using various deinterlacing modes with the following
results:

0:01:48.652748817-out-deint-default-2MB-scale-.ts
0:00:55.908726491-out-deint-tomsmocomp-2MB-scale.ts
0:06:14.429371221-out-deint-greedyh-2MB-scale.ts
0:02:02.278393867-out-deint-greedyl-2MB-scale.ts
0:02:30.893909519-out-deint-vfir-2MB-scale.ts
0:01:48.811999772-out-deint-linear-2MB-scale.ts
0:02:20.386074013-out-deint-linearblend-2MB-scale.ts
0:01:46.741174898-out-deint-scalerbob-2MB-scale.ts
0:01:51.047711303-out-deint-weave-2MB-scale.ts
0:01:50.042523669-out-deint-weavetff-2MB-scale.ts
0:01:50.202601339-out-deint-weavebff-2MB-scale.ts
0:16:48.724998233-out-deint-yadif-2MB-scale.ts
0:01:37.221198306-out-avdeinterlace-2MB-scale.ts  ==> result of gstreamer
pipeline above

The time it took to complete is the numbers before the dash.  I picked
avdeinterlace because the next fastest tomsmocomp had horizontal jaggies.

Also is there a current solution to encode to aacplus or fdk_aac with
gstreamer 1.2?  I see that there is an aacplus encoder for gstreamer .10.

Thanks,

Chris
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-openmax/attachments/20150811/09c7c355/attachment.html>


More information about the gstreamer-openmax mailing list