I’m trying to understand how to correctly set-up parameters in a gstreamer pipeline. I want to perform some tests with videos, and encode at lossless and near-lossless rates.
I’m not sure how to modify the parameters in omxh264enc to get near-lossless quality (~80% of original quality). Could someone please help me understand how to correctly set the quantization parameters?
Hi,
Do you consider using jetson_multimedia_api? If yes, you may convert GREY to YUV444 and to encode into lossless h264 stream by running 01_video_encode. Please refer to this post: H.264 lossless encoding - #2 by DaneLLL
For YUV420, we can only encode with qp=0 to get lowest loss. Your command looks fine. We suggest use nvv4l2h264enc since omx plugins are deprecated.
Hi,
No, GRAY format is not supported in encoding. You would need to convert to YUV420 or YUV444. It should be fine since it just fills in dummy bytes to U,V planes. Valid data is still in Y plane.
NvMMLiteBlockCreate : Block : BlockType = 4
875967048
875711833
H264: Profile = 244, Level = 51
NVMEDIA_ENC: bBlitMode is set to TRUE
Could not read complete frame from input file
File read complete.
Got 0 size buffer in capture
----------- Element = enc0 -----------
Total Profiling time = 5.99581
Average FPS = 70.0489
Total units processed = 421
Average latency(usec) = 133653
Minimum latency(usec) = 44592
Maximum latency(usec) = 185928
Could you please tell me what the latency at the very bottom is? Latency of what? Is it average latency to encode each frame?