My RTX 5090 D Was Bored: How I Finally Stopped Wasting Bits on 1080p Video (AV1 + Opus Deep Dive)
I. Introduction: The Tragedy of the Wasted Bitrate
I recently upgraded my rig to the apex predator of GPUs—the NVIDIA GeForce RTX 5090 D, running on the bleeding edge of Ubuntu 25.04 (with CUDA 13.1 ready to rumble). With this kind of power, I expected my video processing workflow to feel instantaneous.
Instead, when I tried to convert a simple 1080p archive file, the speed clocked in at a pathetic 4.98x. Even worse, my resulting MP4 file was larger than some 4K YouTube streams!
The culprit? A perfect storm of bad assumptions:
- The Source File: A massive, lossless FFV1 archive (92 Mbps
brute force). - The CPU Bottleneck: My CPU was drowning trying to decode FFV1 fast enough to feed the beast.
- The Audio Trauma: My default 128kbps AAC setting ruthlessly stripped out the "airy reverb" and subtle dynamics of the vocals—sacrificing artistic quality for file size minimalism.
This is the story of how I stopped fighting my hardware and built a high-efficiency, audiophile-grade pipeline using 10-bit AV1 via NVENC and the vastly superior Opus codec.
II. The Unintended Bottleneck: FFV1 and The CPU Struggle
When you combine cutting-edge hardware with antiquated workflow assumptions, you get inefficiency.
Running nvidia-smi showed the harsh truth: GPU-Util at 5%. The RTX 5090 D, a silicon titan, was essentially on vacation.
| Metric | Value | Implication |
|---|---|---|
| Input Codec | FFV1 | CPU-intensive, lossless decoding. |
| GPU-Util | 5% | CUDA cores are starving for data. |
| ENC Load | 10-15% | NVENC is minimally engaged, waiting on input. |
| DEC Load | 0% | No hardware decoding available for FFV1. |
The $92 \text{ Mbps}$ source file needed serious CPU power just to unwrap each frame. The 5090 D’s encoder simply wasn't getting fed quickly enough to show its true multi-thousand-frame-per-second potential.
III. The First Fix: Giving the Beast Better Food (HEVC Test)
Before jumping straight to the bleeding edge, I needed to confirm the NVENC unit was actually responsive. I switched the output to the highly efficient HEVC (H.265), forcing a common pixel format (yuv420p) to ensure compatibility.
The Test Command:
ffmpeg -i input.mkv -c:v hevc_nvenc -pix_fmt yuv420p -b:v 8M ... output_hevc.mp4
The results were immediate. The ENC utilization jumped significantly in dmon, and the speed soared past $10\text{x}$. The hardware was ready; it just needed the right input format.
IV. The Final Boss: Unlocking 10-bit AV1 + Opus (The Feimatrix Lab Gold Standard)
With the GPU confirmed healthy, it was time to leverage the absolute best supported by the 5090 D architecture: AV1 10-bit encoding paired with high-fidelity Opus audio.
A. The Video: AV1 10-bit for Perfect Gradients
For video sources with rich color, like those "golden hour" portraits, 8-bit encoding causes banding. 10-bit (-pix_fmt p010le) ensures smooth color transitions. Coupled with the excellent compression of AV1, we can achieve archival quality at a highly manageable bitrate.
B. The Audio: Bidding Farewell to 128k Loss
For music that needs "airy reverb" and dynamic range, 128k AAC is a butcher. We switch to Opus via libopus. Opus is superior to AAC at similar or lower bitrates. For this test, we target 160kbps—a sweet spot for high-fidelity music that retains all vocal nuance.
The Golden Command:
ffmpeg -hwaccel cuda -i ントノワタシ_feifei.mkv \
-c:v av1_nvenc -pix_fmt p010le -crf 20 -preset p5 \
-c:a libopus -b:a 160k \
ントノワタシ_final_opus.mp4
- CRF 20: Sets a high visual quality target, letting the encoder decide the bitrate dynamically.
- Preset p5: A good balance of quality vs. encoding time for hardware AV1.
The result? A beautiful, archive-grade 10-bit AV1 file that remained incredibly fast, proving the true power of hardware offloading when all parameters are correctly configured.
V. Conclusion: The True Power of Your Stack
It’s easy to assume a powerful GPU is the bottleneck, but as my 5090 D reluctantly taught me, bottlenecks are often systemic. Our speed was limited by the CPU decoding FFV1 and the limitations of the default AAC format.
By applying real-world experience—switching input format, utilizing 10-bit color depth, and adopting the superior Opus codec—we unlock the full performance of the hardware. This configuration is the new gold standard for personal media archiving and high-quality AI data preparation.