News:

--

Main Menu

Support for NV1 video streams

Started by Rhapsody, January 12, 2025, 04:26:56 AM

Previous topic - Next topic

Rhapsody

Nvidia recently updated their Nvidia Overlay to allow exporting video capture in AV1 format (technically NV1). Avidemux appears to have trouble with these files; audio plays fine, but the video preview is black and timeline scrubbing does not work. Would it be possible to add support for this to Avidemux? I'd much prefer to export my video captures in this format and clip them with Avidemux as it's about half the file size of the normal capture option.

eumagga0x2a

#1
Not sure what you mean with NV1 in context of a video codec. AV1 video codec is supported for decoding (in software and in current 2.8.2 builds also in hw) and for encoding (on Windows: software only, hardware encoder supported for VA-API on Linux) by Avidemux since quite a long time. In doubt, please provide a sample, preferably small in size, preferably via WeTransfer (no email address required despite the site trying to suggest the opposite), Mega, Dropbox or Google Drive.

Rhapsody

Quote from: eumagga0x2a on January 12, 2025, 09:01:43 PMNot sure what you mean with NV1 in context of a video codec. AV1 video codec is supported for decoding (in software and in current 2.8.2 builds also in hw) and for encoding (on Windows: software only, hardware encoder supported for VA-API on Linux) by Avidemux since quite a long time. In doubt, please provide a sample, preferably small in size, preferably via WeTransfer (no email address required despite the site trying to suggest the opposite), Mega, Dropbox or Google Drive.

Here's a sample video that exhibits this problem in avidemux 2.8.2: https://drive.google.com/file/d/1VSMyf4EvMGshhDx5g1Wa8TRA2oRbbg_n/view?usp=sharing

Additionally, this issue has also been reported on the avidemux subreddit and corroborated by at least four other users in total in that thread: https://www.reddit.com/r/Avidemux/comments/1gm5b2k/avidemux_support_for_nv1_for_clips_recorded_using/

As for the name "NV1" I got it from that thread which might be incorrect, but the fact is the same that AV1 files generated by Nvidia App are not working properly in avidemux.

eumagga0x2a

Thank you for the sample. While it gets decoded in Avidemux without issues in hardware using NVDEC, available for AV1 with recent NVIDIA graphics cards, the software path via libaom fails because libaom by default doesn't support experimental levels the video stream claims to require. Experimental support can be enabled in libaom at build time ("CONFIG_CWG_C013"), will evaluate it at a later time.

Rhapsody

#4
Great, thank you! Is there anything I need to do to enable hardware decoding? I have an RTX 4080 which I imagine should be recent enough for this.

Edit: If this is referring to the "Decode video using NVDEC" option in Preferences > HW Accel, this option does not seem to resolve the issue.

eumagga0x2a

This is exactly the option which allows such AV1 streams to be decodable in Avidemux – and it really works on my system with an older NVIDIA graphics card, albeit on Linux. Did you make sure that libavcodec multi-threading in Avidemux preferences is disabled? This is a requirement for hw decoders to be able to work.

Rhapsody

The multi-threading option under "Threading" is set to disabled if that's what you mean. Platform is Windows 11.

eumagga0x2a

Just tried on Windows 11 on a PC with NVIDIA Geforce RTX 3050:

The official r241212 build: playing the sample works fine via DXVA2 and NVDEC.

My own cross-compiled build with experimental features built into libaom: playing the sample works via software decoder which is libaom (requires VU meter to be hidden to keep up with the frame rate), DXVA2 and NVDEC.

The drawback of enabling experimental features in libaom is that it requires the library to be built as a static library instead of a shared one. This increases the size of the installation by approx. 7 MiB.

Geo_log

I can open and play this file on Windows 11 with NVIDIA GeForce RTX 3050 with Avidemux 2.8.2 241214_-fflibs 7.0.2-VC++ and all options in "HW Accel" set to "on" and Multi-threading disabled.
The Avidemux's main screen says: Decoder:NVDEC  Display:DXVA2