cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
jeremy@easii-ic
Contributor
Contributor
1,352 Views
Registered: ‎12-21-2018

VCU H264/H265 gop-mode

Jump to solution

Hi guys,

The following Gstreamer pipeline using "Low-Delay P" GOP mode is working fine. However, If i set it to "Basic" or "Low delay B" (which are supported by the VCU), I get an OpenMax error. Any Idea ?

rtpbin name=rtpbin v4l2src io-mode=4 device=/dev/video1 ! videoconvert ! video/x-raw, format=NV12, width=1920, height=1080, framerate=30/1 !  omxh264enc num-slices=4 prefetch-buffer=true gop-length=30 periodicity-idr=120 b-frames=0 control-rate=2 target-bitrate=10000 cpb-size=200 initial-delay=100 gop-mode=3 gdr-mode=vertical filler-data=false min-qp=10 max-qp=51 ! h264parse ! rtph264pay config-interval=10 pt=96 ! rtpbin.send_rtp_sink_0 rtpbin.send_rtp_src_0 ! udpsink host=239.255.0.1 port=50000 auto-multicast=true async=false

--> OK !

gst-launch-1.0 rtpbin name=rtpbin v4l2src io-mode=4 device=/dev/video1 ! videoconvert ! video/x-raw, format=NV12, width=1920, height=1080, framerate=30/1 !  omxh264enc num-slices=4 prefetch-buffer=true gop-length=30 periodicity-idr=120 b-frames=0 control-rate=2 target-bitrate=10000 cpb-size=200 initial-delay=100 gop-mode=0 gdr-mode=vertical filler-data=false min-qp=10 max-qp=51 ! h264parse ! rtph264pay config-interval=10 pt=96 ! rtpbin.send_rtp_sink_0 rtpbin.send_rtp_src_0 ! udpsink host=239.255.0.1 port=50000 auto-multicast=true async=false

--> Failure :

Setting pipeline to PAUSED ...
ERROR: Pipeline doesn't want to pause.
ERROR: from element /GstPipeline:pipeline0/GstOMXH264Enc-omxh264enc:omxh264enc-omxh264enc0: Could not initialize supporting library.
Additional debug info:
../../../../git/gst-libs/gst/video/gstvideoencoder.c(1627): gst_video_encoder_change_state (): /GstPipeline:pipeline0/GstOMXH264Enc-omxh264enc:omxh264enc-omxh264enc0:
Failed to open encoder
Setting pipeline to NULL ...
Freeing pipeline ...

 

Tags (1)
0 Kudos
1 Solution

Accepted Solutions
jeremy@easii-ic
Contributor
Contributor
1,222 Views
Registered: ‎12-21-2018

Also would you add the following option to investigate route cause ?

gst-launch-1.0 --gst-debug-level=5 <....>

Thank you for the advice ! I've set the debug level to 5 as you recommended, and redirected the gstreamer output to a log file. The log is pretty clear :

0:00:00.450310084  2748   0x5597771400 ERROR            omxvideoenc gstomxvideoenc.c:778:set_zynqultrascaleplus_props:<omxh265enc-omxh265enc0> gdr-mode mode only can be set if gop-mode=low-delay-p

I've removed the gdr-mode property and now everything works. Thanks !

View solution in original post

4 Replies
watari
Teacher
Teacher
1,331 Views
Registered: ‎06-16-2013

Hi jeremy@easii-ic 

 

What version are you useing ? 2019.2 or 2019.1 or 2018.3 or other ?

Also would you add the following option to investigate route cause ?

 

gst-launch-1.0 --gst-debug-level=5 <....>

 

Best regards,

Best regards,

jeremy@easii-ic
Contributor
Contributor
1,328 Views
Registered: ‎12-21-2018

@watari wrote:

Hi jeremy@easii-ic 

 

What version do you use ? 2019.2 or 2019.1 or 2018.3 or other ?

 

Best regards,


2019.1 sir !

0 Kudos
watari
Teacher
Teacher
1,307 Views
Registered: ‎06-16-2013

Hi jeremy@easii-ic 

 

Would you add the following between omx264enc and h264parse ?

 

! video/x-h264, alignment=au

 

Best regards,

0 Kudos
jeremy@easii-ic
Contributor
Contributor
1,223 Views
Registered: ‎12-21-2018

Also would you add the following option to investigate route cause ?

gst-launch-1.0 --gst-debug-level=5 <....>

Thank you for the advice ! I've set the debug level to 5 as you recommended, and redirected the gstreamer output to a log file. The log is pretty clear :

0:00:00.450310084  2748   0x5597771400 ERROR            omxvideoenc gstomxvideoenc.c:778:set_zynqultrascaleplus_props:<omxh265enc-omxh265enc0> gdr-mode mode only can be set if gop-mode=low-delay-p

I've removed the gdr-mode property and now everything works. Thanks !

View solution in original post