在处理视频和动画图像时,有时我们需要从 MP4 视频或 GIF 动画中截取特定的帧并将其保存为静态图片。作者将介绍如何使用 Python 实现这一功能,从 MP4 或 GIF 中随机截取一张图片并保存为 PNG 格式。我们将使用一些常用的 Python 库,如 moviepy 和 Pillow,来完成这一任务。
一、准备工作
在开始之前,确保你的 Python 环境已经安装了 moviepy 和 Pillow 这两个库。如果尚未安装,可以通过以下命令进行安装:
pip install moviepy Pillow
二、代码实现
从 MP4 视频中随机截取图片
from moviepy.editor import VideoFileClip
import random
from PIL import Image
import os
def extract_random_frame_from_mp4(mp4_path, output_png_path):
# 加载视频
clip = VideoFileClip(mp4_path)
# 获取视频的总时长
duration = clip.duration
# 生成一个随机时间点
random_time = random.uniform(0, duration)
# 获取该时间点的帧
fra