video - 使用 jpg 图像从 ffmpeg 创建延时视频
问题描述
我正在尝试创建延时视频。我的图像文件命名IM_date_time.jpg
为IMG_20210516_235523.jpg
(2048 × 1536) 我有大约 3700 个文件。我用过这个命令:
ffmpeg -y -i IMG*.jpg -r 5 -s hd1080 output.mp4
这不起作用,我不明白它为什么要写入我的图像。-y
应该不需要。
我要获得高清视频(全高清或仅高清)和一个图像以表示每秒 1 或 2 帧。
我正在使用 Linux Ubuntu 20.04.02 LTS 和 ffmpeg 4.2.4。
解决方案
您可能已经覆盖了您的图像
glob 通配符 ( *
) 扩展,您的命令被解释为:
ffmpeg -y -i IMG_20210516_235523.jpg IMG_20210516_235524.jpg IMG_20210516_235525.jpg ... -r 5 -s hd1080 output.mp4
结合-y
(overwrite without ask) 这意味着除了第一张图像之外的所有图像都被认为是输出并且已被覆盖。因此,以下所有图像现在都是第一张图像的重新编码副本。
利用-pattern_type glob
在 Linux 和 macOS 上,您可以使用image muxer input option -pattern_type glob
。这将允许您IMG*.jpg
按预期使用和运行。
ffmpeg -framerate 5 -pattern_type glob -i 'IMG*.jpg' -vf "scale=-2:1080,format=yuv420p" -movflags +faststart output.mp4
-framerate
使用图像混合器输入选项设置帧速率。-framerate 25
如果-framerate
省略,则应用默认值 of 。有些玩家不喜欢低帧率。
-r 10
如果您发现问题,请添加输出选项。它将复制帧从 5 到 10,但输出视频看起来相同。
推荐阅读
- javascript - 如果数组循环中的项目不可用,则返回零并将项目安排为工作日
- wordpress - 更新 wordpress 主题时如何修复 chmod 错误?
- docker - 如何列出推送到 microk8s 内置注册表的图像
- php - 数据未进入视图
- windows - 您可以使用 PowerShell 压缩网络共享上的文件而不将它们下载到客户端吗?
- python - Ajax 提交导致页面 404 错误的类似按钮
- javascript - 当其他用户输入数据时更新数据
- git - 在 VScode 上更改 git 帐户
- nvm - 我不断收到“您需要在使用前运行“nvm install N/A”来安装它。” 即使我已经安装了 lts/*
- redis - Redis如何一次持久化多个键