14.02.2024, 09:26
(14.02.2024, 06:40)Selur Wrote:Quote:"No face detected. Try to increase upsample_num_times.:14.18 bitrate= 147.9kbits/s speed=0.654x"Okay, what happens seems to be that your dlib version outputs stuff to std::out which is where the normal processed data is output and piped, thus is breaks the video data flow and breaks the pipe.
Is not a problem introduced in my version. Even the not enabled CUDA version is providing exactly the same message, the difference is that the CUDA version write a message every 0.4 secs while the CPU version every 20 secs.
I commented all the unnecessary print messages (good only for development) in the filter vscodeformer.
I commented out the "print" in the following lines
->face_restoration_helper.py
Line 183: print('No face detected. Try to increase upsample_num_times.')
Line 187: print('Detect several faces and only keep the largest.')
->matlab_cp2tform.py
Line 282: print('\n--->uv:')
Line 283: print(uv)
Line 284: print('\n--->xy:')
Line 285: print(xy)
Line 289: print('\n--->trans matrix:')
Line 290: print(trans)
Line 292: print('\n--->trans_inv matrix:')
Line 293: print(trans_inv)
Line 295: print('\n---> apply transform to uv')
Line 296: print('\nxy_m = uv_augmented * trans')
Line 299: print(xy_m)
Line 301: print('\nxy_m = tformfwd(trans, uv)')
Line 303: print(xy_m)
Line 305: print('\n---> apply inverse transform to xy')
Line 306: print('\nuv_m = xy_augmented * trans_inv')
Line 309: print(uv_m)
Line 311: print('\nuv_m = tformfwd(trans_inv, xy)')
Line 313: print(uv_m)
Line 316: print('\nuv_m = tforminv(trans, xy)')
Line 317: print(uv_m)
and then cleared the cache.
Now the vspipe is working as expected.

I will write to HolyWu to do the same on the version released on "github".
Dan
P.S.
In any case it could be a big enhancement to introduce "ffmpeg" as Video encoder like "nvenc".
In this case it will be possible to skip "vspipe" providing to Hybrid a more robust alternative in case of "unknown" problems with filters.