HI,
I have recently started exploring the video interface that provided by qualcomm SDK for Gstreamer. Unfortunately, some issues arose when working with the provided OMX encoder.
I invoked some pipeline that use omxh264enc plugin, For video that set at resolution 480P,I noticed that omxh264enc can work only with high bit-rate (5Mbit/sec), When i used lower bitrate as 2Mbit/sec, the video was grainy.
pipeline: qtiqmmfsrc camera=1 device=hires latency=0 ! video/x-raw(memory:GBM),width=640,height=480,format=NV12,framerate=30/1 ! omxh264enc target-bitrate=2000000 control-rate=2 ! video/x-h264,profile=main ! h264parse ! rtph264pay name=pay0 pt=96
video: https://www.youtube.com/watch?v=o8xhjkZtAcU
* when tuning the profile parameter to high, the video was corrupted. Also i couldn't set the level param of the encoder.
At other effort i used the qtiqmmfsrc plugin with lower bitrate (1.2Mb/sec) then i used in omxh264enc. I recevied clear stream as follow by this video
pipeline: qtiqmmfsrc camera=1 device=hires video_0::bitrate=1200000 ! video/x-h264,width=640,height=480,format=NV12,framerate=30/1 ! h264parse ! rtph264pay name=pay0 pt=96
video: https://youtu.be/0SBMoc8VSB8
My question is how can i make the omxh264enc work with low bit rate ?