Jump to content

State of H.264 encoding support on H3 devices?


ivan_holmes

Recommended Posts

Hi, first post here, so a bit of context: I have owned my Orange Pi PC for a while and have it set up running the latest Armbian with legacy kernel, serving files over AFP and SMB on the local network and running a Transmission daemon. I set it up with the desktop image but followed the instructions in the documentation to remove the desktop environment etc. I believe that this has left the VDPAU and Cedrus related files intact. 
As I am using it as a media server I thought it would be interesting to leverage the H3's capabilities of encoding H.264 to convert old DivX files into a more modern format, but none of the solutions I have found for this work correctly. It seems that most of the versions off FFmpeg available for hardware encoding with Cedrus or CedarX are geared towards A10 and A20 devices and I cannot get them to work with my H3 Orange Pi PC.

For example, I was able to successfully compile and generate a .deb package for ffmpeg-cedrus (https://github.com/stulluk/FFmpeg-Cedrus) but when trying to encode a file with the command:
 

ffmpeg -i input.avi -c:v cedrus264 -c:a copy -pix_fmt nv12 -vf pad="width=trunc((iw+15)/16)*16:height=trunc((ih+15)/16)*16" output.mp4

I get the error messages:

[cedrus264 @ 0x1e74dc0] Cannot allocate frame.

(the hexadecimal number changes every time)

and

Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height

I am not sure what these messages are related to. The options in ffmpeg (pix_fmt and vf) have been set in this way as they seem to help the encode process get as far as possible.

The -vf pad option is not necessary for streams which have resolutions that are already multiples of 16.

Are these issues related to user error, issues with the encoder, Armbian or the H3 SoC itself?
Thanks for your help,
Ivan

P.S. sorry if this is a stupid question, and I realise that media is not the focus of Armbian.

Link to comment
Share on other sites

It turns out that that version of FFmpeg does not work because the video engine version in the H3 is different to the A20. According to nove on #cedrus IRC: 'the way that the hardware is initialized changed, and also the way that h264 encoding subengine is enabled changed'

 

Obviously I am still eager for more information regarding this.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines