AviSynth

The last post I found mentionning AviSynth was 3 years old, wondering where we stand now? The ability to load AVS scripts directly in VEAI is sorely missed, but I understand there are legal implications with the redistributables of FFMPEG.

What can we do now to circumvent this issue? Can we substitute Topaz’s FFMPEG with our own build? Are we stuck with the necessity to use AVFS and frameserv that to VEAI? (And does it work, haven’t set it up yet).

AviSythn still has a GPL licence so can’t be built into the version of FFmpeg Topaz Lab distribute.
You can build you own, they keep a version of the ffmpeg source on GitHub that you can link to the closed source libraries the provide in the same repository.

I’m not sure if replacing the binary is a good idea, but there are menu commands in TVAI that spit out the ffmpeg command for you to run.

I’ve had some luck building my own ffmpeg with this repo. It fails half of the days that I try it, but it’s usually back up if I try again in a week or so. Anyway, I’m not sure how to do it, but I’m sure you can use the FFmpeg Topaz Lab distribute some how with that build script and tools.

I tried using my own ffmpeg but it failed, I suppose they are using unorthodox libs in a custom-built ffmpeg? I haven’t found a topaz ffmpeg github either.

I will probably stick to AVFS if it works.

1 Like

My solution: coexistence and avoidance of intermediate files via…piping! I use “regular” ffmpeg to decode the AVISynth script, pipe the raw decoded video frames to TVAI’s ffmpeg to perform the upscale/enhancement, and pipe that raw result back to “regular” ffmpeg to do CPU encoding because I don’t like using the hardware encoder for h.264 (quality, file size). I developed batch files that take parameters and produce the single (large) command line needed. Open the TVAI command prompt window (to set up the environment properly for the custom ffmpeg), then run the batch file with the desired parameters (including upscale engine and settings), and the decode/upscale/encode is performed in a single step.

The only other options would be to compile a custom ffmpeg binary as previously stated in this thread, or to suffer the inconvenience of using intermediate files: decode AVS to e.g. ffv1 (lossless), run the ffv1 through TVAI, etc.

I dislike piping as an option as it forces you to run VAI blindly, without being able to preview and adjust your paremeters first.

In the end AVFS is simply excellent. One line to mount the AVS script and you can open the file in VAI like before. Completely hassle free.

Sure, AVFS is fine. When I’m “dialing in” my settings, I use that or an interim file, so that I can play with the video in the UI and try the models and settings. However, when the time comes for processing, I rely on CLI exclusively. I’ve upscaled all my old SD TV show DVD sets (for personal use), and a UI-based process would not have scaled for the hundreds of files I’ve run through it over the years. I have a batch file that I can feed the model name and settings to, and it will run the complete process to produce the output video/audio I want. That, plus a little tool I wrote to batch-process based on wildcards (and spawn threads for multi-processing, when desired), gives me a way to process an entire TV show of hundreds of episodes with a single CLI command.