Access unit delimiter(AUD) value set

I need push h264 stream to UDP port, the receiver requires the H264 has AUD with “0x00 0x00 0x00 0x01 0x09 0x10”. “0x00 0x00 0x00 0x01” is start code, 0x09 is AUD NAL type, 0x10 is primary_pic_type : 0, this is I only.

I ran below command to push stream to a H264 file and check the AUD. The AUD is always 0x50 which is primary_pic_type : 2, means (I, P, B). How can I push H264 with AUD primary_pic_type = 0?

gst-launch-1.0 v4l2src device="/dev/video0" ! “video/x-raw, width=1280,height=720” ! nvvidconv ! ‘video/x-raw(memory:NVMM), format=(string)I420’ ! nvv4l2h264enc insert-sps-pps=1 insert-aud=1 insert-vui=1 idrinterval=15 disable-cabac=1 ! ‘video/x-h264, stream-format=(string)byte-stream’ ! h264parse ! filesink location=test7.h264

By default the h264 stream will have I and P frames, and there is property to enable B frames. For your use-case, the stream has to be only I frames?

The stream is baselin profile, it has I and P frames, no B frames. So primary_pic_type should be 1, this is I and P. Why is primary_pic_type 2?

I am checking why the receiver vendor requires I frame only.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.