我对python有一点经验,目前我正试图通过本指南通过pix2pix尝试一些机器学习视频生成。
我目前正处于需要从视频中提取帧的部分。我使用的是同一个视频,但为了方便起见,我将其移到了extract_frames.py的同一目录中。
我一直得到一个WinError 2:系统找不到指定的文件:
C:UserscadouOneDriveDesktopmlpix2pixHD>python extract_frames.py -video fire.mp4 -name fire_dataset -p2pdir . -width 1280 -height 736
creating the dataset structure
ffmpeg -v 16 -i C:UserscadouOneDriveDesktopmlpix2pixHDfire.mp4 -q:v 2 -vf "scale=iw*736/ih:736, crop=1280:736" C:UserscadouOneDriveDesktopmlpix2pixHD/datasets/fire_dataset/train_frames/frame-%06d.jpg -hide_banner
extracting the frames
Traceback (most recent call last):
File "C:UserscadouOneDriveDesktopmlpix2pixHDextract_frames.py", line 32, in <module>
video_utils.extract_frames_from_video(
File "C:UserscadouOneDriveDesktopmlpix2pixHDvideo_utils.py", line 82, in extract_frames_from_video
p = subprocess.Popen(shlex.split(command), shell=False)
File "C:UserscadouAppDataLocalProgramsPythonPython39libsubprocess.py", line 951, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File "C:UserscadouAppDataLocalProgramsPythonPython39libsubprocess.py", line 1420, in _execute_child
hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
FileNotFoundError: [WinError 2] The system cannot find the file specified
我查找了这个错误并尝试了一些方法,但似乎没有一个能解决我的问题。我怀疑这与路径有关,但我也尝试过改变这一点。我还安装了教程中要求的所有库(dominal、ffmpeg和pyTorch(。
您可以尝试使用以下命令替换"fire.mp4";至"/fire.mp4";。
python extract_frames.py -video ./fire.mp4 -name fire_dataset -p2pdir . -width 1280 -height 736
Erorr不会显示找不到的文件。
也许它找不到fire.mp4
,但我预计它需要ffmpeg
来提取视频。
我在video_utils.py
中检查了subprocess
的源代码,它运行ffmpeg,所以您需要从https://ffmpeg.org/。
可能还需要更改video_utils.py
并使用C:fullpathtoffmpeg.exe
。
还有一个指向Ubuntu
字体的硬编码路径(在两个位置:请参阅代码(,它表明此代码是为Linux Ubuntu
创建的。此路径还需要更改为Windows上的其他字体。