yylgoodlucky / HDTR-Net

A Real-Time High-Definition Teeth Restoration Network for ArbitraryTalking Face Generation Methods
129 stars 11 forks source link

Device creation failed: -12. [h264 @ 0x5622db633700] No device available for decoder: device type cuda needed for codec h264. #10

Open Aditya870 opened 10 months ago

Aditya870 commented 10 months ago

CUDA_VISIBLE_DEVICES=0 python inference.py test_result/video/full_frame end Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'video.mp4': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2avc1mp41 encoder : Lavf58.76.100 Duration: 00:01:25.97, start: 0.000000, bitrate: 855 kb/s Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 777 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default) Metadata: handler_name : VideoHandler Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 24000 Hz, mono, fltp, 74 kb/s (default) Metadata: handler_name : SoundHandler Device creation failed: -12. [h264 @ 0x5622db633700] No device available for decoder: device type cuda needed for codec h264. Stream mapping: Stream #0:0 -> #0:0 (h264 (native) -> png (native)) Device setup failed for decoder on input stream #0:0 : Cannot allocate memory Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'video.mp4': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2avc1mp41 encoder : Lavf58.76.100 Duration: 00:01:25.97, start: 0.000000, bitrate: 855 kb/s Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 777 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default) Metadata: handler_name : VideoHandler Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 24000 Hz, mono, fltp, 74 kb/s (default) Metadata: handler_name : SoundHandler Stream mapping: Stream #0:1 -> #0:0 (aac (native) -> pcm_s16le (native)) Press [q] to stop, [?] for help -async is forwarded to lavfi similarly to -af aresample=async=1:min_hard_comp=0.100000:first_pts=0. Output #0, wav, to 'test_result/video/audio.wav': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2avc1mp41 ISFT : Lavf58.29.100 Stream #0:0(und): Audio: pcm_s16le ([1][0][0][0] / 0x0001), 16000 Hz, mono, s16, 256 kb/s (default) Metadata: handler_name : SoundHandler encoder : Lavc58.54.100 pcm_s16le size= 2687kB time=00:01:25.97 bitrate= 256.0kbits/s speed=1.6e+03x video:0kB audio:2687kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.002835% [info] Step1: Prepare input data ... ==> detect face landmarks ... 0it [00:00, ?it/s] ==> face align ... 0it [00:00, ?it/s] first 0 [info] Step2: load model ... Load checkpoint from: ./checkpoints/lip-clarity-model.pth [info] Step3: save results ... Guessed Channel Layout for Input Stream #0.0 : mono [image2 @ 0x5639735eac40] Could find no file with path 'test_result/video/model_out/%05d.png' and index in the range 0-4 test_result/video/model_out/%05d.png: No such file or directory [info] Step4: Inver Affine Transform (Being here means wearing paste back) ... ==> paste background ... HOOOOOOOOOOOIII 0 0it [00:00, ?it/s] Traceback (most recent call last): File "inference.py", line 309, in os.system(synthesis_CMD.format(wav_path, finout_image_path, result_path, "result", video_basename)) NameError: name 'finout_image_path' is not defined

yylgoodlucky commented 10 months ago

Since my inference code uses ffmpeg installed in the system, involving encoding format and cuda acceleration parameters, you can try to modify lines 18 and 19 of the inference.py code to split_image_cmd = 'ffmpeg -i {} -r 25 {}/%05d.png' split_wav_cmd = 'ffmpeg -y -i {} -ar 16000 {}'

Endgame04 commented 9 months ago

Since my inference code uses ffmpeg installed in the system, involving encoding format and cuda acceleration parameters, you can try to modify lines 18 and 19 of the inference.py code to split_image_cmd = 'ffmpeg -i {} -r 25 {}/%05d.png' split_wav_cmd = 'ffmpeg -y -i {} -ar 16000 {}'

Hello, I changed lines 18 and 19 with split_image_cmd = 'ffmpeg -i {} -r 25 {}/%05d.png' split_wav_cmd = 'ffmpeg -y -i {} -ar 16000 {}', but still got NameError: name 'finout_image_path' is not defined.