Support for VIM3

Hi Support team,

We are Evaluating Khadas VIM3L and VIM3-Pro board for our use case as below.

(1) We will develop the WebRTC based video chat application that can run either in a browser or run in our own UI application.

(2) We are planning to use a Kodi media player (IR-based controlling) to play our locally stored video (1080p 30 fps).

(3) We also want to develop our BLE devices manager to communicate with BLE end devices and send the BLE device data to the WebRTC data channel.

Actually, we are evaluating these boards for the last 1 month and tried different types of OS supported by Khadas as Ubuntu 20.04 Os (kernel 4.9), Ubuntu 20.04 Os (mainline Linux 5.16) Wayland display, Android Pie Os, Manjaro KDE Plasma Os Wayland display. The conclusion is as below.

Ubuntu 20.04 Os (kernel 4.9): WebRTC application with a browser having lagging, Kodi player works well, BLE Works well.

Ubuntu 20.04 Os (mainline Linux 5.16) Wayland display: WebRTC application with browser works well, Kodi is not available, BLE works well.

Android Pie Os: WebRTC application with browser works well, Kodi is available, BLE works well

Manjaro KDE Plasma Os Wayland display: WebRTC application with browser works well, BLE is not stable.

Kindly suggest which OS is suitable for our use case and also consider the below points.

→ OS should be open source and customizable

→ OS must be stable and optimistic.

→ Os should support by default Kodi or other IR-based applications by default and BLE.
→ Lightweight and good Performance

Please find the below observations with VIM3 Pro board and confirm from your side.

  1. For webRTC, we are getting good Performance on Khadas VIM3-Pro board using Manjaro KDE Plasma and Ubuntu 20.04 (Mainline Linux 5.16) using Wayland sessions. but still, CPU use goes to 54. We are suspecting these OS are using software decoder/encoder instead of Hardware decoder/encoder. Please confirm.

  2. Kodi in Ubuntu 20.04 Os (kernel 4.9) use a hardware encoder/decoder. Please confirm

  3. None of the mainline Linux kernel Khadas VIM3/VIM3L OS support the hardware encoder/decoder. Please confirm

  4. For our use case VIM3L board does not suitable due to hardware resource constraints. Please confirm

1 Like

Yes, it may use the software decoding.

Yes. Kodi using hardware decoding.

To support hardware decoding, still need some patches.

Two important questions to guiide next-steps:

a) What codecs and resolutions do you need to support with webRTC?
b) What is the potential order quantity (numbers of boards)?

1 Like

Hi@chewitt

I was on leave, Please find an inline answer.

a) What codecs and resolutions do you need to support with webRTC?

→ We are planning to use 1080p with 30 fps for WebRTC based video chat. We need to integrate the Hardware encoder and decoder APIs in our application. Currently, we don’t have any idea how we can integrate these Apis into our application. Your quick response will be highly appreciable.

b) What is the potential order quantity (numbers of boards)?

→ At the end of Q2, we are planning to deploy 100 boards for the testing And our plan is to purchase 500 boards in Q3 and Q4

For codec, I mean H264, or HEVC?

hi@chewitt

it’s for H264

Linux 5.16+ has good support for 1080p and 8-bit H264 video decode so an app written around V4L2 VDEC API’s should work. Kodi 19/20 work well if the version of ffmpeg used is based on Commits · jc-kynesim/rpi-ffmpeg · GitHub which is the V4L2 stateful patchset Pi Foundation devs have been working on that will eventually go upstream in some form. If you use the default built-in ffmpeg or upstream code results will be poor. There is no upstream VENC at this time.

1 Like