video - ffmpeg - 如何在保留总帧数的同时缩放视频?
问题描述
我有一个大小为 的视频515 x 755
,我想按比例调整大小206 x 302
(因此,因子为2.5
)。
在这个视频中,我总共有 588 帧,我用这个命令ffmpeg
来缩放它。
ffmpeg -i video.mp4 -vf scale=206:-1 xRotation_206.mp4
根据这个答案,我用它来检查视频中有多少帧。
ffmpeg -i video.mp4 -map 0:v:0 -c copy -f null - 2>&1 | awk '/frame=/ {print $2}'
原始视频帧数不错(588 帧)。但是,使用上面的命令调整大小后,我转换的视频现在有 604 帧。
问题是,如何通过保留其中的总帧数来调整视频的大小?它并不一定要ffmpeg
接近,任何建议都值得赞赏。
这是我使用的示例视频:链接
解决方案
默认情况下,FFmpeg 会生成恒定帧速率 MP4,因此如果您的原始视频是可变帧速率的,那么 ffmpeg 将丢弃或复制帧以生成恒定帧速率输出。
为避免这种情况,请使用
ffmpeg -i video.mp4 -vf scale=206:-1 -vsync passthrough xRotation_206.mp4
推荐阅读
- sql - 无法将 Visual Studio .ltrar 负载测试文件导入本地计算机数据库
- android - 是否仍然需要 findViewById
- c# - 如何调整标签控件的大小
- android - Delphi XE10.2 Tokyo 的 FMX.Platform.Android.pas 与 Delphi XE10.3 Rio 的 FMX.Platform.Android.pas
- android - 在 recyclerview 项目的点击事件上更改 Imageview 在 recyclerview 之外的图像
- php - 为什么 ajax 在 laravel 项目中返回错误响应消息?可能的原因是什么?
- java - 为什么我不能用我写的程序得到没有标记的字符串?
- javascript - 使用带有简单 ssh 的相同 shell 执行多个命令
- python - 如何访问用于调用包含单个 python 文件的 MACOS 应用程序的自定义协议 URL(从 python 代码内部)
- python - wx.lib.agw.ultimatelistctrl。禁止增加元素的高度