I am using Yocto (Thud) to build for coral-dev board with iMX8 Quad chip.
I see that the imx-gst-plugin recipe is included and the version/tag used is "MM_04.04.02_1808_L4.9.123_MX8MM_GA"
There seem to be no issue with the build, i can see the .so generated properly.
ls -al /usr/lib/gstreamer-1.0/libgstimx*
-rwxr-xr-x 1 root root 55288 Dec 13 10:49 /usr/lib/gstreamer-1.0/libgstimxcompositor.so
-rwxr-xr-x 1 root root 51312 Dec 13 10:49 /usr/lib/gstreamer-1.0/libgstimxvideoconvert.so
On inspecting the plugins, it get the below result:
# gst-inspect-1.0 imxcompositor
Plugin Details:
Name imxcompositor
Description IMX Video Composition Plugins
Filename /usr/lib/gstreamer-1.0/libgstimxcompositor.so
Version 4.4.2
License LGPL
Source module imx-gst1.0-plugin
Binary package Freescle Gstreamer Multimedia Plugins
Origin URL http://www.freescale.com
0 features:
# gst-inspect-1.0 imxvideoconvert
Plugin Details:
Name imxvideoconvert
Description IMX Video Convert Plugins
Filename /usr/lib/gstreamer-1.0/libgstimxvideoconvert.so
Version 4.4.2
License LGPL
Source module imx-gst1.0-plugin
Binary package Freescle Gstreamer Multimedia Plugins
Origin URL http://www.freescale.com
0 features:
Can somebody help on
- why it returns 0 features?
- why only two plugins (compositor, videoconvert)?
Am i missing anything, let me know if any more information is required.
Thanks,
Prakash
Hi Prakash
please try latest L4.19.35 from link i.MX Software and Development Tools | NXP
available plugins are listed in Table 15. i.MX GStreamer 1.0 plugins
Release Notes included in Linux 4.19.35_1.1.0 Documentation
Note, there is no such part as "iMX8 Quad", please recheck what exact processor
used in the case.
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Sorry I forget to gived you exact soc : IMX8M Quad (MIMX8MQ6DVAJZAB)
Hi Cedric
i.MX8MQ Video Composition Example :
gst-launch-1.0 -v imxcompositor_g2d name=comp \
sink_0::xpos=0 sink_0::ypos=0 sink_0::width=640 sink_0::height=480
sink_1::xpos=0 sink_1::ypos=480 sink_1::width=640 sink_1::height=480 ! \
waylandsink \
videotestsrc ! comp.sink_0 \
videotestsrc ! comp.sink_1
List of plugins can be found in Table 15. i.MX GStreamer 1.0 plugins
attached Release Notes.
Best regards
igor
Hi
Very fast answer. Thanks.
I understand, but like I said in my previous post imxcompositor, or overlaysink is not present. Same thing for imxcompositor_g2d, imxcompositor_ipu, imxcompositor_pxp, they are not available
root@imx8mqevk:~# gst-inspect-1.0 --no-colors imxcompositor_g2d | more
No such element or plugin 'imxcompositor_g2d'
And I dint't understand why .... Have you any idea of root cause? The start of an idea is welcome :smileyhappy:
SOC IMX8M Quad (MIMX8MQ6DVAJZAB) support this plugins? Why it is not available in imx-image-multimedia warrior?
Find attach output :
bitbake -e imx-gst1.0-plugin
bitbake -e imx-image-multimedia
Many thanks.
Hi Cedric
> Why it is not available in imx-image-multimedia warrior?
what do you mean ?
Please read Linux 4.19.35_1.1.0 Documentation
Also please with Demo Images from
i.MX Software and Development Tools | NXP
Best regards
igor
> Why it is not available in imx-image-multimedia warrior?what do you mean ?
gst-inspect-1.0 --no-colors imxcompositor_g2d return : No such element or plugin 'imxcompositor_g2d'
I will try demo image so
Hi
First thanks again for your time and yours idea.
I read documentation, I try official bsp describe in Linux 4.19.35_1.1.0 Documentation and gst-inspect-1.0 --no-colors imxcompositor_g2d return to me : No such element or plugin 'imxcompositor_g2d' in all case.
I read recipe and I saw compositor is disable by wayland feature. I supposed because when wayland is used we should use wayland/weston compositor.
I try to remove wayland but found in documentation :
fsl-imx-x11 - X11 graphics are not supported on i.MX 8.
fsl-imx-fb - Frame Buffer graphics - no X11 or Wayland. Frame Buffer is not supported on i.MX 8
So I must to used wayland (if I want to be quick), so I can not used imxcompositor_g2d
But I read this post imx8mq composed video on dual display and found plugin glvideomixer
So for doing what is describe in documentation : i.MX_Linux_User's_Guide 7.3.1.6.3Multiple videos overlay I found this solution :
export file1=/tmp/a/video/a.mp4
export file2=/tmp/a/video/15.Papaoutai.avi
export file3=/tmp/a/video/c.mp4
export file4=/tmp/a/video/d.mp4
export file5=/tmp/a/video/the_wolf_of_wall_street_official_trailer.mp4
export x=400
export y=200
# export output=glimagesink
# export output=waylandsink
export output=autovideosink
gst-launch-1.0 glvideomixer name=m sink_1::xpos=0 sink_1::ypos=0 sink_2::xpos=$x sink_2::ypos=0 sink_3::xpos=0 sink_3::ypos=$y sink_4::xpos=$x sink_4::ypos=$y sink_5::xpos=$(( $x / 2 )) sink_5::ypos=$(( $y / 2 )) ! $output filesrc location=$file1 ! decodebin ! videoscale ! video/x-raw,width=$x,height=$y ! m.sink_1 filesrc location=$file2 ! decodebin ! videoscale ! video/x-raw,width=$x,height=$y ! m.sink_2 filesrc location=$file3 ! decodebin ! videoscale ! video/x-raw,width=$x,height=$y ! m.sink_3 filesrc location=$file4 ! decodebin ! videoscale ! video/x-raw,width=$x,height=$y ! m.sink_4 filesrc location=$file5 ! decodebin ! videoscale ! video/x-raw,width=$x,height=$y ! m.sink_5
And it is working fine.
Thanks again for your help :smileyhappy:
Best regards,
Cedric T
glvideomixer can be replace by compositor so.
Hi igorpadykov
First, thanks for you help and your time :smileyhappy:
I am working with Prakash and he have not enough time for trying to fix this issue, so I will try.
I did what you asked, I build L4.19.35.
And same issue (but it is perhaps not an issue ...) plugin imxcompositor return 0 features, and it is not in plugin list Table 15. i.MX GStreamer 1.0 plugins, but imxcompositor_g2d, imxcompositor_ipu, imxcompositor_pxp are not available.
In documentation they use version is 1.14.4 but version 1.16 is builded in bsp
We would like to compose/merge multi video source to one video. Exactly like is presented in i.MX_Linux_User's_Guide 7.3.1.6.3Multiple videos overlay
But imxcompositor, or overlaysink is not present. Same thing for imxcompositor_g2d, imxcompositor_ipu, imxcompositor_pxp.
Can you tell us how to do ? Which plugin should be used?
Thanks for your help
Best Regards,
Cedric T
More info :
I try some basic command which is working :
gst-launch-1.0 playbin uri=file:///tmp/a/video/a.mp4
gst-launch-1.0 playbin uri=file:///tmp/a/video/a.mp4 videosink="waylandsink"
gst-launch-1.0 filesrc location=/tmp/a/video/c.mp4 ! decodebin ! glimagesink render-rectangle="<0,0,500,700>"
If I try to launch multime same command with different video, with wayland I can not set render-rectangle position
If I shutdown waylandsink and glimagesink, The video is horrible when I am playing more than one.
Some details :
Plugin Details:
Name imxcompositor
Description IMX Video Composition Plugins
Filename /usr/lib/gstreamer-1.0/libgstimxcompositor.so
Version 4.5.1
License LGPL
Source module imx-gst1.0-plugin
Binary package Freescle Gstreamer Multimedia Plugins
Origin URL http://www.freescale.com0 features:
Build config and command :
cth@cth:~/workspace/iot/nxp/imx-linux-warrior/build$ cat conf/local.conf
MACHINE ??= 'imx8mqevk'
DISTRO ?= 'fsl-imx-wayland'
PACKAGE_CLASSES ?= 'package_rpm'
EXTRA_IMAGE_FEATURES ?= "debug-tweaks"
USER_CLASSES ?= "buildstats image-mklibs image-prelink"
PATCHRESOLVE = "noop"
BB_DISKMON_DIRS ??= "\
STOPTASKS,${TMPDIR},1G,100K \
STOPTASKS,${DL_DIR},1G,100K \
STOPTASKS,${SSTATE_DIR},1G,100K \
STOPTASKS,/tmp,100M,100K \
ABORT,${TMPDIR},100M,1K \
ABORT,${DL_DIR},100M,1K \
ABORT,${SSTATE_DIR},100M,1K \
ABORT,/tmp,10M,1K"
PACKAGECONFIG_append_pn-qemu-system-native = " sdl"
PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl"
CONF_VERSION = "1"DL_DIR ?= "${BSPDIR}/downloads/"
ACCEPT_FSL_EULA = "1"IMAGE_FSTYPES = "wic.bmap wic ext4"
#WKS_FILE := "ewv-100.wks.in"
#SOC_DEFAULT_WKS_FILE_mx8 := "ewv-100.wks.in"
IMAGE_BOOT_FILES="Image fsl-imx8mq-evk.dtb"
CORE_IMAGE_EXTRA_INSTALL_append = " imx-test"
CORE_IMAGE_EXTRA_INSTALL_append = " ewv-100-boot-script"
IMAGE_BOOT_FILES="Image fsl-imx8mq-evk.dtb boot.scr"
Build command : bitbake imx-image-multimedia
On the board :
root@imx8mqevk:~# uname -a
Linux imx8mqevk 4.19.35-1.1.0+g0f9917c56d59 #1 SMP PREEMPT Tue Mar 31 05:33:10 UTC 2020 aarch64 aarch64 aarch64 GNU/Linux
root@imx8mqevk:~# lsmod
Module Size Used by
8021q 36864 0
garp 16384 1 8021q
stp 16384 1 garp
mrp 20480 1 8021q
crc32_ce 16384 8
crct10dif_ce 16384 0
galcore 491520 28
Hi
I realized my video composition with HW vpu and gpu.
I would like to share it for helping some body
How to use video compositor with imx8 and gstreamer :
export w=1280
export h=740
export x=$(( $w / 4 ))
export y=$(( $h / 4 ))
export output=waylandsink
gst-launch-1.0 glvideomixer name=m sink_1::xpos=0 sink_1::ypos=0 sink_2::xpos=$x sink_2::ypos=0 sink_3::xpos=0 sink_3::ypos=$y sink_4::xpos=$x sink_4::ypos=$y ! $output \
rtspsrc user-id=admin user-pw=toto location="$uri1" ! rtph264depay ! vpudec ! glupload ! glcolorscale ! glcolorconvert ! gldownload ! video/x-raw, width=$x, height=$y ! m.sink_1 \
rtspsrc user-id=admin user-pw=toto location="$uri2" ! rtph264depay ! vpudec ! glupload ! glcolorscale ! glcolorconvert ! gldownload ! video/x-raw, width=$x, height=$y ! m.sink_2 \
rtspsrc user-id=admin user-pw=toto location="$uri3" ! rtph264depay ! vpudec ! glupload ! glcolorscale ! glcolorconvert ! gldownload ! video/x-raw, width=$x, height=$y ! m.sink_3 \
rtspsrc user-id=admin user-pw=toto location="$uri4" ! rtph264depay ! vpudec ! glupload ! glcolorscale ! glcolorconvert ! gldownload ! video/x-raw, width=$x, height=$y ! m.sink_4
Perhaps you can help me to improved it
Any comments will be well come.
++