gaobowen6666 2022-12-25 14:46 采纳率: 100%
浏览 8
已结题

FFMPEG视频转为图片选择时间不正确

最近在用FFMPEG截取视频,需求是将固定时段的一段视频截取为图片。
执行脚本后,发现截取的时间段与实际不符合,一般实际截取的时间比我预期的时间都会晚10几秒。

脚本命令如下:


ffmpeg -i 7.mp4 -ss 00:03:14 -to 00:03:31 FST%%d.jpg
ffmpeg -i 7.mp4 -ss 00:08:22 -to 00:08:27 sec%%d.jpg
ffmpeg -i 7.mp4 -ss 00:26:42 -to 00:27:01 thrid%%d.jpg
ffmpeg -i 7.mp4 -ss 00:30:12 -to 00:30:31 four%%d.jpg
ffmpeg -i 7.mp4 -ss 00:43:57 -to 00:44:16 fivth%%d.jpg
ffmpeg -i 7.mp4 -ss 00:47:06 -to 00:47:22 six%%d.jpg



辛苦各位给指导下,不胜感激。

  • 写回答

1条回答 默认 最新

  • |__WhoAmI__| 2022-12-25 15:23
    关注

    在使用 FFmpeg 进行视频截取时,可能会出现实际截取时间与预期时间不符的情况。这可能是由于视频编码和解码过程中的误差造成的。

    为了解决这个问题,可以试着使用帧率(fps)参数来精确控制截取的图片数量,从而达到精确的截取时间。例如可以使用如下命令:

    ffmpeg -i 7.mp4 -vf fps=1/10 FST%%d.jpg
    

    这条命令会每隔 10 秒截取一张图片,如果想截取的时间段是 00:03:14 到 00:03:31,则可以将上述命令中的帧率调整为 1/17,从而使每隔 17 秒截取一张图片。

    需要注意的是,帧率参数并不是绝对精确的,但是相对于不使用帧率参数而言,使用帧率参数可以大大提高截取精度。

    另外,如果想在同一个命令中处理多个时间段的视频,可以使用如下命令:

    ffmpeg -i 7.mp4 -vf fps=1/10 -ss 00:03:14 -to 00:03:31 FST%%d.jpg -vf fps=1/10 -ss 00:08:22 -to 00:08:27 sec%%d.jpg -vf fps=1/10 -ss 00:26:42 -to 00:27:01 thrid%%d.jpg -vf fps=1/10 -ss 00:30:12 -to 00:30:31 four%%d.jpg -vf fps=1/10 -ss 00:43:57 -to 00:44:16 fivth%%d.jpg -vf fps=1/10 -ss 00:47:06 -to 00:47:22
    

    望采纳

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 1月17日
  • 已采纳回答 1月9日
  • 创建了问题 12月25日

悬赏问题

  • ¥15 smptlib使用465端口发送邮件失败
  • ¥200 总是报错,能帮助用python实现程序实现高斯正反算吗?有偿
  • ¥15 对于squad数据集的基于bert模型的微调
  • ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
  • ¥20 steam下载游戏占用内存
  • ¥15 CST保存项目时失败
  • ¥15 树莓派5怎么用camera module 3啊
  • ¥20 java在应用程序里获取不到扬声器设备
  • ¥15 echarts动画效果的问题,请帮我添加一个动画。不要机器人回答。
  • ¥15 Attention is all you need 的代码运行