【发布时间】:2017-04-24 10:45:09
【问题描述】:
我希望 ffmpeg 执行以下操作:
- 读取输入的 mp4 (-i movie.mp4)
- 跳过前 5 秒 (-ss 5)
- 查找场景变化并显示帧号(-vf "select=gt(scene\, 0.4, showinfo))
- 输出 #1 - 一个 gif 文件 (output.gif)
- 输出 #2 - 包含所有缩略图的联系表(-vf "select scale=320:-1, tile=12x200" thumbnails.png)
这将生成缩略图:
ffmpeg -hide_banner -i d:/Test/movie01.mp4 -ss 5 -vf "select=gt(scene\,0.4), showinfo, scale=320:-1, tile=12x200" -vsync 0 thumbnails%03d.png
这将生成 gif:
ffmpeg -hide_banner -i d:/Test/movie01.mp4 -ss 5 -vf "select='not(mod(n,60))',setpts='N/(30*TB)', scale=320:-1" -vsync 0 output.gif
我想同时使用另外 2 个功能:
为 gif 设置 fps 和分辨率;我希望 gif 在 X 秒内以 Y fps 表示整部电影(我知道输入电影的持续时间,因此我可以计算需要捕获一帧的频率)
仅为缩略图设置宽度(例如tile=12),让ffmpeg确定合适的高度
我尝试根据我在此页面上阅读的内容编写命令行:https://trac.ffmpeg.org/wiki/Creating%20multiple%20outputs,使用 split / map 命令,但我无法让它工作
【问题讨论】:
标签: ffmpeg