microsoft / microsoft/PowerToys

[Peek] Add extensible codec support for professional video formats such as ProRes and DNxHD/DNxHR

Open
#50,173 1 comment 0 reactions 0 assignees View on GitHub
Needs-Triage Product-Peek
Dominant language
C
Stars
139k
Forks
8.6k
PR merge metrics
PR metrics pending

Description

### Description of the new feature / enhancement

PowerToys Peek currently relies primarily on the Windows Media Foundation decoding pipeline. As a result, professional video codecs that are not supported by Windows, such as Apple ProRes and Avid DNxHD/DNxHR, cannot be previewed even when the MOV container itself is recognized.

Please consider adding one or both of the following:

Built-in decoding support for commonly used professional codecs, including:

Apple ProRes 422, LT, Proxy and HQ

Apple ProRes 4444 and 4444 XQ

Avid DNxHD and DNxHR

MOV and MXF containers where applicable

An optional and extensible decoding backend, allowing users to enable an additional codec component when Media Foundation cannot decode a file. This could use a supported FFmpeg-based media source, a codec-extension interface, or another safely isolated decoder backend.

Expected behavior:

When Media Foundation supports the selected video, Peek should continue using the existing native playback path.

When Media Foundation reports a missing codec, Peek should optionally fall back to the additional decoder.

Playback should remain inside the Peek interface, with its existing play, pause, seek, volume and full-screen controls.

Unsupported or malformed files should fail gracefully without affecting normal Peek previews.

The additional decoder should be optional so that licensing, package size and security considerations can be handled separately.

This request concerns decoding and preview only; encoding support is not required.

### Scenario when this would be used?

Video editors, motion designers, VFX artists and other media professionals frequently work with ProRes and DNxHD/DNxHR files because these codecs are widely used for editing, intermediate renders, proxies, compositing and master delivery.

Peek is especially useful for quickly reviewing assets from File Explorer without opening a full editing application. However, it currently cannot display many professional video files on Windows. Users may see audio without video or receive a missing-codec message, despite the same file working correctly inside editing software that includes its own decoder.

For example, a ProRes 422 Standard MOV file using the apcn subtype is recognized as a video file, but Peek reports that the device does not support the following format:

{6170636E-767A-494D-B478-F29D25DC9037}

Installing a traditional DirectShow codec pack does not generally solve this because Peek uses the Media Foundation/WinRT media pipeline. Professional applications may also include private ProRes decoders that are unavailable to Peek.

Adding a supported fallback decoder would make Peek considerably more useful in professional media workflows while preserving the fast File Explorer preview experience.

### Supporting information

Current reproduction steps:

Select a MOV file encoded as Apple ProRes 422 Standard (apcn) in File Explorer.

Activate PowerToys Peek.

Peek recognizes the file as video and opens its media preview interface.

Video playback fails with a missing or unsupported codec message.

The current Peek video previewer creates a Windows.Media.Core.MediaSource and queries installed decoders through Windows.Media.MediaProperties.CodecQuery. This means codec support is limited by the Media Foundation decoders available to the application.

Contributor guide

Open the contributing guide

Research direction

Start with the current Peek video previewer entry point that creates Windows.Media.Core.MediaSource and queries Windows.Media.MediaProperties.CodecQuery. Determine how an optional decoder backend could be selected only when Media Foundation cannot decode the file, while preserving the native path and existing controls. Done means supported ProRes or DNxHD/DNxHR files preview in Peek, while unsupported or malformed files fail gracefully.

Written by the indexing model from the issue text.

Assessment

Domain
desktop
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.