AI-Assisted VPU Encoding
Deploy a NETINT Quadra VPU-powered encoding environment and run CPU vs VPU benchmarks using AI coding assistants. This guide shows how to use Claude Code, Cursor, or GitHub Copilot to provision, configure, and test hardware-accelerated video encoding with a single prompt.
What the AI Needs From You
| Input | Where to Find It |
|---|---|
| NetActuate API key | Account → API Access in the portal |
| SSH key ID | Account → SSH Keys in the portal |
These are one-time settings. Once saved with your AI assistant, you only need to describe what you want to encode.
Quick Start
Tell your AI assistant:
Clone https://github.com/netactuate/netactuate-ansible-vpu-encoding,
read the AGENTS.md, and deploy a VM with a NETINT Quadra VPU.
Run CPU vs VPU encoding benchmarks.
The AI provisions a VM with the VPU attached, installs the NETINT software stack (including Bitstreams), and runs side-by-side encoding tests for H.264, H.265, and AV1.
Bitstreams Workflows
Bitstreams is NETINT's encoding management software. It replaces raw FFmpeg commands with a web dashboard and REST API for managing encoding templates and live streaming sessions. Bitstreams is installed automatically on every VPU VM provisioned through the playbook.
Create an encoding template
Create a new Bitstreams template called "live source" that encodes
to HEVC with resolutions 1080p, 720p, 480p. Set the lookahead
depth to 15.
Add a graphics overlay
Update the "live source" template to use this image as an overlay
in the top right corner: logo.png
Create and run a live session
Create a new Bitstreams session called "nab2026" using input
srt://10.1.1.10:8000 with the "live source" template.
Provide a DASH output.
Monitor session status
What is the status of the "nab2026" session?
What are the names of all available sessions and their status?
Schedule and manage sessions
Start "nab2026" on May 5 at 2pm EST.
Update the "live source" template to add a second 1080p output
at 59.94 fps.
Stop "nab2026" and delete the session.
Offline file transcoding
Create an offline Bitstreams session to transcode input.mp4
to H.265 at 1080p and 720p using the "live source" template.
Bitstreams handles interlaced input automatically through its built-in deinterlace filters, so you do not need to pre-process interlaced sources before encoding.
You can also access the Bitstreams dashboard directly at http://<vm-ip> in your browser, or use the REST API at http://<vm-ip>/api/v3/ for programmatic control. The AI assistant can call the Bitstreams API on your behalf to execute any of the workflows above.
For the full Bitstreams user guide, see the NETINT Bitstreams documentation.
Encoding Benchmarks
Run a CPU vs VPU comparison
Deploy a VPU VM and run encoding benchmarks.
Compare CPU vs VPU for H.264, H.265, and AV1.
The playbook downloads Big Buck Bunny 1080p as the default test file, then encodes it with both CPU (libx264, libx265) and VPU (h264_ni_quadra_enc, h265_ni_quadra_enc, av1_ni_quadra_enc) encoders. It also runs a full VPU transcode that decodes H.264 and re-encodes to H.265 entirely on the Quadra hardware.
Note: The Quadra VPU does not support interlaced content. Source files must be progressive. If your input is interlaced, deinterlace it before encoding with the VPU. Bitstreams handles deinterlacing automatically through its built-in filters.
Benchmark with your own content
Deploy a VPU VM and encode this file with both CPU and VPU:
https://example.com/my-4k-content.mp4
Compare speed and file sizes for all codecs.
Custom bitrate targets
Deploy a VPU VM and test encoding at broadcast-quality bitrates:
H.264: 10M, H.265: 6M, AV1: 4M
Use a 30-second test video. Compare CPU vs VPU.
Longer test video
Deploy a VPU VM and run benchmarks with a 60-second 1080p test.
Working with an Existing VM
If you already have a VPU VM running, you can ask the AI to run tests directly:
Re-run benchmarks
Re-run the CPU vs VPU encoding comparison on the VPU VM
with a new test file: https://example.com/different-content.mp4
Encode a specific file
Encode this video to H.265 at 5M using the Quadra VPU:
https://example.com/my-source.mp4
Show me the encoding time and output file size.
Full hardware transcode
Run a full hardware transcode on the VPU VM:
decode this H.264 file on the VPU and re-encode to H.265 at 3M.
https://example.com/h264-source.mp4
Check VPU status
Show me the VPU utilization, temperature, and device status.
Multi-Stream Encoding
The Quadra T1U can handle up to 32 simultaneous 1080p30 streams. Ask the AI to test parallel encoding:
Encode the test video to H.265 in parallel at 4 different bitrates:
1M, 2M, 4M, and 8M. Run all 4 encodes simultaneously.
Fast Deploys with Custom Images
A NetActuate NETINT certified VM image will be available in the near future, reducing the time to launch a fully configured VPU VM to seconds.
Many customers will also want to build their own golden image with custom tooling, encoding scripts, or application-specific configuration baked in alongside the NETINT stack. You can do this using My Images to snapshot a configured VM into a reusable image.
The golden image builder in the repo automates this process:
Run the golden image builder from the VPU repo.
Note the image ID when it finishes.
Then use it for instant deploys:
Deploy a VPU VM from my golden image and run benchmarks.
Save Your Defaults
Tell your AI assistant to remember your VPU configuration:
Remember my NetActuate VPU settings:
VPU repo: https://github.com/netactuate/netactuate-ansible-vpu-encoding
API key: (set in environment)
When I ask you to run VPU encoding tests, use these defaults
unless I specify otherwise.
After saving, deployments become one-liners:
Deploy a VPU VM and run encoding benchmarks
Encode this file on the VPU: https://example.com/video.mp4
Run VPU benchmarks with a 60-second 4K test
Understanding the Results
The playbook outputs a comparison table:
╔════════════════════════════════════════════════════════════════════╗
║ CPU vs VPU Encoding Comparison ║
╠════════════════════════════════════════════════════════════════════╣
║ H.264 ║
║ CPU (libx264): 28.62 sec 6.0 MB ║
║ VPU (h264_ni_quadra_enc): 1.36 sec 8.9 MB ║
║ H.265 ║
║ CPU (libx265): 50.03 sec 3.7 MB ║
║ VPU (h265_ni_quadra_enc): 1.29 sec 8.0 MB ║
║ AV1 ║
║ VPU (av1_ni_quadra_enc): 1.53 sec 8.1 MB ║
║ Full VPU Transcode (H.264 decode → H.265 encode) ║
║ VPU pipeline: 1.29 sec 8.0 MB ║
╚════════════════════════════════════════════════════════════════════╝
Key takeaways:
- H.264: VPU is typically 20-30x faster than CPU at comparable quality
- H.265: VPU is typically 40-60x faster (CPU H.265 encoding is very slow)
- AV1: VPU encodes AV1 in real-time; CPU AV1 with libaom is too slow to benchmark
- Full VPU transcode: Decode + encode on the card avoids PCIe transfers, fastest option
NETINT Quadra T1U Capabilities
| Capability | Value |
|---|---|
| Encode codecs | H.264, H.265, AV1, JPEG |
| Decode codecs | H.264, H.265, VP9, AV1, JPEG |
| Max simultaneous streams | 32x 1080p30, 8x 4Kp30, 2x 8Kp30 |
| Resolution range | 32x32 to 8192x5120 |
| Bit depth | 8-bit and 10-bit |
| HDR support | HDR10, HDR10+, HLG |
| AI engine | 18 TOPS |
| Power consumption | 20W typical |
Related Resources
- VPU Encoding with NETINT Quadra — manual step-by-step installation and encoding guide
- AI-Assisted Provisioning — general AI provisioning workflows for VMs and BGP clusters
- GitHub repo — playbook source and AGENTS.md
- NETINT documentation — driver installation, API references, and codec guides
Need Help?
Contact support@netactuate.com or open a support ticket from the portal.