Topaz Video AI v3.0.5

Previous versions (e.g. 3.0.4) listed “Quality mismatch between 2.6.4. and 3.0.x for some models.” under “Known Issues”. This line, along with my own comparisons between 2.6.4 and earlier versions of 3.0, indicated to me that the models in 3.0 were—at least in some cases—of worse quality than those in 2.6.4.

So 3.0.5 has gotten model quality back up to where it was before.

1 Like

It’s the same driver as the game ready, but released less often and supposed to be more stable.

1 Like

I’m using the FFMPEG cli.

  • This worked in 3.0.4
  • This is the current nvidia studio driver, I also downgraded to the previous with no change (I’m back on current)
  • h264_nvenc works fine

Command Line (some bits redacted just to keep it shorter)

(FFMPEG command line was largely generated by 3.0.5 GUI with some hand edits to try to troubleshoot and enable debug messaging.)

ffmpeg -v debug "-hide_banner" "-nostdin" "-y" -strict 2 -hwaccel auto "-i" "{inputfile}" "-avoid_negative_ts" "1" "-sws_flags" "spline+accurate_rnd+full_chroma_int" "-color_trc" "2" "-colorspace" "2" "-color_primaries" "2" "-filter_complex" "veai_up=model=prob-3:scale=0:w=1280:h=960:preblur=-0.48:noise=0.24:details=0.32:halo=0.48:blur=0:compression=0.96:device=0:vram=0.9:instances=1,noise=c0s=20:allf=t:all_seed=0,scale=w=1280:h=960:flags=lanczos:threads=0" -c:v hevc_nvenc -profile:v main -preset medium -pix_fmt yuv420p -global_quality 19 "-b:v" "0" "-map_metadata" "0" "-movflags" "frag_keyframe+empty_moov+delay_moov+use_metadata_tags+write_colr " "-map_metadata:s:v" "0:s:v" "-map_metadata:s:a" "0:s:a" "-c:a" "aac" "-metadata" "videoai={removed}" "{outputfile}"

Relevant Debug FFMPEG STDERR
(from first [hevc_nvenc] to the end)

