This project aims to use ffmpeg to call avs scripts and use svpflow to frame videos.
-
Use vspipe,x265
-
Use mkvmerge
-
Use qsvencc
-
Use ffmpeg
-
Because ffmpeg sometimes go wrong,try x265 or qsvencc/nvenccc
-
Avi only support yv12,so try vpy to encode p010
- First, you need to install AviSynth+ and ffmpeg_shared yourself, copy all the contents in the plugins64 folder of this project to the plugins64 folder under its installation directory (default is C:\Program Files (x86)\AviSynth+) .
- Modify the example.avs script, modify the filename of the video that needs to be framed, and modify the location of the dll file.
- The parameters of this project require high CPU performance, please modify the frame parameters according to your own configuration.
- Modify the input file name and output file name in the process.bat script, the default is to use h264_nvenc compression, -cq 1, you can modify the compression parameters as needed.
- Put the avs script, bat script and the video to be processed in the same working directory.
- Finally , double-click the .bat script to frame.
-preset <int> E..V.... Set the encoding preset (from 0 to 11) (default medium)
default E..V....
slow E..V.... hq 2 passes
medium E..V.... hq 1 pass
fast E..V.... hp 1 pass
hp E..V....
hq E..V....
bd E..V....
ll E..V.... low latency
llhq E..V.... low latency hq
llhp E..V.... low latency hp
lossless E..V....
losslesshp E..V....
-profile <int> E..V.... Set the encoding profile (from 0 to 3) (default main)
baseline E..V....
main E..V....
high E..V....
high444p E..V....
-level <int> E..V.... Set the encoding level restriction (from 0 to 51) (default auto)
auto E..V....
1 E..V....
1.0 E..V....
1b E..V....
1.0b E..V....
1.1 E..V....
1.2 E..V....
1.3 E..V....
2 E..V....
2.0 E..V....
2.1 E..V....
2.2 E..V....
3 E..V....
3.0 E..V....
3.1 E..V....
3.2 E..V....
4 E..V....
4.0 E..V....
4.1 E..V....
4.2 E..V....
5 E..V....
5.0 E..V....
5.1 E..V....
-rc <int> E..V.... Override the preset rate-control (from -1 to INT_MAX) (default -1)
constqp E..V.... Constant QP mode
vbr E..V.... Variable bitrate mode
cbr E..V.... Constant bitrate mode
vbr_minqp E..V.... Variable bitrate mode with MinQP
ll_2pass_quality E..V.... Multi-pass optimized for image quality (only for low-latency presets)
ll_2pass_size E..V.... Multi-pass optimized for constant frame size (only for low-latency presets)
vbr_2pass E..V.... Multi-pass variable bitrate mode
-rc-lookahead <int> E..V.... Number of frames to look ahead for rate-control (from -1 to INT_MAX) (default -1)
-surfaces <int> E..V.... Number of concurrent surfaces (from 0 to 64) (default 32)
-cbr <boolean> E..V.... Use cbr encoding mode (default false)
-2pass <boolean> E..V.... Use 2pass encoding mode (default auto)
-gpu <int> E..V.... Selects which NVENC capable GPU to use. First GPU is 0, second is 1, and so on. (from -2 to INT_MAX) (default any)
any E..V.... Pick the first device available
list E..V.... List the available devices
-delay <int> E..V.... Delay frame output by the given amount of frames (from 0 to INT_MAX) (default INT_MAX)
-no-scenecut <boolean> E..V.... When lookahead is enabled, set this to 1 to disable adaptive I-frame insertion at scene cuts (default false)
-forced-idr <boolean> E..V.... If forcing keyframes, force them as IDR frames. (default false)
-b_adapt <boolean> E..V.... When lookahead is enabled, set this to 0 to disable adaptive B-frame decision (default true)
-spatial-aq <boolean> E..V.... set to 1 to enable Spatial AQ (default false)
-temporal-aq <boolean> E..V.... set to 1 to enable Temporal AQ (default false)
-zerolatency <boolean> E..V.... Set 1 to indicate zero latency operation (no reordering delay) (default false)
-nonref_p <boolean> E..V.... Set this to 1 to enable automatic insertion of non-reference P-frames (default false)
-strict_gop <boolean> E..V.... Set 1 to minimize GOP-to-GOP rate fluctuations (default false)
-aq-strength <int> E..V.... When Spatial AQ is enabled, this field is used to specify AQ strength. AQ strength scale is from 1 (low) - 15 (aggressive) (from 1 to 15) (default 8)
-cq <int> E..V.... Set target quality level (0 to 51, 0 means automatic) for constant quality mode in VBR rate control (from 0 to 51) (default 0)
-aud <boolean> E..V.... Use access unit delimiters (default false)
-bluray-compat <boolean> E..V.... Bluray compatibility workarounds (default false)
-init_qpP <int> E..V.... Initial QP value for P frame (from -1 to 51) (default -1)
-init_qpB <int> E..V.... Initial QP value for B frame (from -1 to 51) (default -1)
-init_qpI <int> E..V.... Initial QP value for I frame (from -1 to 51) (default -1)
-qp <int> E..V.... Constant quantization parameter rate control method (from -1 to 51) (default -1)
-preset <string> E..V..... Set the encoding preset (cf. x264 --fullhelp) (default "medium")
-tune <string> E..V..... Tune the encoding params (cf. x264 --fullhelp)
-profile <string> E..V..... Set profile restrictions (cf. x264 --fullhelp)
-fastfirstpass <boolean> E..V..... Use fast settings when encoding first pass (default true)
-level <string> E..V..... Specify level (as defined by Annex A)
-passlogfile <string> E..V..... Filename for 2 pass stats
-wpredp <string> E..V..... Weighted prediction for P-frames
-a53cc <boolean> E..V..... Use A53 Closed Captions (if available) (default true)
-x264opts <string> E..V..... x264 options
-crf <float> E..V..... Select the quality for constant quality mode (from -1 to FLT_MAX) (default -1)
-crf_max <float> E..V..... In CRF mode, prevents VBV from lowering quality beyond this point. (from -1 to FLT_MAX) (default -1)
-qp <int> E..V..... Constant quantization parameter rate control method (from -1 to INT_MAX) (default -1)
-aq-mode <int> E..V..... AQ method (from -1 to INT_MAX) (default -1)
none E..V.....
variance E..V..... Variance AQ (complexity mask)
autovariance E..V..... Auto-variance AQ
autovariance-biased E..V..... Auto-variance AQ with bias to dark scenes
-aq-strength <float> E..V..... AQ strength. Reduces blocking and blurring in flat and textured areas. (from -1 to FLT_MAX) (default -1)
-psy <boolean> E..V..... Use psychovisual optimizations. (default auto)
-psy-rd <string> E..V..... Strength of psychovisual optimization, in <psy-rd>:<psy-trellis> format.
-rc-lookahead <int> E..V..... Number of frames to look ahead for frametype and ratecontrol (from -1 to INT_MAX) (default -1)
-weightb <boolean> E..V..... Weighted prediction for B-frames. (default auto)
-weightp <int> E..V..... Weighted prediction analysis method. (from -1 to INT_MAX) (default -1)
none E..V.....
simple E..V.....
smart E..V.....
-ssim <boolean> E..V..... Calculate and print SSIM stats. (default auto)
-intra-refresh <boolean> E..V..... Use Periodic Intra Refresh instead of IDR frames. (default auto)
-bluray-compat <boolean> E..V..... Bluray compatibility workarounds. (default auto)
-b-bias <int> E..V..... Influences how often B-frames are used (from INT_MIN to INT_MAX) (default INT_MIN)
-b-pyramid <int> E..V..... Keep some B-frames as references. (from -1 to INT_MAX) (default -1)
none E..V.....
strict E..V..... Strictly hierarchical pyramid
normal E..V..... Non-strict (not Blu-ray compatible)
-mixed-refs <boolean> E..V..... One reference per partition, as opposed to one reference per macroblock (default auto)
-8x8dct <boolean> E..V..... High profile 8x8 transform. (default auto)
-fast-pskip <boolean> E..V..... (default auto)
-aud <boolean> E..V..... Use access unit delimiters. (default auto)
-mbtree <boolean> E..V..... Use macroblock tree ratecontrol. (default auto)
-deblock <string> E..V..... Loop filter parameters, in <alpha:beta> form.
-cplxblur <float> E..V..... Reduce fluctuations in QP (before curve compression) (from -1 to FLT_MAX) (default -1)
-partitions <string> E..V..... A comma-separated list of partitions to consider. Possible values: p8x8, p4x4, b8x8, i8x8, i4x4, none, all
-direct-pred <int> E..V..... Direct MV prediction mode (from -1 to INT_MAX) (default -1)
none E..V.....
spatial E..V.....
temporal E..V.....
auto E..V.....
-slice-max-size <int> E..V..... Limit the size of each slice in bytes (from -1 to INT_MAX) (default -1)
-stats <string> E..V..... Filename for 2 pass stats
-nal-hrd <int> E..V..... Signal HRD information (requires vbv-bufsize; cbr not allowed in .mp4) (from -1 to INT_MAX) (default -1)
none E..V.....
vbr E..V.....
cbr E..V.....
-avcintra-class <int> E..V..... AVC-Intra class 50/100/200 (from -1 to 200) (default -1)
-me_method <int> E..V..... Set motion estimation method (from -1 to 4) (default -1)
dia E..V.....
hex E..V.....
umh E..V.....
esa E..V.....
tesa E..V.....
-motion-est <int> E..V..... Set motion estimation method (from -1 to 4) (default -1)
dia E..V.....
hex E..V.....
umh E..V.....
esa E..V.....
tesa E..V.....
-forced-idr <boolean> E..V..... If forcing keyframes, force them as IDR frames. (default false)
-coder <int> E..V..... Coder type (from -1 to 1) (default default)
default E..V.....
cavlc E..V.....
cabac E..V.....
vlc E..V.....
ac E..V.....
-b_strategy <int> E..V..... Strategy to choose between I/P/B-frames (from -1 to 2) (default -1)
-chromaoffset <int> E..V..... QP difference between chroma and luma (from INT_MIN to INT_MAX) (default -1)
-sc_threshold <int> E..V..... Scene change threshold (from INT_MIN to INT_MAX) (default -1)
-noise_reduction <int> E..V..... Noise reduction (from INT_MIN to INT_MAX) (default -1)
-x264-params <string> E..V..... Override the x264 configuration using a :-separated list of key=value parameters
-async_depth <int> E..V....... Maximum processing parallelism (from 1 to INT_MAX) (default 4)
-avbr_accuracy <int> E..V....... Accuracy of the AVBR ratecontrol (unit of tenth of percent) (from 1 to 65535) (default 1)
-avbr_convergence <int> E..V....... Convergence of the AVBR ratecontrol (unit of 100 frames) (from 1 to 65535) (default 1)
-preset <int> E..V....... (from 1 to 7) (default medium)
veryfast 7 E..V.......
faster 6 E..V.......
fast 5 E..V.......
medium 4 E..V.......
slow 3 E..V.......
slower 2 E..V.......
veryslow 1 E..V.......
-rdo <int> E..V....... Enable rate distortion optimization (from -1 to 1) (default -1)
-max_frame_size <int> E..V....... Maximum encoded frame size in bytes (from -1 to INT_MAX) (default -1)
-max_frame_size_i <int> E..V....... Maximum encoded I frame size in bytes (from -1 to INT_MAX) (default -1)
-max_frame_size_p <int> E..V....... Maximum encoded P frame size in bytes (from -1 to INT_MAX) (default -1)
-max_slice_size <int> E..V....... Maximum encoded slice size in bytes (from -1 to INT_MAX) (default -1)
-bitrate_limit <int> E..V....... Toggle bitrate limitations (from -1 to 1) (default -1)
-mbbrc <int> E..V....... MB level bitrate control (from -1 to 1) (default -1)
-extbrc <int> E..V....... Extended bitrate control (from -1 to 1) (default -1)
-adaptive_i <int> E..V....... Adaptive I-frame placement (from -1 to 1) (default -1)
-adaptive_b <int> E..V....... Adaptive B-frame placement (from -1 to 1) (default -1)
-p_strategy <int> E..V....... Enable P-pyramid: 0-default 1-simple 2-pyramid(bf need to be set to 0). (from 0 to 2) (default 0)
-b_strategy <int> E..V....... Strategy to choose between I/P/B-frames (from -1 to 1) (default -1)
-forced_idr <boolean> E..V....... Forcing I frames as IDR frames (default false)
-low_power <boolean> E..V....... enable low power mode(experimental: many limitations by mfx version, BRC modes, etc.) (default auto)
-dblk_idc <int> E..V....... This option disable deblocking. It has value in range 0~2. (from 0 to 2) (default 0)
-low_delay_brc <boolean> E..V....... Allow to strictly obey avg frame size (default auto)
-cavlc <boolean> E..V....... Enable CAVLC (default false)
-vcm <boolean> E..V....... Use the video conferencing mode ratecontrol (default false)
-idr_interval <int> E..V....... Distance (in I-frames) between IDR frames (from 0 to INT_MAX) (default 0)
-pic_timing_sei <boolean> E..V....... Insert picture timing SEI with pic_struct_syntax element (default true)
-single_sei_nal_unit <int> E..V....... Put all the SEI messages into one NALU (from -1 to 1) (default -1)
-max_dec_frame_buffering <int> E..V....... Maximum number of frames buffered in the DPB (from 0 to 65535) (default 0)
-look_ahead <boolean> E..V....... Use VBR algorithm with look ahead (default false)
-look_ahead_depth <int> E..V....... Depth of look ahead in number frames (from 0 to 100) (default 0)
-look_ahead_downsampling <int> E..V....... Downscaling factor for the frames saved for the lookahead analysis (from 0 to 3) (default unknown)
unknown 0 E..V.......
auto 0 E..V.......
off 1 E..V.......
2x 2 E..V.......
4x 3 E..V.......
-int_ref_type <int> E..V....... Intra refresh type. B frames should be set to 0. (from -1 to 65535) (default -1)
none 0 E..V.......
vertical 1 E..V.......
horizontal 2 E..V.......
-int_ref_cycle_size <int> E..V....... Number of frames in the intra refresh cycle (from -1 to 65535) (default -1)
-int_ref_qp_delta <int> E..V....... QP difference for the refresh MBs (from -32768 to 32767) (default -32768)
-recovery_point_sei <int> E..V....... Insert recovery point SEI messages (from -1 to 1) (default -1)
-int_ref_cycle_dist <int> E..V....... Distance between the beginnings of the intra-refresh cycles in frames (from -1 to 32767) (default -1)
-profile <int> E..V....... (from 0 to INT_MAX) (default unknown)
unknown 0 E..V.......
baseline 66 E..V.......
main 77 E..V.......
high 100 E..V.......
-a53cc <boolean> E..V....... Use A53 Closed Captions (if available) (default true)
-aud <boolean> E..V....... Insert the Access Unit Delimiter NAL (default false)
-repeat_pps <boolean> E..V....... repeat pps for every frame (default false)