Video Codecs Every VJ Needs in 2026 (and Two to Delete)

The article is written by a human. Mistakes have been edited by AI.
Specifications taken from the HAP project, Derivative’s TouchDesigner documentation, Notch and Resolume, checked August 2026.
The previous version of this article, published in January 2024, told you to install QuickTime for Windows.
Apple stopped issuing security patches for QuickTime on Windows in April 2016. The US Cybersecurity and Infrastructure Security Agency published an advisory naming two remote code execution vulnerabilities that would never be fixed, and stated that the only available mitigation is to uninstall it. That advice has not changed in ten years.
I am opening with the correction because it is the only item on the old list that can actively hurt you, and because it points at the real problem with codec advice for VJs: most of it is a list of names with no numbers attached. This version has the numbers.
Who this article is for: VJs, media server operators and anyone preparing content for a live show machine.
What it solves: every codec list for VJs names the same five things and explains none of the settings that decide whether playback actually works.
What you get by the end: what to uninstall, the three codecs that matter with exact data rates, the one encoding setting that fixes most stutter, and an honest verdict on APV, AV2 and VVC.
Hello dear VJs and clients of LIME ART GROUP. I am new media artist Alexander Kuiava. We encode and ship this content every week, so the numbers below come from the specifications and from machines that had to survive a show.

Two things to uninstall before you install anything

eye separator

QuickTime for Windows

End of support: April 2016. Unpatched remote code execution vulnerabilities. CISA’s guidance is to remove it.

No current VJ application requires it. Resolume, TouchDesigner, MadMapper, disguise, Ventuz and Millumin all decode through their own internal pipelines. If you are on Windows and QuickTime is installed, it is doing nothing for your show and it is an open door.

One point of confusion worth clearing: the HAP QuickTime component is a different thing from QuickTime itself. It is a small exporter plugin from the HAP project that lets legacy applications write HAP files. Derivative states plainly that it is not required for HAP support in TouchDesigner. And there is a specific reason not to rely on it, which is in the chunking section below.

QuickTime on macOS is unaffected. This is a Windows-only problem.

eye separator

K-Lite Codec Pack

K-Lite is a bundle of DirectShow filters. DirectShow is the media framework Windows media players use. It is not the framework your VJ software uses.

Resolume, TouchDesigner, disguise, Ventuz and MadMapper ship their own decoders precisely so they do not depend on whatever is installed on the machine. Installing K-Lite will let VLC or Media Player Classic open more files. It will not add a single format to Resolume, and system-wide filter packs are a well-known source of conflicts on machines that also run capture cards and streaming tools.

It is a media-player convenience. It does not belong on a show machine and it does not belong on a VJ codec checklist.

eye separator

The three codecs that actually matter

Everything a VJ needs to play back live is one of three things. All three exist for the same reason: they store frames in a format the graphics card can consume almost directly, so the CPU barely participates in decoding.

eye separator

HAP — the open standard

HAP is free, open source, and supported by more media servers, VJ applications and creative coding environments than anything else in this category. It has five variants plus an HDR profile, and almost nobody chooses between them correctly.

Variant Bytes per pixel Compression vs uncompressed Alpha Notes
Hap 0.5 6:1 vs RGB no lowest data rate, 8-bit
Hap Alpha 1.0 4:1 vs RGBA yes same image quality as Hap
Hap Q 1.0 3:1 vs RGB no much better image quality, 8-bit
Hap Q Alpha 1.5 2.6:1 vs RGBA yes Hap Q quality plus alpha
Hap R optional highest quality of the family, uses BC7 texture compression
Hap HDR no 16-bit float, BC6, for values outside 0–1

Those ratios are the texture compression stage, which is constant. HAP then applies a second, lossless pass with a fast compressor called Snappy, which often gets another 2:1 on clean content and sometimes nothing at all on noisy content. So the numbers above are the worst case, not the average.

On Hap R. The HAP project’s own guidance is that Hap R should be used instead of Hap Q and Hap Q Alpha whenever possible, because it has the best image quality in the family and can carry alpha. Two practical caveats before you switch everything over. First, Derivative warns that encoding Hap R at high resolution is GPU-intensive enough to trip Windows’ two-second GPU driver timeout; the fix is a TdrDelay registry value set to 20–40 seconds and a reboot. Second, VLC could not play Hap R or Hap Q Alpha as of version 3.0.4, so do not use VLC as your check that a file is good. Open it in the software you will actually perform with.

