AttributeError:“FFmpegWriter”对象没有属性“_proc”

Are*_*rek 5 python ffmpeg

我有一些问题找不到答案。安装 scikit-video 和 FFmpeg 后,我收到此错误:

AttributeError:“FFmpegWriter”对象没有属性“_proc”

你能帮我找到解决方案吗?

from skvideo.io import FFmpegWriter

def main():
    ...
    video_writer = FFmpegWriter('video.mp4')
    ...
if __name__ == '__main__':
    main()
Run Code Online (Sandbox Code Playgroud)

已经尝试安装 pyaudio,重新安装 FFmpeg 和 skvideo 并安装不同版本的软件包。根本没有帮助。

编辑:下面是完整回溯的示例/skvideo/io/abstract.py

Traceback (most recent call last):
File "run_modules.py", line 93, in <module>
    Pipeline.create_videos(video_attr, args.output_path, args.padded)
File "/home/leuko/.local/lib/python3.6/site-packages/skvideo/io/abstract.py", line 474, in close
    if self._proc is None:  # pragma: no cover
AttributeError: 'FFmpegWriter' object has no attribute '_proc'
Run Code Online (Sandbox Code Playgroud)

ran*_*tic 3

我刚刚遇到这个问题,发现这FFmpegWriter实际上掩盖了另一个错误。我的代码大致是这样的:

    with FFmpegWriter('/tmp/tmp.webm') as writer:
        for frame in frames:
            <code to generate out>
            writer.writeFrame(out)
Run Code Online (Sandbox Code Playgroud)

之前的代码块writer.writeFrame引发了错误,但我没有看到这一点,因为我没有查看完整的堆栈跟踪。我不明白为什么FFmpegWriter会抛出这个错误,但是当我意识到我实际上并没有编写任何框架而是试图关闭编写器时,它就有意义了。