Hi experts,
Have a gstreamer application with the following pipe description:
gst-app --seconds 10 --pipeline "v4l2src name=vsrc chain-ipipe=true ! capsfilter caps=\"video/x-raw, format=(string)NV12, width=1920, height=1080, framerate=25/1\" ! ce_h264enc name=encoder target-bitrate=2000000 interlace=true num-out-buffers=10 interlace-mode=1 bytestream=true idrinterval=30 ! queue ! udpsink port=3000 host=10.251.101.11 sync=false enable-last-sample=false"
The gst-app creates the pipe and changes the bitrate every ten seconds (e.g 6000000, 500000, 6000000, and so on). Here is some output:
Bitrate to 6000000 Bitrate to 500000 Bitrate to 6000000 Bitrate to 500000 Bitrate to 6000000 Bitrate to 500000 Bitrate to 6000000 Bitrate to 500000 Bitrate to 6000000Segmentation fault
Now if we use the progressive scan instead of interlaced:
gst-app --seconds 10 --pipeline "v4l2src name=vsrc chain-ipipe=true ! capsfilter caps=\"video/x-raw, format=(string)NV12, width=1920, height=1080, framerate=25/1\" ! ce_h264enc name=encoder target-bitrate=2000000 num-out-buffers=10 bytestream=true idrinterval=30 ! queue ! udpsink port=3000 host=10.251.101.11 sync=false enable-last-sample=false"
Bitrate to 6000000 Bitrate to 500000 Bitrate to 6000000 Bitrate to 500000 Bitrate to 6000000 Bitrate to 500000 Bitrate to 6000000 Bitrate to 500000 Bitrate to 6000000 Bitrate to 500000 Bitrate to 6000000
... (more than 30 minutes)
The problem disappears. Questions:
Am I missing something in the pipeline or in the h264encoder parameters, for this to work properly ?
Are there any restrictions when using interlaced scan and changing the target bitrate?
Here is my setup,
dm368
dvsdk-4_02_00_06/dvsdk/codecs-dm365_4_02_00_00/ (also tried dm365_h264enc_02_30_00_06)
Thanks