On Hap HDR. It stores 16-bit floating point data specifically so values can go outside the 0–1 range. Derivative is explicit that it is not suitable for encoding raw data such as point cloud positions, which people keep trying.

eye separator

The setting almost nobody sets: chunks

This is the single most useful thing in this article.

HAP supports chunked encoding, which splits each frame so multiple CPU cores can decompress it in parallel. Without it, one core does all the work, and above 4K that core becomes the bottleneck that makes your playback stutter.

In FFmpeg it is one flag: ffmpeg -i source.mov -c:v hap -format hap_q -chunks 12 dest.mov

The guidance from Derivative is to use a chunk count equal to or greater than the number of physical CPU cores on the playback machine, not counting hyper-threading. TouchDesigner encodes with 12 chunks by default. The HAP project adds that the count should not exceed the number of cores on the playback computer, and that for HD or smaller you can leave it at 1.

And here is the trap: the HAP QuickTime component does not encode with chunking at all. If you have been exporting HAP through an old QuickTime-based route and wondering why 8K content stutters on a machine that should handle it easily, this is very likely why.

For genuinely extreme resolutions there is one more lever: turn the secondary Snappy compression off entirely. You get larger files at a fixed data rate, but zero CPU decompression work. TouchDesigner exposes this as “Hap Secondary Compression” on the Movie File Out TOP.

eye separator

DXV 3 — Resolume’s own

DXV is Resolume’s GPU-accelerated codec. Decompression happens on the video card, it carries an alpha channel when you export with the “With Alpha” option, and inside Resolume it will mix more layers at higher resolution than anything else.

The setting people get wrong is quality. Resolume’s own advice is to encode everything at Normal quality, and to reach for High Quality only if you can actually see banding on gradients — because DXV3 HQ can roughly double your file size for a difference you often cannot see on a screen twenty metres away.

DXV is the right default if Resolume is your only playback environment. If your content has to move between Resolume, a media server and someone else’s rig, HAP travels better.

eye separator

NotchLC — the high end

NotchLC is the choice when image quality has to survive scrutiny. It assigns 12 bits to luma and 8 bits to each chroma channel, giving effectively 10-bit accuracy in a scrubbable format, at compression ratios between 4:1 and 8:1.

Three things distinguish it. It targets a quality level rather than a bitrate, so the encoder uses as much compression as it can while holding the quality you asked for, instead of hitting a bitrate and letting quality fall where it may. Encoding is GPU-accelerated and Notch claims up to nine times faster than HAP. And because it is a GPU codec built on DirectX 11, its resolution ceiling is 16384 × 16384 — which is the practical reason it turns up in ultra-wide immersive work.

It is supported in TouchDesigner, disguise, Ventuz and Picturall by Analog Way, and macOS support was added after the initial Windows-only release.

eye separator

Data rate is what actually breaks your show

Here is the arithmetic nobody publishes, derived from the bytes-per-pixel figures above. These are worst-case sustained read rates for a single stream, before Snappy.

Format 1080p60 4K DCI 60 (4096×2160) 8K wide 60 (7680×2160) 16K ultra-wide 30 (15360×2160)
Hap 62 MB/s 265 MB/s 498 MB/s 498 MB/s
Hap Q 124 MB/s 531 MB/s 995 MB/s 995 MB/s
Hap Q Alpha 187 MB/s 796 MB/s 1,493 MB/s 1,493 MB/s

The last two columns are identical, and that is not a mistake — it is the point. 7680×2160 at 60 fps and 15360×2160 at 30 fps push exactly the same number of pixels per second, so they cost exactly the same to read off disk. Data rate is pixels per second, not resolution. Halving your frame rate buys you the same headroom as halving your width, and on an immersive plate that nobody is watching for motion detail, 30 fps is usually the cheaper half to give up.

Now compare that to storage. A SATA SSD tops out around 550 MB/s. One 4K60 Hap Q stream saturates a SATA SSD on its own. Two layers do not fit. A 16K ultra-wide immersive plate in Hap Q needs about a gigabyte per second sustained, which is NVMe territory and nothing else.

This is why “my machine has a good graphics card but playback stutters” is almost always a disk problem, not a GPU problem. Before you buy a faster card, check whether your drive can physically deliver the bytes.

The practical rules that fall out of it: keep show content on NVMe, never on a spinning drive or a network share; count your layers and multiply; and if you are running many simultaneous streams, plain Hap rather than Hap Q halves your disk requirement instantly.

