Blue
September 10, 2020, 11:59pm
1
we have had problems using with omx 264 wrapper for gstreamer in the past but have seen some examples with Nivida SBCs having different features
requirements:
-Constant bitrate with Filler Data (for example if I set 12mbps and its a black screen it will artificially lift bitrate)
-Ability to modify Video buffering verifier buffer size
thanks!
DaneLLL
September 11, 2020, 1:32am
3
Hi,
In gstreamer, we are deprecating omx plugins. You may try v4l2 plugins such as nvv4l2h264enc. Please look at sample pipelines in gstreamer user guide .
Blue
September 11, 2020, 10:10am
4
Hey,
Looked at the link and I saw nvv4l2h264enc is missing features like vbv-size which the omx seems to have
Also found this
https://forums.developer.nvidia.com/t/constant-bitrate-help/45736#:~:text=1.5mbps%20can%20be%20the,it%20hits%20the%20compression%20limit.
It seems it may be impossible to set very low bitrate on high resolutions and frame rates?
we would need to be able to go down to atleast 200kbps
would stringent bitrate add filler data to reach desired bitrate even with a blackscreen/low bitrate video input?
DaneLLL
September 11, 2020, 12:01pm
5
Hi,
We have vbv-size in v4l2 plugins. Please check
Hi,
For comparing h264 and h265, please use same YUV source and compare PSNR.
For example, you may download the source:
https://media.xiph.org/video/derf/y4m/park_joy_1080p50.y4m
Run
$ gst-launch-1.0 filesrc location= park_joy_1080p50.y4m ! y4mdec ! nvvidconv ! nvv4l2h264enc bitrate=14000000 control-rate=1 vbv-size=450000 ! h264parse ! qtmux ! filesink location= park_joy.mov
$ gst-launch-1.0 filesrc location= park_joy_1080p50.y4m ! y4mdec ! nvvidconv ! nvv4l2h265enc bitrate=14000000 control…
Blue
September 11, 2020, 2:57pm
6
Hey,
Thanks for clearing that up.
I wasn’t able to find anything more on Filler Data and Minimum compression bitrate.
DaneLLL
September 14, 2020, 3:29am
7
Hi,
It does not add filler data. Since gst-v4l2 package is open source, you can download the source code and add it. Please download the package:
https://developer.nvidia.com/embedded/L4T/r32_Release_v4.3/Sources/T210/public_sources.tbz2
We have seen limitation that it cannot go lower than 1.5Mbps for 1080p30:
Hi x1tester62,
I think you are right. 1.5mbps can be the lowest bitrate for high motion case of 1080p30. In general, the bitrate is suggested to be ~10mbps for 1080p30 to get good quality. If all frames are quantized at 50 and it still cannot go below 1.5mbps, it hits the compression limit. For getting lower bitrate, we have to drop frames.
Please try
gst-launch-1.0 nvcamerasrc num-buffers=300 ! ‘video/x-raw(memory:NVMM),width=1920,height=1080,framerate=30/1,format=I420’ ! omxh264enc bitrate…
So for certain cases, it may not be able to go down to 200kbps.
Blue
November 23, 2020, 1:34pm
9
DaneLLL:
gst-v4l2
Hey,
is the gstv4l2videoencode.c file that I need to modify ?
DaneLLL
November 24, 2020, 2:51am
10
Hi,
Yes. You may read the code to understand how it works and do customization.