[hevc_nvenc @ 00000218E3601780] Loaded lib: nvcuda.dll
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuInit
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuDeviceGetCount
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuDeviceGet
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuDeviceGetAttribute
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuDeviceGetName
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuDeviceComputeCapability
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuCtxCreate_v2
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuCtxSetLimit
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuCtxPushCurrent_v2
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuCtxPopCurrent_v2
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuCtxDestroy_v2
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuMemAlloc_v2
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuMemAllocPitch_v2
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuMemAllocManaged
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuMemsetD8Async
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuMemFree_v2
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuMemcpy
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuMemcpyAsync
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuMemcpy2D_v2
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuMemcpy2DAsync_v2
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuMemcpyHtoD_v2
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuMemcpyHtoDAsync_v2
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuMemcpyDtoH_v2
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuMemcpyDtoHAsync_v2
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuMemcpyDtoD_v2
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuMemcpyDtoDAsync_v2
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuGetErrorName
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuGetErrorString
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuCtxGetDevice
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuDevicePrimaryCtxRetain
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuDevicePrimaryCtxRelease
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuDevicePrimaryCtxSetFlags
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuDevicePrimaryCtxGetState
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuDevicePrimaryCtxReset
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuStreamCreate
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuStreamQuery
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuStreamSynchronize
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuStreamDestroy_v2
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuStreamAddCallback
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuEventCreate
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuEventDestroy_v2
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuEventSynchronize
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuEventQuery
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuEventRecord
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuLaunchKernel
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuLinkCreate
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuLinkAddData
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuLinkComplete
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuLinkDestroy
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuModuleLoadData
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuModuleUnload
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuModuleGetFunction
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuModuleGetGlobal
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuTexObjectCreate
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuTexObjectDestroy
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuGLGetDevices_v2
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuGraphicsGLRegisterImage
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuGraphicsUnregisterResource
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuGraphicsMapResources
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuGraphicsUnmapResources
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuGraphicsSubResourceGetMappedArray
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuGraphicsResourceGetMappedPointer_v2
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuDeviceGetUuid
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuImportExternalMemory
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuDestroyExternalMemory
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuExternalMemoryGetMappedBuffer
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuExternalMemoryGetMappedMipmappedArray
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuMipmappedArrayGetLevel
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuMipmappedArrayDestroy
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuImportExternalSemaphore
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuDestroyExternalSemaphore
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuSignalExternalSemaphoresAsync
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuWaitExternalSemaphoresAsync
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuArray3DCreate_v2
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuArrayDestroy
[hevc_nvenc @ 00000218E3601780] Cannot load optional cuEGLStreamProducerConnect
[hevc_nvenc @ 00000218E3601780] Cannot load optional cuEGLStreamProducerDisconnect
[hevc_nvenc @ 00000218E3601780] Cannot load optional cuEGLStreamConsumerDisconnect
[hevc_nvenc @ 00000218E3601780] Cannot load optional cuEGLStreamProducerPresentFrame
[hevc_nvenc @ 00000218E3601780] Cannot load optional cuEGLStreamProducerReturnFrame
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuD3D11GetDevice
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuD3D11GetDevices
[hevc_nvenc @ 00000218E3601780] Loaded sym: cuGraphicsD3D11RegisterResource
[hevc_nvenc @ 00000218E3601780] Loaded lib: nvEncodeAPI64.dll
[hevc_nvenc @ 00000218E3601780] Loaded sym: NvEncodeAPICreateInstance
[hevc_nvenc @ 00000218E3601780] Loaded sym: NvEncodeAPIGetMaxSupportedVersion
[hevc_nvenc @ 00000218E3601780] Loaded Nvenc version 12.0
[hevc_nvenc @ 00000218E3601780] Nvenc initialized successfully
[hevc_nvenc @ 00000218E3601780] 1 CUDA capable devices found
[hevc_nvenc @ 00000218E3601780] [ GPU #0 - < NVIDIA GeForce GTX 1080 > has Compute SM 6.1 ]
[hevc_nvenc @ 00000218E3601780] B frames as references are not supported
[hevc_nvenc @ 00000218E3601780] No capable devices found
[hevc_nvenc @ 00000218E3601780] Nvenc unloaded
Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height
[Parsed_veai_up_0 @ 00000218E3635BC0] Uninit called for prob-3 0
[aac @ 00000218E36025C0] Qavg: 53113.934
[aac @ 00000218E36025C0] 2 frames left in the queue on closing
[AVIOContext @ 00000218E12AB500] Statistics: 0 bytes written, 0 seeks, 0 writeouts
Terminating demuxer thread 0
[AVIOContext @ 00000218E129F380] Statistics: 32768 bytes read, 0 seeks
Conversion failed!

Might be a GTX issue then with 3.0.5. I have machines with RTX 20 and 30 but they don’t have Video AI installed.

I have a feeling this is similar to what I posted about here: https://community.topazlabs.com/t/topaz-video-ai-3-0-5-0-b/37094/27?u=david.123

Try adding “-b_ref_mode disabled” in the video encoder section on the command line (after -c:v) and see if that fixes it.

Yes, it is unfortunately an issue with that particular card. The NVENC encoders in FFmpeg were updated to a newer version that has support for HEVC B frames, and it appears that setting defaults to enabled on all cards even if they don’t support it.

HEVC B frames are only supported in hardware from 7th gen (1650 Super) onwards. For older cards, you’ll need to provide -b_ref_mode disabled as the other poster suggested.

1 Like

If this is the case, NVENC HEVC will be broken for anyone trying to use a GTX series card. Not everyone is capable or willing to edit their encoders.json file, so some sort of fix will need to be added to the application.

4 Likes

The most outstanding thing the 3.0 (up to 3.05) doesn’t let me log in, and I spent my money for nothing. Same nothing as topaz tech support.

It’s gone from something that was fun to tinker with, to a complete waste of time. It’s truly frustrating, and making things worse, is all the technobabble in this forum, which makes absolutely no sense to me and is totally unhelpful. No offense to those who know all this video technical stuff, but I thought this software was for the novice to, but it no longer appears that way. It would be like me coming into this forum and talking about a recent mast moment exceedance, that occurred in an Airbus H145 helicopter. I’m sure I’d get a blank stare from just about everybody in this forum, which is how I feel while reading though most of these forum messages.

2 Likes

That did fix it.

EDIT: I updated my encoders.json but it would be nice if Video AI did that for people in 3.0.6.

2 Likes

It’s likely there is something on your system that is blocking Video AI from accessing the Internet to talk to the Topaz activation server.

This is not Topaz’s problem.

I recommend you use Google and find out how to create a firewall exception for Video AI.

Please can we have ProRes 444 (and ProRes 4444 to preserve alpha channel) in Windows too. It was advertised as having this but it doesn’t exist in Windows.

First time user here…

I am trying to deinterlace HDV footage (.mt2 files from the Canon HV20) and Topaz constantly crashes when I try to export.

Is this a known issue?

I hope they add it quickly, because the current version is absolutely useless without 2.6.4’s grain controls. Honestly, I’m REALLY pissed that I spent money on this beta crap.

3 Likes

How do I judge the quality of the improvement if the preview input window shows a different frame than the output window?
I only have this issue on the one video so far.
On Export windows is ok. On 2.6.4 preview synchro is ok.
Win11, RTX3050, Ryzen 3600G

2 Likes

It could be to low GPU memory. My other computer does the same. I think the limit is 4gb.

image

all videos uploaded with 60fps appear on youtube with 30fps… :sob:

I’ve tried a variety of videos and files, nothing works. Below is an example of the errors I’m getting. I installed 2.6.4 and have no issues.

When generating previews, I’m getting the following errors using the following settings.

Upscale to HD Resolution
Enhancement - Progressive.
AI Model - Fine-Tune/Enhance

When attempting preview

  • Error message from AI engine: model failed.
  • Error message from AI engine: model failed.
  • Error message from AI engine: model failed.
  • Error message from AI engine: model failed.
  • Error message from AI engine: model failed.
  • Error message from AI engine: model failed.
  • Error message from AI engine: model failed.
  • Error message from AI engine: model failed.
  • Error message from AI engine: model failed.

When attempting export:

Unknown Error
Last FFmpeg messages:

-vsync is deprecated. Use -fps_mode
Passing a number to -vsync is deprecated, use a string argument as described in the manual. Filenametvai.mov: Permission denied

Not sure, but looks most like what happens when I try to output to a ‘tighter’ security folder in Windows. Like Program Files.

Hello guys,

I managed to identify the problem of videos with a framerate of 60fps that youtube only recognizes as 30fps, the videos generated by Topaz Video AI really have 60fps but with variable framerate, if I upload these videos to youtube they will be recognized as 30fps. I reconverted those same videos with Handbrake and the final file has a constant framerate of 60fps, this difference between constant and variable is what makes youtube not accept the video as 60fps. Could you correct this attribute in the generated video? or at least give an option to generate as constant framerate?
image

8 Likes