imx8qxp H.265/HEVC

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

imx8qxp H.265/HEVC

跳至解决方案
932 次查看
eduardo3
Contributor III

I am trying to stream from an IP Camera using H.265, with gstreamer.

I am using a imx8qxp from Variscite.

https://variwiki.com/index.php?title=VAR-SOM-MX8X

I am also using Variscite yocto releases with kernel 5.10.72 or 5.15.60.

These are the gstreamer pipelines I am trying:

gst-launch-1.0 \
rtspsrc location=$URL latency=0 \
! rtph265depay \
! h265parse \
! v4l2h265dec \
! imxvideoconvert_g2d  \
! kmssink display-width=800 display-height=480

or

gst-launch-1.0 \
rtspsrc location=$URL latency=0 \
! decodebin \
! imxvideoconvert_g2d  \
! kmssink display-width=800 display-height=480

A similar pipeline works for H.264 but not H.265. By 'work' I mean the performance is acceptable. Currently H.265 pipeline says the 'computer is too slow'.

The documentation says imx8qxp supports H.265 decoding. So I am not sure what is missing here.

The camera is 640x480, H.265, 20FPS, Main Profile, I Frame=50, Max bitrate=2048Kbps.

 

For reference:

root@imx8qxp-var-som:~# gst-inspect-1.0 | grep imx
imx2d: imxg2dcompositor: i.MX G2D video transform
imx2d: imxg2dvideotransform: i.MX G2D video transform
imxaudio: imxuniaudiodec: NXP i.MX uniaudio decoder
imxcompositor: imxcompositor_g2d: IMX g2d Video Compositor
imxvideoconvert: imxvideoconvert_g2d: IMX g2d Video Converter
root@imx8qxp-var-som:~# gst-inspect-1.0 | grep vpu
root@imx8qxp-var-som:~# gst-inspect-1.0 | grep v4l2
video4linux2: v4l2avsdec: V4L2 AVS Decoder
video4linux2: v4l2convert: V4L2 Video Converter
video4linux2: v4l2deviceprovider (GstDeviceProviderFactory)
video4linux2: v4l2h263dec: V4L2 H263 Decoder
video4linux2: v4l2h264dec: V4L2 H264 Decoder
video4linux2: v4l2h264enc: V4L2 H.264 Encoder
video4linux2: v4l2h265dec: V4L2 H265 Decoder
video4linux2: v4l2jpegdec: V4L2 JPEG Decoder
video4linux2: v4l2jpegenc: V4L2 JPEG Encoder
video4linux2: v4l2mpeg2dec: V4L2 MPEG2 Decoder
video4linux2: v4l2mpeg4dec: V4L2 MPEG4 Decoder
video4linux2: v4l2radio: Radio (video4linux2) Tuner
video4linux2: v4l2sink: Video (video4linux2) Sink
video4linux2: v4l2spkdec: V4L2 SPK Decoder
video4linux2: v4l2src: Video (video4linux2) Source
video4linux2: v4l2vc1dec: V4L2 VC1 Decoder
video4linux2: v4l2video1jpegdec: V4L2 JPEG Decoder
video4linux2: v4l2vp6dec: V4L2 VP6 Decoder
video4linux2: v4l2vp8dec: V4L2 VP8 Decoder
video4linux2: v4l2xviddec: V4L2 XVID Decoder

标签 (3)
标记 (2)
0 项奖励
1 解答
835 次查看
brian14
NXP TechSupport
NXP TechSupport

Hi @eduardo3,

I have reviewed your part number MIMX8QX6AVLFZAC and this SoC has support for H265.
However, your high latency can be related to the memory and the Variscite's BSP.

Please contact Variscite to review this issue with the H265 decode and GStreamer plugins.

I hope this information will be helpful.

Have a great day.

Best regards, Brian.

在原帖中查看解决方案

0 项奖励
3 回复数
913 次查看
brian14
NXP TechSupport
NXP TechSupport

Hi @eduardo3,

I reviewed your provided gstreamer pipelines, and it seems are right.
Could you please provide your iMX SoC part number to make sure this version supports H265 decoding?

I look forward to your reply to review this issue.

Have a great day.

Best regards,
Brian.

0 项奖励
865 次查看
eduardo3
Contributor III

On the SoC it reads:

MIMX8QX6AVLFZAC (I guess you need this one)

Other info in there:

SBAJ2208

ON99Z

KOREA SHAJSBE

 

I also got a slight better result if I allow some latency in the rtspsrc component, something like 200ms. Lower than that, it has not worked for me.

 

0 项奖励
836 次查看
brian14
NXP TechSupport
NXP TechSupport

Hi @eduardo3,

I have reviewed your part number MIMX8QX6AVLFZAC and this SoC has support for H265.
However, your high latency can be related to the memory and the Variscite's BSP.

Please contact Variscite to review this issue with the H265 decode and GStreamer plugins.

I hope this information will be helpful.

Have a great day.

Best regards, Brian.

0 项奖励