After installing the Teardown beta on Steam it was apparent how slow FFMPEG CPU encoding is, so I set out to find the correct hardware acceleration commands that would meet the quality that is provided by the default script while maintaining an overall fast experience.
You can find the default script provided by Tuxedo Labs along with the NVENC script and Linux variants in links below, they can also be found in the scripts folder. You'll need to have an FFmpeg build under or equal to 4.2.3 which supports NVENC, all needed files can be found under the Releases tab.
It's a drag and drop replacement for the original script and works the same.
I've tried to test this on a few PCs to see what the performance is like, below are the specs of those machines.
CPU | RAM | GPU | Storage (Where teardown saved the images to) | OS |
---|---|---|---|---|
AMD Ryzen 3700X 8-Core Processor | 16GBs DDR4 @ 3000MHz | Gigabyte GeForce RTX™ 3070 VISIONS OC 8G | Seagate ST4000VX077 4TB Hard Drive | Windows 10 Enterprise 21H2 |
AMD Ryzen 1500X Quad-Core Processor | 16GBs DDR4 @ 2133MHz | Gigabyte GeForce® 1660 Ti OC 6G | Samsung 850 EVO 250GB SSD | Windows 10 Enterprise 21H2 |
It's unlikely that this would effect anything but in case, below are a list of the video settings and mods I had enabled at the time.
- Video Settings:
- Display:
- Mode: Borderless window
- Resolution: 4096 x 2160
- Graphics:
- Render Scale: 100%
- Render Quality: High
- Gamma correction: 1
- Field of view: 120
- Depth of field: Enabled
- Darrel distortion: Enabled
- Motion blur: Disabled
- Vertical sync: Every Frame
- Display:
- Mods:
- Screen Recorder - [Built in]
- Artzert's Utilities - [Steam Workshop]
- REALISTIC NUCLEAR BOMB - [Steam Workshop]
If you're just here for the results look no further the table below explains where the result came from, how fast the encode was and the final size of the video.
All tests used the same 1,171 images in a resolution of 4096 x 2160, they can be found here on Google Drive in the "capture.zip" archive, the accompanying videos can also be found in the same folder.
Encode Type | Encode Time | Encode Speed Avg. | Final File Size | YouTube - Google Drive | File Name |
---|---|---|---|---|---|
CPU - libx264 | 1 Minute 8 Seconds | x0.3 | 71.5 MB | [YouTube] - [Google Drive] | 2022-03-03-16-29-51-cpu.mp4 |
GPU - cuda | 12 Seconds | x1.7 | 81.5 MB | [YouTube] - [Google Drive] | 2022-03-03-16-32-27-gpu.mp4 |
Encode Type | Encode Time | Encode Speed Avg. | Final File Size | YouTube - Google Drive | File Name |
---|---|---|---|---|---|
CPU - libx264 | 2 Minutes 3 Seconds | x0.1 | 73.2 MB | [YouTube] - [Google Drive] | 2022-03-03-16-41-54-cpu.mp4 |
GPU - cuda | 16 Seconds | x1.6 | 85.9 MB | [YouTube] - [Google Drive] | 2022-03-03-16-45-55-gpu.mp4 |