imxvpuenc_h264 doesn't output any data

Showing results for 
Search instead for 
Did you mean: 

imxvpuenc_h264 doesn't output any data

Contributor III

Hello. I'm facing the trouble, I'm using imx6 Solo and I need to encode videostream by imxvpuenc_h264, but it doesn't output any data.

for example here is my pipeline:

# GST_DEBUG=WARNING gst-launch-1.0 -v multifilesrc location=/dev/fb0  \
  ! videoparse format=11 width=1024 height=768                    \
 ! imxipuvideotransform                                          \
  ! imxvpuenc_h264                                                \
 ! tee name=t                                                    \
 t. ! queue ! splitmuxsink muxer=avimux location=video%05d.avi max-size-bytes=1000000

here is part of output:


colorimetry=(string)bt709, chroma-site=(string)mpeg2
Setting pipeline to PLAYING ...
New clock: GstSystemClock
/GstPipeline:pipeline0/GstSplitMuxSink:splitmuxsink0/GstQueue:queue1: max-size-buffers = 6
/GstPipeline:pipeline0/GstSplitMuxSink:splitmuxsink0/GstQueue:queue1: max-size-buffers = 7
/GstPipeline:pipeline0/GstSplitMuxSink:splitmuxsink0/GstQueue:queue1: max-size-buffers = 8
/GstPipeline:pipeline0/GstSplitMuxSink:splitmuxsink0/GstQueue:queue1: max-size-buffers = 9
/GstPipeline:pipeline0/GstSplitMuxSink:splitmuxsink0/GstQueue:queue1: max-size-buffers = 10


/GstPipeline:pipeline0/GstSplitMuxSink:splitmuxsink0/GstQueue:queue1: max-size-buffers = 500


/GstPipeline:pipeline0/GstSplitMuxSink:splitmuxsink0/GstQueue:queue1: max-size-buffers = NNNNN


and result file size = 0 bytes:

# ls -la
-rw-r--r--  1 root root    0 Feb  7 15:54 video00000.avi


in that time if try to remove imxvpuenc_h264 from the pipeline, it works perfect

here is my gst-inspect:

#gst-inspect-1.0 | grep imx
imxipu:  imxipuvideotransform: Freescale IPU video transform
imxipu:  imxipuvideosink: Freescale IPU video sink
imxipu:  imxipucompositor: Freescale IPU video compositor
imxv4l2video:  imxv4l2videosrc: V4L2 CSI Video Source
imxv4l2video:  imxv4l2videosink: V4L2 CSI Video Sink
imxg2d:  imxg2dvideosink: Freescale G2D video sink
imxg2d:  imxg2dvideotransform: Freescale G2D video transform
imxg2d:  imxg2dcompositor: Freescale G2D video compositor
imxg2d:  imxg2dtextoverlay: Text overlay
imxg2d:  imxg2dtimeoverlay: Time overlay
imxg2d:  imxg2dclockoverlay: Clock overlay
imxg2d:  imxg2dtextrender: Text renderer
imxeglvivsink:  imxeglvivsink: Freescale EGL video sink
imxvpu:  imxvpudec: Freescale VPU video decoder
imxvpu:  imxvpuenc_h263: Freescale VPU h.263 video encoder
imxvpu:  imxvpuenc_h264: Freescale VPU h.264 video encoder
imxvpu:  imxvpuenc_mpeg4: Freescale VPU MPEG-4 video encoder
imxvpu:  imxvpuenc_mjpeg: Freescale VPU motion JPEG video encoder
imxpxp:  imxpxpvideosink: Freescale PxP video sink
imxpxp:  imxpxpvideotransform: Freescale PxP video transform

Whats wrong?


0 Kudos
2 Replies

NXP TechSupport
NXP TechSupport

Hi Eugene

imxvpuenc_h264 is part of gstreamer-imx plugins, issue may be posted

on Issues · Freescale/gstreamer-imx · GitHub 

Alternatively one can try imx-gst1.0-plugins described in Linux Guide included in

Linux 4.14.98_2.3.0 Documentation

Best regards
Note: If this post answers your question, please click the Correct Answer button. Thank you!

0 Kudos

Contributor III

Thanks for hint

0 Kudos