Run x265 (H.265 codec) on Arm servers
Who is this for?
This is an introductory topic for software developers who want to build and run an x265 codec on Arm servers and measure performance.
What will you learn?
Upon completion of this Learning Path, you will be able to:
- Build x265 codec on Arm server
- Run x265 codec on Arm server with the same video of various resolutions and encoding presets to measure the performance impact
Prerequisites
Before starting, you will need the following:
- An
Arm based instance
from an appropriate cloud service provider. This Learning Path has been verified on AWS EC2 and Oracle cloud services, running
Ubuntu Linux 20.04.
Summary
This summary was drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.
You’ll build the open-source x265 (HEVC) encoder on an Arm server and run it on sample videos. You’ll install GCC, CMake, and supporting packages, obtain the referenced Arm-optimized libx265 source with Neoverse Neon support, and compile it. You’ll then run repeatable tests while varying the resolution and encoder preset to compare encoding behavior on Arm.
Frequently asked questions
These FAQs were drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.
Use the
libx265 repository referenced in the steps on Bitbucket, which includes Arm Neoverse Neon support. Follow the clone or checkout instructions provided in the path to ensure you build the optimized tree.Confirm the package installation completes without errors and that the listed tools are available on your system. Then proceed to the configure and build steps as shown in the path.
Keep the input video constant and vary only the resolution and the encoder preset between runs. Use the same process for each run so results are comparable.
Build the Bitbucket-based source referenced in the steps on an Arm server to enable the NEON-supported paths. If configuration targets a non-Arm platform, recheck that you’re building on the intended Arm instance.
The encoder should complete and produce output consistent with the chosen resolution and preset. Record the run’s output information so you can compare it with other configurations.