Where do I get v4l2h264dec and other gstreamer plugins for hardware-accelerated video decoding?

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

Where do I get v4l2h264dec and other gstreamer plugins for hardware-accelerated video decoding?

跳至解决方案
3,663 次查看
VincasD
Contributor III

Hi,

I got some Chinese tablet  that runs Debian, and it has NXP i.MX 8M Mini 4xCortex-A53 1.6Ghz processor.

uname -a output:

Linux imx8 4.14.98-2.3.0+ #1 SMP PREEMPT Mon Nov 8 02:36:19 UTC 2021 aarch64 GNU/Linux

 https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/i-MX-8-GStreamer-User-Guide/ta-p/1098942 guide states that "somewhere" where are various gstreamer plugins for encoding/decoding video on IMX processors, but not really sure where do I get them from?

Will I be able to build these plugins for (within?) Debian system?

Thanks!

0 项奖励
1 解答
3,645 次查看
VincasD
Contributor III

It seems I have to use https://github.com/Freescale/gstreamer-imx , with dependencies https://github.com/Freescale/libimxvpuapi and https://github.com/Freescale/libimxdmabuffer . I had to use board toolchain provided by device developers so that imx kernel headers where available, together with some libraries like libg2d, etc.

After building it all, I had to use LD_LIBRARY_PATH, GST_PLUGINS env. variables to help application to find all required libraries and newly built gstreamer plugins, and it works by specifying custom GStreamer pipeline:

rtspsrc location=rtsp://user:pass@host:554/cam/realmonitor?channel=1&subtype=0&unicast=true protocols=udp latency=100 ! rtph264depay ! h264parse ! imxvpudec_h264 ! qtvideosink

Decoding performance is much better, though system still lacks OpenGL HW acceleration, so application is still laggy, but that's other issue...

在原帖中查看解决方案

0 项奖励
1 回复
3,646 次查看
VincasD
Contributor III

It seems I have to use https://github.com/Freescale/gstreamer-imx , with dependencies https://github.com/Freescale/libimxvpuapi and https://github.com/Freescale/libimxdmabuffer . I had to use board toolchain provided by device developers so that imx kernel headers where available, together with some libraries like libg2d, etc.

After building it all, I had to use LD_LIBRARY_PATH, GST_PLUGINS env. variables to help application to find all required libraries and newly built gstreamer plugins, and it works by specifying custom GStreamer pipeline:

rtspsrc location=rtsp://user:pass@host:554/cam/realmonitor?channel=1&subtype=0&unicast=true protocols=udp latency=100 ! rtph264depay ! h264parse ! imxvpudec_h264 ! qtvideosink

Decoding performance is much better, though system still lacks OpenGL HW acceleration, so application is still laggy, but that's other issue...

0 项奖励