python - MoviePy RuntimeError : imageio. ffmpeg.download() 已被弃用

标签 python runtime-error moviepy python-imageio

我尝试在 Google Colab 中运行一个简单的脚本来确定视频的长度:

!pip install moviepy
from moviepy.editor import *
# Change directory:
os.chdir(r'/content/my_data')
clip = VideoFileClip("my_video.mp4")
print(clip.duration)

但是,我收到错误: imageio.ffmpeg.download() has been deprecated. Use 'pip install imageio-ffmpeg' instead.'

快速搜索后我发现imageio需要通过这样做来降级: !pip install imageio==2.4.1

所以我将脚本更改为以下内容:

!pip install moviepy
!pip install imageio==2.4.1
from moviepy.editor import *
# Change directory:
os.chdir(r'/content/my_data')
clip = VideoFileClip("my_video.mp4")
print(clip.duration)

我仍然遇到同样的错误。

知道如何解决吗? 谢谢。

最佳答案

由于 moviepy 现在状态不佳,我建议暂时使用 imageio 的 V2 API。使用它从视频文件中获取元数据非常容易。基本上,

import imageio
path = "path/to/videofile.mp4"
video = imageio.get_reader(path)

print(video._meta)

使用元属性,您可以访问帧数、编解码器、大小等。如果您只想获取持续时间(以秒为单位),您只需调用:

print(video._meta["duration"])

关于python - MoviePy RuntimeError : imageio. ffmpeg.download() 已被弃用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73523815/

相关文章:

python - 要下载哪个 mod_wsgi 二进制文件?

javascript - React-native - iOS 设备崩溃 "undefined is not an object (evaluating ' s.Manager')"

c - 尝试运行程序在 C 中查找给定范围内的素数时出错

python - 无法使用 ffmpeg 或 moviepy 将视频转换为音频

Python 正则表达式将每个匹配项替换为自身加上一个新行

动态类变量名的 pythonic 方法(ala PHP 的 $$var)

python - 如何存储和使用数学运算符作为 python 变量

java - 修复Java代码中的JRE错误并重新编译应用程序

python - 使 MoviePy 中的文本在宽度和高度之间自动调整大小作为 TextClip

python-3.x - 无法识别的选项 'c copy'