Add the NUT file container as an output option

I recently discovered the no-fuss NUT container, and that it can be dragged in to TVAI as input. So how about TVAI adding it as an output option, given that it’s fully supported by ffmpeg. As an example, if I want to use ProRes, the only current option in the UI is the restrictive MOV container. However, ffmpeg will happily support NUT in this case, via the CLI, and any other combination of codecs AFAIK. NUT also has the advantage that it can be opened and played by VLC while it’s still being written. Quite handy if the processing fps is at least real time.

Thanks.

Andy

NUT is great, and while it is not supported by all subsequent encoding tools, but it is still supported by many encoding tools and is very useful as an intermediary container, especially when realtime-preview with external MPV player.

You can add output NUT support by editing your video-encoders.json and adding nut as an extension to existing presets.

NUT is a great intermediary container, and likewise, FFV1 level 3 and rgb48le pixel format is an awesome intermediary codec. The NUT + FFV1 combo probably deserves its own “lossless intermediary” official preset. Here’s a snippet of the preset that I manually added for FFV1 at rgb48le with NUT, which I drop into video-encoders.json next to the default FFV1 presets. I use rgb48le, because that is the pixel format that the TVAI filter uses internally, so in theory, you end up with a lossless (albeit large) representation of the frames that leave the TVAI filter.

  {
    "id": "ffv1-16bit-rgb48le",
    "encoder": "FFV1",
    "profile": "16-bit RGB48le",
    "ffmpegOpts": "-codec:v ffv1 -level:v 3 -coder:v range_tab -slices:v 4 -slicecrc:v 1 -pix_fmt:v rgb48le -g:v 1",
    "ext": [
      "nut",
      "mkv",
      "mov",
      "avi"
    ]
  },
2 Likes

Hello,

This has now been implemented as an official input option, and we are currently working on adding NUT as an export container.

1 Like

That’s great news for both input and output. I think the NUT container deserves to be more widely known. AFAIK it handles all video and audio codecs, including ProRes. So it’s perfect as an intermediate file. But also it can be opened by VLC - even while it’s being written. So those fortunate enough to have machines that can to process faster than real time can enjoy the output almost right away. Just give VLC a few seconds before opening the NUT file, and it will keep up - a bit like a live stream.

EDIT: For those who might be wondering why Topaz are implementing this, I think it’s worth mentioning that ffmpeg, which TVAI uses, fully support the NUT container anyway for input and output. So I think it’s only minor changes to the UI required.

Many thanks.

Andy

Hello.

So those fortunate enough to have machines that can to process faster than real time can enjoy the output

Yeah, but for those that think that ProRes could be up to a TiB in filesize is excessive, though - NUT says: “Wait til they get a LOAD of me!”

But wait - what if I now ask Topaz to support ffmpeg’s raw video format for output. NUT can handle that, no problem. Just imagine the file sizes then!

I’ve not yet tried dragging in a NUT with raw video into the UI. In theory it should work, as ffmpeg can handle it…

All storage mediums have left the building!

1 Like