n00mkrad / flowframes

Flowframes Windows GUI for video interpolation using DAIN (NCNN) or RIFE (CUDA/NCNN)
GNU General Public License v3.0
1.46k stars 114 forks source link

When trying to export to ProRes HQ ffmpeg gives an error in version 1.4 #229

Open PabloDM2 opened 1 year ago

PabloDM2 commented 1 year ago

[00000253] [04-07-2023 13:14:28]: MessageBox: VapourSynth interpolation failed with an unknown error. Check the log for details: [E] [ProRes encoder @ 000002325d46fe80] [Eval @ 000000579e3fdf70] Undefined constant or missing '(' in 'HQ' [E] [ProRes encoder @ 000002325d46fe80] Unable to parse option value "HQ" [E] [ProRes encoder @ 000002325d46fe80] Error setting option profile to value HQ. [E] 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 [E] Conversion failed! [E] Error: fwrite() call failed when writing frame: 2, plane: 0, errno: 32 (Error) [00000254] [04-07-2023 13:14:29]: [UI] Done running RIFE - Interpolation took 31s. Peak Output FPS: 0.00 [00000255] [04-07-2023 13:14:29]: [UI] Deleting temporary files...

[00000257] [04-07-2023 13:14:29]: [UI] Total processing time: 41s [00000258] [04-07-2023 13:14:29]: Done interpolating!

[00000261] [04-07-2023 13:14:49]: [BgTaskMgr] Task 'TryDeleteIfExistsAsync I:\Rife\00060_prob3-temp' has finished after 12ms (Timeout 120s) [00000262] [04-07-2023 13:14:49]: [UI] Canceled interpolation.

[00000265] [04-07-2023 13:14:49]: [BgTaskMgr] Task 'TryDeleteIfExistsAsync I:\Rife\00060_prob3-temp' has finished after 0ms (Timeout 120s)

The others are fine

semel1 commented 1 year ago

It looks like version 1.4 completely broken. A lot of different errors (attempt to specify output FPS more than 2x with "Maximum Output Frame Rates" caused an error, ProRes output using CUDA or NCNN throws different errors, ... - too many to list) Had to return to version 1.36.0 - works like charm.

audioguardo commented 1 year ago

Having the same issue and believe I figured out a workaround: Put the following in Developer Options/FFmpeg/Additional (Output) Arguments:

-c:v prores_ks -pix_fmt yuv422p10le -profile:v 3 (This is for 422 HQ output)

For other levels just change -profile:v # where # is one of the following:

-proxy (0) -lt (1) -standard (2) -hq (3) -4444 (4) -4444xq (5)

Not sure how this got broken between versions...

@PabloDM2> Undefined constant or missing '(' in 'HQ' [...] Unable to parse option value "HQ" Case sensitivity with the definition, maybe? as in "hq" vs "HQ" According to official ffmpeg docs (https://ffmpeg.org/ffmpeg-codecs.html#toc-Private-Options-for-prores_002dks)

[9.23.1] Private Options for prores-ks: [profile integer] Select the ProRes profile to encode

‘proxy’ ‘lt’ ‘standard’ ‘hq’ ‘4444’ ‘4444xq’

Should be noted that 4444 and 4444XQ options still work, so it would make sense assuming the first "4" in "4444" is truncated thus being a valid option value. I haven't tested if XQ is really outputting XQ or 4444, but I digress.