3 3
gounthar

Which H2+/H3/H5/H6 board for H.264 encoding

Recommended Posts

Hi there,

 

I am currently trying to have a solution based on Hx SoCs to encode raw 1080p video on the fly (at smaller resolutions).

For the time being, I have:

  • OrangePi Zero 1.4
  • OrangePi Zero 1.5
  • OrangePi One
  • OrangePi PC (waiting for it)
  • OrangePi OnePlus

 

The Zero has a heating problem, for sure, the One seems to be better at handling the load. As for the OnePlus and PC, I haven't tried them yet.
What I would like to find is a board with eMMC (so that I don't have to change the SDCard regularly), with a good heatsink. I just need an RJ45 plug, power, and I'm good to go. I don't need CSI, video output or anything else.
I thought of the NeoPi Core, but I don't know how easy it will be to solder wires on it to get Ethernet.

Oh, and the smaller and the cheaper, the better.

 

I'm not stuck with the AllWinner Hx family, that's just because I own some, and they're supposed to be able to hardware encode H.264.
Any suggestion, even with other SoCs is welcome.

Thanks.

Share this post


Link to post
Share on other sites

Well, AFAIK hardware encoding is not yet supported with the FOSS Cedrus library, which is the only one you can use in mainline kernels. If you want HW encoding on Allwinner, you would need the old and controversial closed-source CedarX binaries for that. They only work with older 3.4/3.10 kernels. So the reason why your SoC is getting so hot is probably because it is using mere CPU power for software encoding.

 

If you want to do h.264 hardware encoding, your best options are rockchips (rk3288, rk3399 and rk3328, ordered by preference), or Odroid XU4/HC1. All of them can do HW encoding with Armbian, if you use my media packages.

 

Notice that rockchips will use gstreamer, while XU4 will use ffmpeg.

Share this post


Link to post
Share on other sites

Thanks a lot for your input.

I started this quest for AllWinner hardware encoding because of this post: https://forum.armbian.com/topic/11551-4kp30-video-on-orange-pi-lite-and-mainline-hardware-acceleration/?do=findComment&comment=88617.
Hardware decoding seems to work for @ubobrov, and I want to try the encoding part. FFmpeg is my reference software, so working with it is a big plus for me instead of gstreamer.
Maybe I fooled myself and read what I wanted to read regarding H3 hardware encoding. Maybe the hardware decoding is implemented, but not the encoding.

For the time being, I have applied the patches to ffmpeg and the kernel. Last time I saw the board, it was busy with building the kernel.

 

Regarding the Rockchips, I have several rk3399 (OrangePi 2 and 4GB, Renegade Elite) but no rk3288 nor rk3328. I've been able to use hardware decoding with ffmpeg which I compiled, and sometimes hardware encoding with gstreamer (because most of the times, it crashes the board).

The RockChip ffmpeg fork was supposed to be able to hardware encode Q4 2019, but there haven't been any news for a few months.

 

I also have a XU4, which I have not tested yet. What is used? Vdpau, vaapi, something else? I will have to give it a try.

 

My goal is to have a farm of cheap boards running hardware accelerated h.264 encoding, so that they multicast the downsized content to server for final users.
As much as I love XU4, it's not a cheap board, so if you ever have a suggestion of another board (or TVBox) that would be cheap, h.264 hardware able with Armbian and ffmpeg, please let me know.

 

Share this post


Link to post
Share on other sites
27 minutes ago, gounthar said:

Maybe the hardware decoding is implemented, but not the encoding

If you follow the link I posted above, you will see at the status matrix that, indeed, encoding is not yet implemented.

 

27 minutes ago, gounthar said:

I also have a XU4, which I have not tested yet. What is used?

It has the most standard and easy to implement and use interface, v4l2-m2m

 

27 minutes ago, gounthar said:

As much as I love XU4, it's not a cheap board, so if you ever have a suggestion of another board (or TVBox) that would be cheap,

XU4, MC1 and HC1 are sold now for less than $50, which I consider cheap considering its power, features and stability. Take into consideration that one of these can do the work of four to six H3 boards, for example. And if you want to build a farm, you can stack several HC1 or MC1, and put a fan on them, which will make them run steadily at maximum frequency.

 

If you still want something cheaper with HW encoding, then you can go for a 1Gb Rock64, but these boards are having lots of stability problems lately.

Share this post


Link to post
Share on other sites
7 minutes ago, gounthar said:

If you follow the link I posted above, you will see at the status matrix that, indeed, encoding is not yet implemented.

it's not implemented in v4l2-request and VAAPI but it is perfectly implemented on using old cedrus driver and mainline linux-4.20.17

Share this post


Link to post
Share on other sites

I answered to your post before reading the link you provided, so yes, it's written, my bad. :wacko:
I will try to follow that page, so that I can switch to H3 when the encoding part will be available.

 

Regarding the XU4, I know it's plenty powerful, and love to see its eight core working at full speed when compiling... But I have yet to test its encoding abilities, because if it can encode only one 1080p at a time, the ratio power/price won't really interesting.

Anyway, thanks a lot for your crystal clear answer, the definite links, and your patience answering my vague questions. :thumbup:
 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
3 3