eye separator

ProRes, H.264 and the codecs that are not for playback

These are all legitimate and useful. None of them is a live playback codec, and confusing the two categories is the most common mistake in this field.

eye separator

ProRes

ProRes is a mastering and interchange format. It is where you keep the version you will re-render from in three years, and it is what you send to a client who is going to do further work. It is not what you put on a show machine, because it is decoded on the CPU.

Encoding it on Windows is more complicated than people assume. Apple licenses ProRes encoding to a small number of vendors, and Adobe is one of them — Premiere Pro, After Effects and Media Encoder can write ProRes on Windows. DaVinci Resolve Studio on Windows generally needs a third-party plugin. FFmpeg’s ProRes encoder is a reverse-engineered implementation; it produces files that play, but the metadata differs from Apple-written files, which occasionally matters to broadcast delivery specs and almost never matters to a VJ.

eye separator

H.264, HEVC and AV1

These are delivery codecs. They achieve their compression by describing frames in terms of other frames across a long group of pictures, which means decoding any one frame can require decoding several others.

HEVC (H.265) delivers roughly 25 to 50 percent better compression than H.264 at equivalent quality, supports resolutions up to 8192 × 4320, and its Main 10 profile brought 10-bit into mainstream hardware. AV1 improves again and now has broad hardware decode support. All of that is real and all of it is aimed at moving video over a network.

On a show floor the trade runs the other way. One H.264 layer is fine. Eight are not, because every layer competes for the same hardware decoder blocks and the same CPU. A delivery codec optimises for small files; a show codec optimises for cheap frames. Those are different problems, and no amount of compression progress makes a long-GOP codec suitable for multi-layer live mixing.

Keep them for previews, for client approvals, for social clips, and for streaming. Transcode to HAP, DXV or NotchLC before the show.

eye separator

The genuinely new codecs, and whether you care

Three things arrived recently that are worth knowing about, and one of them is legitimately significant.

eye separator

APV — the real news

Samsung’s Advanced Professional Video codec was published through the IETF as RFC 9924 in February 2026, which makes it a formal open standard rather than a vendor format. The full implementation is released as open source under the name OpenAPV, royalty-free.

APV is an intra-frame codec — every frame stands alone — aimed at professional acquisition and post-production, in the same category as ProRes rather than in the same category as H.264. Samsung states it reduces file size by more than 10 percent against comparable codecs at the same image quality. It is supported in Android 16, in FFmpeg, and in DaVinci Resolve, and it ships as a capture format on the Galaxy S26 Ultra.

What it means for a VJ: it is a plate and acquisition format, not a playback format. If you shoot source material on a recent phone, APV is a genuinely better master than what you had before, and it costs nothing. You will still transcode to HAP, DXV or NotchLC for the show. What makes it interesting is that it is the first credible royalty-free challenger to ProRes in the professional intra-frame space, and unlike ProRes it does not depend on one company’s licensing decisions.

eye separator

AV2

AOMedia finalised the AV2 specification at version 1.0.0 on 28 May 2026, announced on 9 June 2026. It delivers roughly 30 percent better efficiency than AV1 at the same quality, and up to around 40 percent on screen content and HDR.

As of mid-2026 no shipping consumer device has an AV2 hardware decoder. Software decoding is around five times heavier than AV1. Hardware support is expected from roughly 2027 to 2028.

What it means for a VJ: nothing, for years. It is a delivery codec, it will be excellent at that job, and it will never be a playback codec for the reasons in the previous section.

eye separator

VVC / H.266

Still going nowhere. As of March 2026 no major browser supports native VVC decode, and the patent licensing landscape remains fragmented across multiple pools with essential patent holders outside both. It repeated HEVC’s adoption problem rather than solving it.

What it means for a VJ: skip it entirely.

eye separator

What people get wrong, and what it costs

Almost every codec problem on a show floor comes from optimising the wrong quantity.

The instinct is to make files small. Small files feel efficient, they copy faster, they fit on the drive. So people export H.264 at a high bitrate, look at the preview, decide it looks great, and load eight layers of it into Resolume.

Then it stutters, and the diagnosis goes to the graphics card, or the RAM, or the software. It is none of those. A long-GOP codec spends CPU cycles to save bytes, and on a machine that has to produce a frame every sixteen milliseconds across eight layers simultaneously, CPU cycles are the scarce resource and bytes are not.

