You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用ffmpeg直接保存录制视频的最后60秒内容?

FFmpeg 保留录制内容最后60秒的实现方案

已完成录制的本地文件场景

你当前使用的命令已经可以直接实现需求,无需提前分段录制再合并裁剪:

ffmpeg -sseof 60 -i "\PATH\TO\VIDEO" -c copy "\PATH\TO\OUTPUT"

参数说明:

  • -sseof 60:表示从输入文件的末尾位置向前偏移60秒,作为内容读取的起始点
  • -c copy:直接复制音视频流无需重新编码,处理速度极快,全程仅读取原文件最后60秒的内容输出,不会生成任何中间文件

正在录制的实时流/直播流场景

如果需要边录制边只保留最新的60秒内容,不存储全量录制数据,可以使用环形切片方案:

ffmpeg -i [输入流地址/采集设备路径] -f segment -segment_time 1 -segment_wrap 60 -c copy seg_%03d.mp4

参数说明:

  • 每1秒生成一个切片文件,segment_wrap 60表示最多保留60个切片,满了之后从最早的切片开始循环覆盖,磁盘上始终只存在最近60秒的内容
  • 需要导出最后60秒的完整视频时,只需要将当前存在的60个切片按顺序合并即可

注意事项

  • 使用-c copy流复制模式时,要求输入视频的关键帧间隔≤10秒,否则截取的开头可能出现数秒无画面的问题(流复制只能从关键帧位置开始裁剪)。如果对时间精度要求很高,可以移除-c copy参数转码输出,时间精度可以达到帧级别,仅处理速度会有所下降。
  • 如果是正在写入的未完成录制文件,需要等录制进程正常退出、文件索引写入完成后再运行截取命令,避免因文件元数据不完整导致截取失败。

内容的提问来源于stack exchange,提问作者Marc Khoury

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 16:39:04