How to efficiently replace vaapih265enc with omxh265enc?

jeyp4 jaiforfriend at gmail.com
Mon Nov 18 11:11:05 UTC 2019


I am working on a h265 encode-decode pipeline.
gst-launch-1.0 -v v4l2src device=/dev/video0 !
'video/x-raw,format=(string)YV12,width=1280,height=720,
framerate=(fraction)30/1' ! vaapih265enc max-bframes=0 keyframe-period=30 !
appsink // 1st app, encoding


appsrc ! vaapidecode ! xvimagesink // 2nd app decoding
Combination of above 2 pipelines works well. Needless to say that, above 2
pipelines are in separate applications connected through ROS.

Problem: I want to use Jetson for the 1st(encoder) pipeline. So I replace
'vaapih265enc max-bframes=0 keyframe-period=30' with 'omxh265enc
iframeinterval=30 quant-b-frames=0'. After this replacement I had to add
'h265parse' in 2nd decoder pipeline inorder to make application works. *I
don't want to add 'h265parse' element because it results an extra latency of
~40ms in decoding.*
How can I efficiently replace 'vaapih265enc max-bframes=0
keyframe-period=30' with 'omxh265enc'?


Additional info: I am forcing 'omxh265enc' to output byte-stream instead of
hvc1, because vaapih265enc outputs byte-stream by-default. So appsink caps
is following:
[code]caps = gst_caps_new_simple("video/x-h265",
                           "stream-format", G_TYPE_STRING, "byte-stream",
                           "alignment", G_TYPE_STRING, "au",
                           NULL);[/code]




--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/


More information about the gstreamer-devel mailing list