I’ve write a program that use gstreamer-1.0 to perform transcoding on TK1, it produce RGB16
raw data format image of size 385 * 288 per 1/30 sec. concurrently for 60 pipelines (Each
pipeline would generate about 30 frames per second).
There’re two test cases of my program, The organizations of pipeline are shown as below:
Case 1: appsrc ! videoconvert ! jpegenc ! appsink
Case 2: appsrc ! videoconvert ! nvjpegenc ! appsink
The CPU utilization and FPS for 60 pipelines:
Case 1 Case 2
CPU 98%-100% 45%-55%
FPS 29-30 14-15
Here’re my questions:
- For case 2, does it actually dispatch the process of encoding to GPU?
so the resource of CPU could relinquish to other processes.
- Why did I use the ‘nvjpegenc’ will cause the degraded FPS?
- How to determine the GPU utilization on TK1 for specified process?
(I’ve tried to use the ‘nvidia-smi’, it doesn’t seems to be supported for TK1)
- If my program use ‘omxh264dec’ and ‘omxvp8enc’ to transcode H.264 encoded .mp4 file
to another VP8 encoded .mp4 file, would it utilize the GPU resources?