You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/learning-paths/laptops-and-desktops/win-resource-ps1/how-to-1.md
+27-29Lines changed: 27 additions & 29 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,54 +11,50 @@ System resource usage provides an approach to understand the performance of an a
11
11
12
12
The example application you will use is FFmpeg, a tool set that performs video encode and decode tasks. You will run the same tests with both the x86_64 binary (using Windows instruction emulation) and the Arm64 native binary on a Windows on Arm computer.
13
13
14
-
## Application
15
-
Binary builds of FFmpeg are available, so you don't need to build them from source.
14
+
## Download the packages
16
15
17
-
To get started:
16
+
You don't need to build FFmpeg from scratch—just grab the ready-made binaries and get started.
18
17
19
-
1. Download the [FFmpeg x86_64 package](https://github.com/BtbN/FFmpeg-Builds/releases/download/autobuild-2025-07-31-14-15/ffmpeg-n7.1.1-56-gc2184b65d2-win64-gpl-7.1.zip).
18
+
- First, download the [FFmpeg x86_64 package](https://github.com/BtbN/FFmpeg-Builds/releases/download/autobuild-2025-07-31-14-15/ffmpeg-n7.1.1-56-gc2184b65d2-win64-gpl-7.1.zip).
19
+
- Next, download the [FFmpeg Arm64 native package](https://github.com/BtbN/FFmpeg-Builds/releases/download/autobuild-2025-07-31-14-15/ffmpeg-n7.1.1-56-gc2184b65d2-winarm64-gpl-7.1.zip).
20
20
21
-
2. Download the [FFmpeg Arm64 native package](https://github.com/BtbN/FFmpeg-Builds/releases/download/autobuild-2025-07-31-14-15/ffmpeg-n7.1.1-56-gc2184b65d2-winarm64-gpl-7.1.zip).
21
+
## Unzip the downloaded packages
22
22
23
-
3. Unzip the downloaded packages.
24
-
25
-
You can find the binaries in the `bin` folder.
23
+
Once you've downloaded both packages, unzip them. You'll find the binaries in the `bin` folder inside each package. The x86_64 version is for emulation, while the Arm64 version runs natively on your Windows on Arm device. Double-check the folder names so you don't mix them up.
26
24
27
25
{{% notice Note %}}
28
-
Make note of the paths to both versions of `ffmpeg.exe` and `ffplay.exe`, so you can run each one and compare the results.
26
+
It's a good idea to create a separate folder for each version. Make a note of where you put both `ffmpeg.exe` and `ffplay.exe` for each version—you'll need these paths soon to run your tests and compare results.
29
27
{{% /notice %}}
30
28
31
-
## Video source
32
-
Download the test video [RaceNight](https://ultravideo.fi/video/RaceNight_3840x2160_50fps_420_8bit_YUV_RAW.7z) from a public dataset.
29
+
Now you're set up with both versions of FFmpeg. Next, you'll use these binaries to encode a video and see how each one performs.
30
+
31
+
## Download the video source
32
+
33
+
For this test, you'll use a sample video called RaceNight. Download it from [this public dataset](https://ultravideo.fi/video/RaceNight_3840x2160_50fps_420_8bit_YUV_RAW.7z).
33
34
34
-
Unzip the package and note the path to the uncompressed `.yuv` file.
35
+
Unzip the package and make a note of the path to the `.yuv` file inside.
35
36
36
-
## Video encoding
37
-
The downloaded video file is in YUV raw format, which means playback of the video file involves no decoding effort. You need to encode the raw video with compression algorithms to add computation pressure during playback.
37
+
## Encode the video
38
38
39
-
Use `ffmpeg.exe` to compress the YUV raw video with the x265 encoder and convert the file format to `.mp4`.
39
+
The video you just downloaded is in YUV raw format, which means it's uncompressed and doesn't need decoding to play. To really test your system, you'll use FFmpeg to compress the video with the x265 encoder and convert it to an `.mp4` file.
40
40
41
-
Assuming you downloaded the files and extracted them in the current directory, open a terminal and run the following command:
41
+
Assuming everything is in your current directory, open a terminal and run this command:
Modify the paths to `ffmpeg.exe` and the YUV raw video file to match your locations.
48
+
Make sure to update the paths to `ffmpeg.exe` and the YUV video file to match where you saved them.
49
49
{{% /notice %}}
50
50
51
-
The command transforms the video size and compresses the video into an MP4 file using H.265 encoding (via the x265 encoder).
51
+
This command resizes the video and compresses it into an MP4 file using H.265 encoding (via the x265 encoder). The `-benchmark` option shows performance stats while the encoding runs. When it's done, you'll have a new file called `RaceNight_1080p.mp4`.
52
52
53
-
The `benchmark` option is turned on to show performance data at the same time.
53
+
Try running the command with both the x86_64 and Arm64 versions of FFmpeg. Then, compare the results to see which one is faster.
54
54
55
-
The generated file will be at RaceNight_1080p.mp4.
55
+
## View the results
56
56
57
-
Run the command with both the x86_64 and the Arm64 versions of FFmpeg and compare the output.
58
-
59
-
### View results
60
-
61
-
The output below is from the x86_64 version of `ffmpeg.exe`:
57
+
Here's what the output looks like for the x86_64 version of `ffmpeg.exe`:
The last line of each output shows the run time and the frames per second for each build of FFmpeg.
107
+
Check out the last line in each output—the run time and frames per second show how each build performed. The Arm64 version is much faster, thanks to running natively on your hardware.
108
+
109
+
## Review your progress and compare performance
112
110
113
-
Continue to learn how to track resource usage and compare each version.
111
+
You've successfully set up both x86_64 and Arm64 versions of FFmpeg, downloaded a sample video, and encoded it using each binary on your Windows on Arm device. By comparing the output, you've seen firsthand how native Arm64 performance outpaces emulated x86_64. This gives you a solid foundation for deeper resource usage analysis in the next section.
0 commit comments