Options look pretty much the same to me.
for Rockchip.
- install labva-v4l2-request
- LIBVA_DRIVER_NAME=v4l2_request
LIBVA_DRIVERS_PATH=/usr/lib/dri
LIBVA_V4L2_REQUEST_MEDIA_PATH=/dev/media0
LIBVA_V4L2_REQUEST_VIDEO_PATH=/dev/video19 - build jc’s ffmpeg & mpv vaapi enabled
- mpv --vo=gpu-next --hwdec-codecs=vaapi-copy
- no error, h265 a little dropped, libva-v4l2-request issue, too old.
edit,
source too old to rebuild,
FAILED: src/v4l2_request_drv_video.so.p/h265.c.o
Hi @Darksky,
Am looking for ffmpeg with v4l2-request support to work with Orange Pi 5-Plus (RK3588).
Does your rpi-ffmpeg 7.1 support v4l2-request? Is there a possibility to work on RK3588 (stateless, I think)?
The kernel-6.12.11-1 has hdmi-audio and have necessary vpu support. But unfortunately with ffmpeg-2:7.1-6 no vpu hardware acceleration on mpv-0.39.0-4.
lsmod | grep v4l2
v4l2_vp9 24576 1 hantro_vpu
v4l2_jpeg 16384 1 hantro_vpu
v4l2_h264 16384 2 hantro_vpu,rockchip_vdec2
v4l2_mem2mem 40960 2 hantro_vpu,rockchip_vdec2
videobuf2_v4l2 32768 3 hantro_vpu,rockchip_vdec2,v4l2_mem2mem
videodev 282624 4 videobuf2_v4l2,hantro_vpu,rockchip_vdec2,v4l2_mem2mem
videobuf2_common 77824 6 videobuf2_dma_contig,videobuf2_v4l2,hantro_vpu,rockchip_vdec2,v4l2_mem2mem,videobuf2_memops
mc 73728 6 videodev,videobuf2_v4l2,hantro_vpu,videobuf2_common,rockchip_vdec2,v4l2_mem2mem
I do not have that board so know nothing about it. Looks pretty restrictive.
If not mistaken this ffmpeg-rockchip only works with vendor’s kernel 5.10 or 6.1 example armbian-6.1.y-vendor-rk35xx, kernel-6.1.75-joshua-git, BredOS-6.1.75-rkr3 or similar kernels but not with mainline kernel.
Wonder there any pre-build ffmpeg with v4l2-request support avialable for archlinux aarch64?
From quick searching jellyfin-ffmpeg is supposed to support rk3588 but may only support jellyfin’s player. Also everything I saw is using the BSP kernel.
Have tried ffmpeg-mpp-git on this kernel-6.12.11-1 but as expected with not work. ffmpeg-mpp-git was for the rockchip vendor’s kernel.
Will try your rpi-ffmpeg-7.1. Question how to find out whether AUR ffmpeg-full or ffmpeg-full-git contain support for v4l2-request?
Look at the PKGBUILD. AUR is becoming more x86 only though.
Thanks. Found
--enable-libv4l2 \
Nothing “v4l2-request”, does this meas no v4l2-request support?
Have been using Manjaro-Opi5-Plus with kernel-6.1.75-joshua-git which work with ffmpeg-mpp-git and libv4l-rkmpp-git. With this chromium-mpp and mpv do have vpu hardware acceleration.
Is trying out a mainline kernel-6.12.11-1 with hdmi-audio and supposedly with v4l2-request support for Opi5-Plus (RK3588) but unfortunately the alarm-repo ffmpeg-7.1 does not seems to support v4l2-request as such no vpu hardware acceleration on mpv.
Not sure whether I remember correctly that rpi-ffmpeg-7.1 has v4l2-request.
jc’s ffmpeg do have --enable-rkmpp option.
Mainline kernel currently does not have rockchip rkmpp support on rockchip vendor’s kernel has rkmpp support for now.
Looking for a pre-build ffmpeg with v4l2-request support to test in on a mainline kernel-6.12.11 which has v4l2-request on mpv-0.39.0-4 from archlinuxarm repo (or Manjaro repo).
Edit:
Hi @Darksky, tried to install your rpi-ffmpeg on MiniArch-EOS but it would not install due to invalid (PGP signature) eventhough has already set pacman.conf to :
# By default, pacman accepts packages signed by keys that its local keyring
# trusts (see pacman-key and its man page), as well as unsigned packages.
#SigLevel = Required DatabaseOptional
#LocalFileSigLevel = Optional
#RemoteFileSigLevel = Required
[alarm@MiniArch-opi5plus ~]$ sudo pacman -U /home/alarm/Downloads/rpi-ffmpeg-7.1-3-aarch64.pkg.tar.zst
[sudo] password for alarm:
loading packages...
error: '/home/alarm/Downloads/rpi-ffmpeg-7.1-3-aarch64.pkg.tar.zst': invalid or corrupted package (PGP signature)
[alarm@MiniArch-opi5plus ~]$
How do I install the Manjaro keyring on MiniArch-EOS so that I can install packages?
sudo pacman-key --recv-keys <Manjaro-Repo Key>
sudo pacman-key --lsign <Manjaro-Repo Key>
maybe try this one time then change it back. rpi-ffmpeg has v4l-requests but does not have rkmpp enabled. So may be a waste of time.
https://www.archlinuxuser.com/2012/06/ignore-signature-check-when-doing.html
Just my 2 cents…
If it was me I would stay away from the mainline kernel with this. I would go with what people have working. Even with the RPi and all of their community support I have never seen HW working with mainline. The mainline kernel will never be as good as RPi’s kernel for several reasons. This is the reason I only supply the RPi kernels. I do test mainline kernel on the pi’s from time to time.
From what I have read with your device they have HW working with the vendor’s kernel and might only work using a CLI. RPi first started out this way.
If it was me and wanted HW I would use this ffmpeg:
https://github.com/nyanmisaka/ffmpeg-rockchip
And follow it’s companion guide:
https://github.com/nyanmisaka/ffmpeg-rockchip/wiki
To tell you the truth I do not know that v4l-requests is a factor with this device looking over the WIKI as it is not mentioned in it’s configs.
Thanks. The mainline kernel I am using does NOT support rkmpp so just need v4l2-request. Have forgotten to replaced “SigLevel = Never” this in pacman.conf earlier.
Have been using vendor’s kernel with vpu and gpu hardware acceleration with ffmpeg-mpp-git (similar to ffmpeg-rockchip if not mistaken but adapted to work with mpv). So I am covered with Manjaro-Opi5-Plus using the vendor’s kernel, ffmpeg-mpp-git, mpp-git and libv4l-rkmpp-git to have vpu hardware acceleration on mpv and purposed build chromium-mpp. Working very well indeed.
This MiniArch-EOS with mainline kernel-6.12.11-1 (the latest patched kernel) is supposed to support v4l2-request for vpu hardware acceleration. Was informed that Chromiumum_v131 from archlinuxarm repository currently does not support “v4l2-request” may be Chromium_v132 might out of the box.
As per my understanding and your confirmation, rpi-ffmpeg does support v4l2-request that is why I am trying it out.
Thanks for the guidance.
Edit: @Darksky,
Installed rpi-ffmpeg on MiniArch-EOS-Gnome-6.12.11-1 but unfortunately still NO vpu hardware acceleration,
mpv --hwdec=drm
Both option did not work.
[alarm@MiniArch-opi5plus ~]$ mpv --hwdec=drm --hwdec-codecs=all '/home/alarm/Videos/jellyfish-120-mbps-4k-uhd-h264.mkv' [alarm@MiniArch-opi5plus ~]$ mpv --hwdec=drm --hwdec-codecs=all '/home/alarm/Videos/jellyfish-120-mbps-4k-uhd-h264.mkv'
● Video --vid=1 --vlang=eng (h264 3840x2160 29.97 fps) [default]
[vo/gpu/wayland] Unable to set DRM atomic cap: Operation not supported
VO: [gpu] 3840x2160 yuv420p
V: 00:00:06 / 00:00:30 (22%)
Exiting... (Quit)
[alarm@MiniArch-opi5plus ~]$ mpv --hwdec=auto --hwdec-codecs=all '/home/alarm/Videos/jellyfish-120-mbps-4k-uhd-h264.mkv'
● Video --vid=1 --vlang=eng (h264 3840x2160 29.97 fps) [default]
[vo/gpu/wayland] Unable to set DRM atomic cap: Operation not supported
[ffmpeg] AVHWDeviceContext: Instance creation failure: VK_ERROR_INCOMPATIBLE_DRIVER
[ffmpeg/video] h264_v4l2m2m: Could not find a valid device
[ffmpeg/video] h264_v4l2m2m: can't configure decoder
Could not open codec.
[ffmpeg/video] h264_v4l2m2m: Could not find a valid device
[ffmpeg/video] h264_v4l2m2m: can't configure decoder
Could not open codec.
VO: [gpu] 3840x2160 yuv420p
V: 00:00:29 / 00:00:30 (100%)
Exiting... (End of file)
[alarm@MiniArch-opi5plus ~]$
try --hwdec-codecs=xxx
Tried mpv --hwdec-codecs=h264 --hwdec=auto
Did not make any difference, no vpu hardware acceleration. Also added “video” group, still no vpu hw acceleration on mpv.
my case Pi4,
#–hwdec-codecs=h264_v4l2m2m
#–hwdec-codecs=hevc_v4l2m2m
#–hwdec-codecs=h265_v4l2request
–hwdec-codecs=auto-safe
–profile=fast
Thanks for the tips. Tried them but unfortunately still no vpu hw acceleration on mpv-0.39.0-4. Am wondering whether need purpose build mpv with v4l2request patch and whether anyone have a prebuild mpv that work with v4l2request?
MiniArch-EOS-Gnome with kernel-6.12.11-1 runs well on Orange Pi 5 Plus except so far unable to get vpu hw acceleration on mpv-0.39.0-4 or chromium_v131
vendor’s kernel still the preferred kernel to use on Orange Pi 5 Plus where GPU and VPU hw acceleration works (AV1 videos still not supported well on RK3588 with mpp-git).
found this might help for RK.
@Rip2 thanks. Did not find a pre-build Kwiboo/FFmpeg from the link. Is there a pre-build package for download?