HAP files are large. DXV files are large. That is the point. They trade disk space — which costs a few hundred euro to fix — for decode time, which cannot be fixed at all once the show has started.

The install list for 2026

  1. Remove QuickTime for Windows. Ten years unpatched, known remote code execution, no VJ application needs it.
  2. Do not install K-Lite. It adds DirectShow filters your VJ software does not use.
  3. Install the HAP tools — the FFmpeg build with Snappy enabled, plus an Adobe encoder plugin if you export from After Effects. This is your portable default.
  4. Install the DXV codec if you use Resolume, and encode at Normal quality unless you can see banding.
  5. Install NotchLC if you work above 4K, need 10-bit-class accuracy, or deliver to disguise, Ventuz or Picturall.
  6. Set your chunk count to at least the number of physical cores on the playback machine. This one setting fixes more stutter than any hardware upgrade.
  7. Put show content on NVMe. Check the data-rate table, multiply by your layer count, and compare it to what your drive can actually sustain.
  8. Keep ProRes masters of anything you might re-render. Keep H.264 for previews. Transcode to a show codec before load-in, never during.

Our own content is delivered in playback-ready formats for exactly these reasons — the VJ loops packs, video mapping loops and immersive visuals are built to load and run rather than to be transcoded at 23:00 on the night. Transparency work lives in alpha channel videos, which is the category where variant choice matters most, because alpha doubles your data rate whichever family you use.

Sources

HAP project, hap.video — the five HAP variants, guidance that Hap R should be used instead of Hap Q and Hap Q Alpha where possible, chunk size guidance, FFmpeg encoding commands, and the HAP QuickTime component.
Derivative TouchDesigner documentation, Hap page, last edited 3 November 2025 — bytes per pixel and compression ratios for each variant, worst-case data rates, BC7 for Hap R and BC6 for Hap HDR, the Windows GPU driver timeout and TdrDelay workaround, chunked encoding guidance and the 12-chunk default, the note that the QuickTime plugin does not encode with chunking, VLC playback limitations as of 3.0.4, and secondary compression on the Movie File Out TOP.
US Cybersecurity and Infrastructure Security Agency, alert of 14 April 2016 — Apple ends support for QuickTime for Windows, two remote code execution vulnerabilities, uninstalling as the only mitigation.
Resolume — DXV codec page and rendering guidance, including alpha channel export and the recommendation to encode at Normal quality unless banding is visible.
Notch — NotchLC documentation and product material: 12-bit luma with 8-bit chroma, 4:1 to 8:1 compression, quality-target encoding, the 16384 by 16384 DirectX 11 ceiling, GPU encoding speed relative to HAP, macOS support, and adoption by TouchDesigner, disguise, Ventuz and Picturall by Analog Way.
Samsung Newsroom and IETF — the APV codec published as RFC 9924 in February 2026, OpenAPV open source release, royalty-free licensing, support in Android 16, FFmpeg and DaVinci Resolve, and file size reduction of more than 10 percent against comparable codecs.
Alliance for Open Media and trade reporting — AV2 specification version 1.0.0 released 28 May 2026 and announced 9 June 2026, approximately 30 percent efficiency improvement over AV1 and up to 40 percent on screen content and HDR, no shipping hardware decoders as of mid-2026, software decode around five times heavier than AV1.
Industry reporting, March 2026 — no major browser support for VVC H.266 decode and continued fragmentation across patent pools.
Apple and vendor documentation — ProRes encoding on Windows available through licensed applications including Adobe Premiere Pro, After Effects and Media Encoder; third-party plugins required for DaVinci Resolve Studio on Windows; FFmpeg’s ProRes encoder as a reverse-engineered implementation with differing metadata.

What to do next

If you only do one thing from this article, check your chunk count and your drive speed. Between them they account for most of the playback problems people blame on hardware.

If you are choosing a format for a specific job, work backwards from the playback environment rather than from the file size. Resolume alone means DXV. Anything that has to move between systems means HAP. Above 4K or with quality scrutiny means NotchLC.

And if you want the wider argument about where pre-rendered content is heading as generation costs collapse, that is in the future of VJ loops.

Latest Feature VJ Loops

Hand-picked visuals by our New Media Artists

Best wishes from Vienna,
Thanks for your attention, faithfully yours,
Alexander Kuiava – Founder & CEO LIME ART GROUP
https://alexanderkuiava.com/