# Name: Video2X Configuration File # Creator: K4YT3X # Date Created: October 23, 2018 # Last Modified: September 28, 2020 # Values here are the default values. Change the value here to # save the default value permanently. # Items commented out are parameters irrelevant to this context # or parameters handled by Video2X internally. waifu2x_caffe: path: '/usr/bin/waifu2x-caffe-cui' tta: 0 # <0|1> 8x slower and slightly high quality gpu: 0 # gpu device no batch_size: 1 # input batch size crop_h: null # input image split size(height) crop_w: null # input image split size(width) crop_size: 128 # input image split size output_depth: 8 # output image chanel depth bit output_quality: -1 # output image quality process: gpu # process mode model_dir: null # path to custom model directory (don't append last / ) #scale_height: 0 # custom scale height (specifying this will overwrite scale_ratio) #scale_width: 0 # custom scale width (specifying this will overwrite scale_ratio) #scale_ratio: null # custom scale ratio noise_level: 3 # <0|1|2|3> noise reduction level mode: noise_scale # image processing mode output_extention: null # extension to output image file when output_path is (auto) or input_path is folder input_extention_list: null # extension to input image file when input_path is folder #output_path: null # path to output image file (when input_path is folder, output_path must be folder) #input_path: null # (required) path to input image file waifu2x_converter_cpp: path: '/usr/bin/waifu2x-converter-cpp' #list-supported-formats: null # dump currently supported format list #list-opencv-formats: null # (deprecated. Use --list-supported-formats) dump opencv supported format list #list-processor # dump processor list #output-format: null # The format used when running in recursive/folder mode png-compression: 5 # Set PNG compression level (0-9), 9 = Max compression (slowest & smallest) image-quality: -1 # JPEG & WebP Compression quality (-1-101, 0 being smallest size and lowest quality, -1 being default), use 101 for lossless WebP block-size: 0 # block size disable-gpu: false # disable GPU force-OpenCL: false # force to use OpenCL on Intel Platform processor: -1 # set target processor (-1 uses default device) jobs: 0 # number of threads launching at the same time model-dir: null # path to custom model directory (don't append last / ) default: models_rgb #scale-ratio: 2.0 # custom scale ratio noise-level: 1 # <0|1|2|3> noise reduction level mode: noise-scale # image processing mode log-level: 1 # <0|1|2|3|4> Set log level silent: true # Enable silent mode. (same as --log-level 1) tta: 0 # Enable Test-Time Augmentation mode. (0 or 1) #generate-subdir: 0 # Generate sub folder when recursive directory is enabled. #auto-naming: 0 # Add postfix to output name when output path is not specified. #recursive-directory: 0 # Search recursively through directories to find more images to process. #output: null # path to output image file or directory (you should use the full path) #input: null # (required) path to input image file or directory (you should use the full path) waifu2x_ncnn_vulkan: path: '/usr/bin/waifu2x-ncnn-vulkan' v: null # verbose output #i: null # input-path: input image path (jpg/png/webp) or directory #o: null # output-path: output image path (jpg/png/webp) or directory 'n': 2 # noise-level: denoise level (-1/0/1/2/3, default=0) s: 2 # scale: upscale ratio (1/2, default=2) t: 400 # tile-size: tile size (>=32, default=400) m: null # model-path: waifu2x model path (default=models-cunet) g: 0 # gpu-id: gpu device to use (default=0) j: '1:2:2' # thread count for load/proc/save (default=1:2:2) can be 1:2,2,2:2 for multi-gpu x: false # enable tta mode #f: png # output image format (jpg/png/webp, default=ext/png) srmd_ncnn_vulkan: path: '/usr/bin/srmd-ncnn-vulkan' v: null # verbose output #i: null # input-path: input image path (jpg/png) or directory #o: null # output-path: output image path (png) or directory 'n': 3 # noise-level: denoise level (-1/0/1/2/3/4/5/6/7/8/9/10, default=3) s: 2 # upscale ratio (2/3/4, default=2) t: 400 # tile-size: tile size (>=32, default=400) m: null # srmd model path (default=models-srmd) g: 0 # gpu device to use (default=0) j: '1:2:2' # thread count for load/proc/save (default=1:2:2) x: false # enable tta mode #f: png # output image format (jpg/png/webp, default=ext/png) realsr_ncnn_vulkan: path: '/usr/bin/realsr-ncnn-vulkan' v: null # verbose output #i: null # input-path: input image path (jpg/png) or directory #o: null # output-path: output image path (png) or directory s: 4 # upscale ratio (4, default=4) t: 0 # tile size (>=32/0=auto, default=0) m: /usr/share/realsr-ncnn-vulkan/models-DF2K_JPEG # realsr model path (default=models-DF2K) g: 0 # gpu device to use (default=0) j: '1:2:2' # thread count for load/proc/save (default=1:2:2) x: false # enable tta mode #f: png # output image format (jpg/png/webp, default=ext/png) anime4kcpp: path: '/usr/bin/Anime4KCPP_CLI' #input: null # File for loading (string [=./pic/p1.png]) #output: null # File for outputting (string [=output.png]) passes: 2 # Passes for processing (int [=2]) pushColorCount: 2 # Limit the number of color pushes (int [=2]) strengthColor: 0.3 # Strength for pushing color,range 0 to 1,higher for thinner (double [=0.3]) strengthGradient: 1.0 # Strength for pushing gradient,range 0 to 1,higher for sharper (double [=1]) zoomFactor: 2.0 # zoom factor for resizing (double [=2]) threads: 16 # Threads count for video processing (unsigned int [=16]) fastMode: false # Faster but maybe low quality videoMode: false # Video process preview: null # Preview image preprocessing: false # Enable pre processing postprocessing: false # Enable post processing preFilters: 4 # Enhancement filter, only working when preProcessing is true,there are 5 options by binary:Median blur=0000001, Mean blur=0000010, CAS Sharpening=0000100, Gaussian blur weak=0001000, Gaussian blur=0010000, Bilateral filter=0100000, Bilateral filter faster=1000000, you can freely combine them, eg: Gaussian blur weak + Bilateral filter = 0001000 | 0100000 = 0101000 = 40(D) (unsigned int [=4]) postFilters: 40 # Enhancement filter, only working when postProcessing is true,there are 5 options by binary:Median blur=0000001, Mean blur=0000010, CAS Sharpening=0000100, Gaussian blur weak=0001000, Gaussian blur=0010000, Bilateral filter=0100000, Bilateral filter faster=1000000, you can freely combine them, eg: Gaussian blur weak + Bilateral filter = 0001000 | 0100000 = 0101000 = 40(D), so you can put 40 to enable Gaussian blur weak and Bilateral filter, which also is what I recommend for image that < 1080P, 48 for image that >= 1080P, and for performance I recommend to use 72 for video that < 1080P, 80 for video that >=1080P (unsigned int [=40]) GPUMode: false # Enable GPU acceleration CNNMode: false # Enable ACNet HDN: false # Enable HDN mode for ACNet HDNLevel: 1 # Set HDN level (int [=1]) listGPUs: null # list GPUs platformID: 0 # Specify the platform ID (unsigned int [=0]) deviceID: 0 # Specify the device ID (unsigned int [=0]) codec: mp4v # Specify the codec for encoding from mp4v(recommended in Windows), dxva(for Windows), avc1(H264, recommended in Linux), vp09(very slow), hevc(not support in Windowds), av01(not support in Windowds) (string [=mp4v]) forceFps: 0 # Set output video fps to the specifying number, 0 to disable (float [=0]) disableProgress: false # disable progress display webVideo: null # process the video from URL alpha: false # preserve the Alpha channel for transparent image ffmpeg: ffmpeg_path: '/usr/bin' intermediate_file_name: 'intermediate.mkv' # Step 1: Frame Extraction # extract all frames from original input into temporary directory extract_frames: '-hwaccel': auto # automatically select hardware acceleration method '-y': true input_options: {} # empty dict, expand if necessary output_options: '-pix_fmt': rgb24 # extracted frames pixel format '-qscale:v': null # output image quality control for JPEG (1-31, 1 being highest) # Step 2: Video Assembly # assemble all frames back into a video with only a video track assemble_video: '-hwaccel': auto # automatically select hardware acceleration method '-y': true input_options: '-f': image2 # force image2 format output_options: '-vcodec': libx264 # video codec '-pix_fmt': 'yuv420p' # overwrite default pixel format '-crf': 18 # H.264 Constant Rate Factor '-b:v': null # target average bitrate '-vf': 'pad=ceil(iw/2)*2:ceil(ih/2)*2' # ensure output is divisible by 2, recommended for libx264 '-tune': 'animation' # encoding tuning film/animation/grain/stillimage/fastdecode/zerolatency/psnr/ssim '-preset:v': 'fast' # Step 3: Streams Migration # migrate audio and subtitle streams from original # video into the upscaled video migrate_streams: '-hwaccel': auto # automatically select hardware acceleration method '-y': true input_options: {} # empty dict, expand if necessary output_options: '-map': - '0:v?' # copy video streams - '1:a?' # copy audio streams - '1:s?' # copy subtitle streams - '1:d?' # copy data streams - '1:t?' # copy fonts '-c': copy # copy codec for all streams # '-vf': 'minterpolate=''fps=60''' # minterpolate frame interpolation '-map_metadata': 0 # copy known metadata tags # '-movflags': 'use_metadata_tags' # copy custom/arbitrary metadata tags '-pix_fmt': null '-metadata': 'comment=Upscaled by Video2X' gifski: gifski_path: '/usr/bin' # output: null # Destination file to write to # fps: 20 # Animation frames per second (for PNG frames only) [default: 20] fast: false # 3 times faster encoding, but 10% lower quality and bigger file quality: 100 # Lower quality may give smaller file #width: null # Maximum width #height: null # Maximum height (if width is also set) once: false # Do not loop the GIF nosort: false # Use files exactly in the order given, rather than sorted quiet: false # Do not show a progress bar video2x: video2x_cache_directory: "/var/tmp/video2x" # Frames can be very very large in size, so we can't use /tmp # default: %TEMP%\video2x, directory where cache files are stored, will be deleted if preserve_frames is not set to true extracted_frame_format: png # png/jpg intermediate file format used for extracted frames during video processing output_file_name_format_string: "{original_file_name}_output{extension}" # format string to use for generating output file names image_output_extension: .png # image output extension during batch processing video_output_extension: .mkv # video output extension during batch processing preserve_frames: false # if set to true, the cache directory won't be cleaned upon task completion