Introduction to rockchip-multimedia ppa for ubuntu jammy

PPA address: https://launchpad.net/~liujianfeng1994/+archive/ubuntu/rockchip-multimedia
This is a ppa I’m maintaining for rockchip legacy kernel. I tested it on 5.10 kernel on both rk3568 and rk3588. This ppa contains many multimedia applications giving you the best out-of-box experience.

After adding the ppa, you have to do a system upgrade and install package rockchip-multimedia-config:

sudo apt dist-upgrade
sudo apt install rockchip-multimedia-config

and then reboot to set up the basic environment needed by rockchip’s legacy libraies. Then you can install whatever you want in my ppa.

Here is the basic introduction of the packages in my ppa:

Package Name Introduction
chromium-browser chromium-browser with hardware decoding acceleration, you have to install with package libv4l-rkmpp
gstreamer1.0-rockchip gstreamer rockchip pluggin adding hardware encoding and decoding support
clapper gstreamer based video player, supporting hardware decoding when gstreamer1.0-rockchip is installed
ffmpeg ffmpeg with hardware decoding support
kodi kodi with hardware decoding support
moonlight-embedded moonlight-embedded with hardware decoding support, tested on rk3588
moonlight-qt moonlight-qt with ffmpeg based hardware decoding support, tested on rk3588
obs-gstreamer OBS gstreamer pluggin supporting hardware h264/h265 encoding
obs-studio OBS v28
1 Like

Some packages will be integrated into our future images. Thanks.

libv4l-rkmpp has to get installed to support chromium hardware decoding.

Ugh so I guess everything requires mpp related packages right? Makes sense but we didn’t install those packages in Ubuntu is because some Rockchip prebuilt Debian packages have unmet dependencies under Ubuntu, and we want to avoid building everything by ourselves.

I’ll revert this for now.

Installed the PPA, ran the updates and dist upgrades. Then ran in to the following when trying to install ffmpeg on Jammy Armbian 23.02.2:

rock-5b:~:% sudo apt install ffmpeg
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 ffmpeg : Depends: libavcodec58 (= 7:4.4.2-0ubuntu0.22.04.1+rkmpp20230207)
          Depends: libavfilter7 (= 7:4.4.2-0ubuntu0.22.04.1+rkmpp20230207)
          Depends: libavformat58 (= 7:4.4.2-0ubuntu0.22.04.1+rkmpp20230207)
 libavdevice58 : Depends: libavcodec58 (= 7:4.4.2-0ubuntu0.22.04.1+rkmpp20230207)
                 Depends: libavfilter7 (= 7:4.4.2-0ubuntu0.22.04.1+rkmpp20230207)
                 Depends: libavformat58 (= 7:4.4.2-0ubuntu0.22.04.1+rkmpp20230207)
                 Depends: libdc1394-25 (>= 2.2.6) but it is not installable
                 Depends: libopenal1 (>= 1.14) but it is not installable
                 Depends: libsndio7.0 (>= 1.8.1) but it is not installable
 libavutil56 : Depends: ocl-icd-libopencl1 but it is not installable or
                        libopencl1 but it is not installable
               Depends: ocl-icd-libopencl1 (>= 1.0) but it is not installable or
                        libopencl-1.2-1 but it is not installable

I can’t reproduce, you have to check your own system.

I ran add-apt-repository universe and then the install of ffmpeg was able to resolve its dependencies.

Trying:
apt-get install gstreamer1.0-rockchip
I get: gstreamer1.0-rockchip1 : Depends: librockchip-mpp1 but it is not installable

Any help how can I install librockchip-mpp1 and why it is not in the repository?

Also it lacks release file:
The repository ‘http://ppa.launchpad.net/liujianfeng1994/rockchip-multimedia/ubuntu focal Release’ does not have a Release file.

It is in the repo: https://ppa.launchpadcontent.net/liujianfeng1994/rockchip-multimedia/ubuntu/pool/main/m/mpp/

$ LANGUAGE=en_US:en apt-cache policy librockchip-mpp1
librockchip-mpp1:
  Installed: 1.5.0-1+git230210.c145c84~jammy1
  Candidate: 1.5.0-1+git230210.c145c84~jammy1
  Version table:
 *** 1.5.0-1+git230210.c145c84~jammy1 500
        500 https://ppa.launchpadcontent.net/liujianfeng1994/rockchip-multimedia/ubuntu jammy/main arm64 Packages
        100 /var/lib/dpkg/status

I guess you are using ubuntu 22.04 (jammy). The official image is 20.04 (focal). Do you know if there is an image 22.04 for ROCK 5B ?

You can use armbian jammy: https://www.armbian.com/rock-5b/

Thanks. it works now. Btw do you know if I can install v4l2loopback on rk3588 ?

Any idea if hardware encoding is implemented in these pacakges?

You can try v4l2loopback. Hardware encoding is supported by mpp and gstreamer mpp plugin.

Thanks. Btw gstreamer on rockchip is useless as videoconvert is extremely slow on the rockchip and drops a lot of frames… If anyone can do live encoding with videoconvert, please, let me know…

GST_VIDEO_CONVERT_USE_RGA=1 gst-launch-1.0 -e v4l2src device=/dev/video0 ! videoconvert ! waylandsink

Thanks, but still cannot get good fps for videoconvert. Capturing and Encoding HDMI Input maximum 10fps

My command will make use of rga.

thank you for the PPA, I was able to get ffmpeg hardware decoding to work. Do you know what it would take to also make HW encoding of h264/h265 possible?

The ffmpeg package in my ppa doesn’t support mpp encoding. There is another version of ffmpeg supporting encoding: https://github.com/jjm2473/ffmpeg-rk.
You can also use gstreamer to encode.