Environment:
jetson nano 2GB, nvidia-jetpack: 4.6-b197, GStreamer: 1.14.5
Goal:
get frames for further processing
Problem description:
I’ve created a pipeline in test.c:
filesrc → matroskademux → h264parse →
avdec_h264/nvv4l2decoder → videoconvert → tee
tee → fakesink
tee → appsink
if avdec_h264 is used, I could get every frame like this(seems ok):
frame size=3110400, data=0x3030, 0x3030, 0x3030, 0x3130, 0x3131, 0x3131, 0x3231, 0x3132
but when I use nvv4l2decoder, I got very small frame size:
frame size= 1008, data=0x03F0, 0x0003, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
is it because the decoded frames were in the gpu memory when nvv4l2decoder is used so that I cannot access it ?
is it poosible to get frame data with nvv4l2decoer?
Attachments:
test.c (9.3 KB)
test.mk (1.6 KB)
test file: https://jell.yfish.us/media/jellyfish-5-mbps-hd-h264.mkv
BTW, I’ve test the performance:
- nvv4l2decoder: 270-280 fps
- avdec_h264: 70-86 fps
- omxh264dec: 30-32 fps