KwaiVGI / LivePortrait

Bring portraits to life!
https://liveportrait.github.io
Other
13.15k stars 1.4k forks source link

Unhandled crash in video.has_audio_stream() #98

Closed BigJMoney closed 3 months ago

BigJMoney commented 4 months ago

Not sure why this crashes on my system specifically, but the call to subprocess.run crashes in my case, so maybe it should be caught. If you don't have any ideas and want more help debugging, just let me know.

Repro: python inference.py -s assets/examples/source/s9.jpg -d assets/examples/driving/d0.mp4

Crash:

(LivePortrait) d:\liveportrait\LivePortrait>python inference.py -s assets/examples/source/s9.jpg -d assets/examples/driving/d0.mp4

[02:56:17] Load appearance_feature_extractor done.                                           live_portrait_wrapper.py:35
           Load motion_extractor done.                                                       live_portrait_wrapper.py:38
[02:56:18] Load warping_module done.                                                         live_portrait_wrapper.py:41
           Load spade_generator done.                                                        live_portrait_wrapper.py:44
           Load stitching_retargeting_module done.                                           live_portrait_wrapper.py:48
[02:56:19] LandmarkRunner warmup time: 0.881s                                                      landmark_runner.py:89
[02:56:21] FaceAnalysisDIY warmup time: 1.432s                                                   face_analysis_diy.py:79
           Load source image from assets/examples/source/s9.jpg                             live_portrait_pipeline.py:49
[02:56:22] Load video: assets/examples/driving/d0.mp4                                       live_portrait_pipeline.py:99
           The FPS of assets/examples/driving/d0.mp4 is: 25                                live_portrait_pipeline.py:104
           Load video file (mp4 mov avi etc...): assets/examples/driving/d0.mp4            live_portrait_pipeline.py:106
           Start making motion template...                                                 live_portrait_pipeline.py:110
Making motion templates... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00
[02:56:23] Dump motion template to assets/examples/driving\d0.pkl                          live_portrait_pipeline.py:127
           Prepared pasteback mask done.                                                   live_portrait_pipeline.py:139
🚀Animating... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:08
Traceback (most recent call last):
  File "d:\liveportrait\LivePortrait\inference.py", line 33, in <module>
    main()
  File "d:\liveportrait\LivePortrait\inference.py", line 29, in main
    live_portrait_pipeline.execute(args)
  File "d:\liveportrait\LivePortrait\src\live_portrait_pipeline.py", line 217, in execute
    flag_has_audio = (not flag_load_from_template) and has_audio_stream(args.driving_info)
  File "d:\liveportrait\LivePortrait\src\utils\video.py", line 174, in has_audio_stream
    result = subprocess.run(cmd, capture_output=True, text=True)
  File "c:\ProgramData\miniconda3\envs\LivePortrait\lib\subprocess.py", line 505, in run
    with Popen(*popenargs, **kwargs) as process:
  File "c:\ProgramData\miniconda3\envs\LivePortrait\lib\subprocess.py", line 951, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "c:\ProgramData\miniconda3\envs\LivePortrait\lib\subprocess.py", line 1436, in _execute_child
    hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
FileNotFoundError: [WinError 2] The system cannot find the file specified

Note that I am able to run the app fine using a pkl file. So, for example, I don't crash when I run this: python inference.py -s assets/examples/source/s9.jpg -d assets/examples/driving/d0.pkl

I'm running on Windows 10.

cleardusk commented 4 months ago

Thanks for your feedback. We are checking it. @BigJMoney

cleardusk commented 4 months ago

@BigJMoney It seems that your Windows environment does not have ffprobe and ffmpeg installed, see https://github.com/KwaiVGI/LivePortrait/issues/94#issuecomment-2222292464

The audio concat replies on ffprobe and ffmpeg. I have set the audio to false if not installed : ) Just pull it.

zzzweakman commented 3 months ago

@BigJMoney If you're still having trouble installing ffprobe and ffmpeg, you can now download the package from HuggingFace or BaiduYun. More details can be found here.