Closed carlosgonz0 closed 2 years ago
For starters, lets check available decoders:
flatpak run --branch=master --command=sh com.github.rafostar.Clapper
gst-inspect-1.0 v4l2codecs
purism@pureos:~$ flatpak run --branch=master --command=sh com.github.rafostar.Clapper [📦 com.github.rafostar.Clapper ~]$ gst-inspect-1.0 v4l2codecs Plugin Details: Name v4l2codecs Description V4L2 CODEC Accelerators plugin Filename /app/lib/gstreamer-1.0/libgstv4l2codecs.so Version 1.21.0.1 License LGPL Source module gst-plugins-bad Binary package GStreamer Bad Plug-ins git Origin URL Unknown package origin
v4l2slh264dec: V4L2 Stateless H.264 Video Decoder v4l2slmpeg2dec: V4L2 Stateless Mpeg2 Video Decoder v4l2slvp8alphadecodebin: VP8 Alpha Decoder v4l2slvp8dec: V4L2 Stateless VP8 Video Decoder
4 features: +-- 4 elements
[📦 com.github.rafostar.Clapper ~]$
[📦 com.github.rafostar.Clapper ~]$ uname -a Linux pureos 5.17.0-1-librem5 #1 SMP PREEMPT Mon Mar 14 13:02:49 UTC 2022 aarch64 GNU/Linux [📦 com.github.rafostar.Clapper ~]$
@carlosgonz0
There is no v4l2slvp9dec
on your available decoders list.
Try removing old cache registry
bin file inside folder ~/.var/app/com.github.rafostar.Clapper/cache/gstreamer-1.0/
. While the file is still removed (first thing you do after removing it) run again:
flatpak run --branch=master --command=sh com.github.rafostar.Clapper
GST_DEBUG=v4l2*:7 gst-inspect-1.0 v4l2codecs
You need to run this while file is still removed, it will be rebuild and either rebuild might fix this on its own or maybe the GST_DEBUG=v4l2*:7
debug output will say why VP9 is not being registered.
purism@pureos:~$ cd ~/.var/app/com.github.rafostar.Clapper/cache/gstreamer-1.0/
purism@pureos:~/.var/app/com.github.rafostar.Clapper/cache/gstreamer-1.0$ ls
registry.aarch64.bin
purism@pureos:~/.var/app/com.github.rafostar.Clapper/cache/gstreamer-1.0$ ls
registry.aarch64.bin
purism@pureos:~/.var/app/com.github.rafostar.Clapper/cache/gstreamer-1.0$ sudo rm -r registry.aarch64.bin
[sudo] password for purism:
purism@pureos:~/.var/app/com.github.rafostar.Clapper/cache/gstreamer-1.0$
purism@pureos:~/.var/app/com.github.rafostar.Clapper/cache/gstreamer-1.0$ ls
purism@pureos:~/.var/app/com.github.rafostar.Clapper/cache/gstreamer-1.0$ flatpak run --branch=master --command=sh com.github.rafostar.Clapper
[📦 com.github.rafostar.Clapper gstreamer-1.0]$ GST_DEBUG=v4l2*:7 gst-inspect-1.0 v4l2codecs
0:00:00.041461202 4 0xaaaad9fb0e10 DEBUG v4l2codecs gstv4l2codecdevice.c:331:gst_v4l2_codec_find_devices: Analysing media device '/dev/media0'
0:00:00.041642042 4 0xaaaad9fb0e10 DEBUG v4l2codecs gstv4l2codecdevice.c:331:gst_v4l2_codec_find_devices: Analysing media device '/dev/media1'
0:00:00.041747042 4 0xaaaad9fb0e10 DEBUG v4l2codecs gstv4l2codecdevice.c:331:gst_v4l2_codec_find_devices: Analysing media device '/dev/media2'
0:00:00.041784362 4 0xaaaad9fb0e10 DEBUG v4l2codecs gstv4l2codecdevice.c:347:gst_v4l2_codec_find_devices: Found CODEC entities
0:00:00.041805242 4 0xaaaad9fb0e10 DEBUG v4l2codecs gstv4l2codecdevice.c:357:gst_v4l2_codec_find_devices: Analysing entity nxp,imx8mq-vpu-dec-proc
0:00:00.041823842 4 0xaaaad9fb0e10 DEBUG v4l2codecs gstv4l2codecdevice.c:362:gst_v4l2_codec_find_devices: Found source and sink pads
0:00:00.041841962 4 0xaaaad9fb0e10 DEBUG v4l2codecs gstv4l2codecdevice.c:370:gst_v4l2_codec_find_devices: Found source and sink V4L IO entities
0:00:00.042082322 4 0xaaaad9fb0e10 INFO v4l2codecs gstv4l2codecdevice.c:388:gst_v4l2_codec_find_devices: Found decoder device nxp,imx8mq-vpu-dec-proc
0:00:00.042532562 4 0xaaaad9fb0e10 DEBUG v4l2codecs-decoder gstv4l2decoder.c:308:gst_v4l2_decoder_enum_sink_fmt:
v4l2slh264dec: V4L2 Stateless H.264 Video Decoder v4l2slmpeg2dec: V4L2 Stateless Mpeg2 Video Decoder v4l2slvp8alphadecodebin: VP8 Alpha Decoder v4l2slvp8dec: V4L2 Stateless VP8 Video Decoder
4 features: +-- 4 elements
[📦 com.github.rafostar.Clapper gstreamer-1.0]$
It does not even try to register VP9. You sure your HW can do VP9? If yes, please ask GStreamer devs about this, as there is nothing wrong with Clapper here. Its just GStreamer does not register v4l2slvp9dec
element on your device.
Maybe Purism need to enable something on the kernel? as the v4l2slh264dec already work on L5 and Clapper.
Clapper Flatpak Nightly includes latest gnome-nightly runtime and builds latest GStreamer from git. If GStreamer does not find VP9 acceleration support on your device, then there is nothing I can do about this here.
as the v4l2slh264dec already work on L5 and Clapper
This is not about Clapper not working with VP9. Its about GStreamer not offering VP9 HW decoder on L5 for some reason. That is why this cannot be fixed here.
Yes i fully understand that this issues it not for Clapper but for gstreamer. I thankfully with you for all the help that you did. I going troubleshooting with Gstreamer and hantro g2 linux. Thank you @Rafostar
@Rafostar do you have a link to donate you?
You can find sponsor/donation links on Clapper GitHub main page. All donations and contributions are appreciated.
do you have a link to donate you?
If you want to help with donation you can either use https://liberapay.com/Clapper or paypal http://paypal.me/Rafostar
purism@pureos:~$ uname -ra Linux pureos 5.17.0-1-librem5 #1 SMP PREEMPT Tue Apr 12 13:08:15 UTC 2022 aarch64 GNU/Linux purism@pureos:~$ lsmod | grep -i hantro hantro_vpu 135168 0 v4l2_vp9 24576 1 hantro_vpu v4l2_h264 16384 1 hantro_vpu v4l2_mem2mem 40960 1 hantro_vpu videobuf2_vmalloc 20480 1 hantro_vpu
do you have a link to donate you?
If you want to help with donation you can either use https://liberapay.com/Clapper or paypal http://paypal.me/Rafostar
Done: 9EG257853V9*****8
@Rafostar so this bug related to Gstreamer seems it is fixed on Gstreamer 1.20.1 so can you ship this Gstreamer version to test it?
Done
Thanks for contributing to the project. Appreciated.
so this bug related to Gstreamer seems it is fixed on Gstreamer 1.20.1 so can you ship this Gstreamer version to test it?
@carlosgonz0 I am including 1.20.1 in Flathub version since recently. Please try and let me know if issue is still there.
Same it not working. : /
Plugin Details: Name v4l2codecs Description V4L2 CODEC Accelerators plugin Filename /app/lib/gstreamer-1.0/libgstv4l2codecs.so Version 1.20.1 License LGPL Source module gst-plugins-bad Source release date 2022-03-14 Binary package GStreamer Bad Plug-ins source release Origin URL Unknown package origin
v4l2slh264dec: V4L2 Stateless H.264 Video Decoder v4l2slmpeg2dec: V4L2 Stateless Mpeg2 Video Decoder v4l2slvp8alphadecodebin: VP8 Alpha Decoder v4l2slvp8dec: V4L2 Stateless VP8 Video Decoder
4 features: +-- 4 elements
[📦 com.github.rafostar.Clapper ~]$
Seems it is bug for hantro to Librem 5, so it not Gstreamer. I will testing clapper and hantro for pinephone rockchip.
Yes Yes Yes Yes Nice Nice it work now. Big thanks too to @Rafostar
purism@pureos:~$ flatpak run --command=sh com.github.rafostar.Clapper [📦 com.github.rafostar.Clapper ~]$ GST_DEBUG=v4l2*:7 gst-inspect-1.0 v4l2codecs Plugin Details: Name v4l2codecs Description V4L2 CODEC Accelerators plugin Filename /app/lib/gstreamer-1.0/libgstv4l2codecs.so Version 1.20.1 License LGPL Source module gst-plugins-bad Source release date 2022-03-14 Binary package GStreamer Bad Plug-ins source release Origin URL Unknown package origin
v4l2slh264dec: V4L2 Stateless H.264 Video Decoder v4l2slmpeg2dec: V4L2 Stateless Mpeg2 Video Decoder v4l2slvp8alphadecodebin: VP8 Alpha Decoder v4l2slvp8dec: V4L2 Stateless VP8 Video Decoder v4l2slvp9alphadecodebin: VP9 Alpha Decoder v4l2slvp9dec: V4L2 Stateless VP9 Video Decoder
6 features: +-- 6 elements
[📦 com.github.rafostar.Clapper ~]$
On gstreamer 1.21 and Linux 5.17 Clapper need to decoding vp9 by using v4l2 codecs, but it using vp9dec instead. Tried with Clapper Flatpak Nightly.