ffmpeg - 如何为 ffmpeg 制作的视频设置帧率
问题描述
我有 225 张图像,想要一个 15 fps 的视频,我应该得到一个 225/15=15 秒的视频。我将“r”设置为 15,但我只有 9 秒的视频。怎么了?
subprocess.call([ 'ffmpeg', '-i', 'file%02d.png', '-r', '15', '-pix_fmt', 'yuv420p', 'video_name.mp4' ])
解决方案
FFmpeg 为没有固有帧率的输入分配默认帧率 25。它-r 15
所做的是丢弃帧以匹配输出速率,同时保留保留帧的时间戳。
您需要设置输入的帧速率。
subprocess.call([ 'ffmpeg', '-framerate', '15', '-i', 'file%02d.png', '-pix_fmt', 'yuv420p', 'video_name.mp4' ]
推荐阅读
- math - Base32 字母表是十六进制的重叠超集?(数学/计算机科学)
- javascript - 尝试在three.js中渲染圆柱体,失败并出现错误“无法读取未定义的属性'类型'”
- makefile - 并行 make (gmake) 执行顺序
- wpf - WPF 隐藏组合框 ItemSource 的项目
- c++ - nlohmann 的 json 库将数组转换为结构向量
- workflow - 任何人都知道为什么我的计划工作流程不会遍历它触发的已保存搜索中的所有记录吗?
- debian - Debian 版本控制文件严格低于产生难以理解的错误消息
- maven - Maven - 验证依赖项和插件的完整性
- asp.net - 在 ASP.NET Web 应用程序中升级 targetframework
- typescript - 是否有 ESLint 规则来防止真实检查