Mac用户可用三种方法将视频逐帧导出为图片:1.用“照片”App导出单帧TIFF;2.用iMovie批量导出PNG图像序列;3.用终端ffmpeg命令无损提取全部解码帧。

你需要把一段视频的每一帧都变成独立图片,比如做动作分析、AI训练数据集或逐帧动画素材,Mac系统自带工具就能完成,不需要安装第三方软件。
用“照片”App导出单帧高清图片
这一步适用于已导入“照片”图库的视频,导出的是TIFF格式,画质无损,但一次只能导一帧。
在“照片”App中找到目标视频 → 双击打开 → 拖动下方时间轴滑块,精确定位到你想导出的那一帧(拖动时按住空格键可暂停播放,提高定位精度)。
点击菜单栏【文件】→【导出】→【将帧画面导出到“图片”】。
【导出结果默认保存在“图片”文件夹,文件名是“帧 [日期]”加序号,格式为TIFF】。如果你需要JPG或PNG,后续可用预览App批量转换。
用iMovie批量导出全部帧为图像序列
iMovie是Mac预装的剪辑工具,它不提供“逐帧导出”按钮,但能通过“导出静帧”功能间接实现——你只需把视频拖进时间线,再用“导出为图像序列”选项,系统会自动按设定帧率生成连续编号的PNG文件。
第一步:打开iMovie → 创建新项目 → 点击左上角“媒体”按钮 → 从“照片”图库或文件夹中拖入目标视频。
第二步:将视频拖到时间线轨道上 → 点击右上角“分享”图标(向上箭头)→ 选择“文件” → 在弹出窗口中,格式选【PNG图像序列】,分辨率选【匹配原始】,帧率设为【每秒30帧】(若原视频是24fps或25fps,请手动改为对应值,否则会丢帧或重复)。
第三步:点击“下一步”,选择保存位置(建议新建专用文件夹),点击“导出”。导出完成后,你会看到一堆按数字排序的PNG文件,如 frame_0001.png、frame_0002.png……
注意:如果视频很长,导出过程可能持续数分钟,期间不要关闭iMovie或休眠电脑。
用终端命令ffmpeg一键提取全部帧(最彻底)
如果你需要真正意义上的“每一帧都不遗漏”,包括B帧、I帧等编码帧,必须用ffmpeg——它直接解码视频流,不受播放器渲染限制,适合技术向用户。
先确认是否已安装ffmpeg:打开终端,输入 ffmpeg -version,若提示“command not found”,请先运行 brew install ffmpeg(需提前安装Homebrew)。
把视频文件拖进终端窗口,得到完整路径;然后输入命令:ffmpeg -i /你的/视频/路径.mp4 -vf fps=30 -q:v 2 frame_%04d.jpg
其中 fps=30 表示按每秒30帧抽取,若要严格逐帧导出(即不跳帧),请改用 -r 1 并配合 -vsync 0,例如:ffmpeg -i /视频路径.mp4 -r 1 -vsync 0 -q:v 2 frame_%06d.jpg。
【该命令会导出视频所有解码帧,数量可能远超显示帧率,且文件体积较大】。导出目录即当前终端所在路径,可用 cd ~/Desktop 先切到桌面再执行,方便查找。



















