使用 ffmpeg 修剪视频的百分比

Posted

技术标签:

【中文标题】使用 ffmpeg 修剪视频的百分比【英文标题】:Using ffmpeg to trim a percentage of video 【发布时间】:2018-03-26 15:47:59 【问题描述】:

ffmpeg -framerate 30 -i %1d.png -c:v libx264 -profile:v high -crf 10 -pix_fmt yuv420p test.mp4

嗨,

我有一个包含一堆 png 图片的文件夹:0.png、1.png、2.png ... 使用上面的代码,我可以将目录中的所有图像转换为一个视频。我想做的只是将所有图像的 百分比 转换为视频。有什么方法可以指定 ffmpeg 仅将前 20% 的图像转换为视频?例如,如果有 50 张图片,则 ffmpeg 在这种情况下只会使用前 10 张图片来组成视频。

【问题讨论】:

自动,没有。手动添加-vframes 10 【参考方案1】:

您可以使用 -start_number-frames:v。 -start_number 接受表达式,但 -frames:v 不接受。所以你可以使用一些脚本来根据百分比计算帧数。

ffmpeg -framerate 30 -start_number <frame_number> -i %1d.png -frames:v <frames> -c:v libx264 -profile:v high -crf 10 -pix_fmt yuv420p test.mp4
-start_number:从索引帧号开始。 -frames:v: 输出帧数。

-vframes 根据手册已弃用。 https://www.ffmpeg.org/ffmpeg-all.html#toc-Video-Options

【讨论】:

以上是关于使用 ffmpeg 修剪视频的百分比的主要内容,如果未能解决你的问题,请参考以下文章

使用 ffmpeg 获取帧数

使用 FFMPEG 以毫秒为单位的无损视频修剪

如何获取flutter ffmpeg执行的进度百分比

FFmpeg C API - 同步视频和音频

三种方法使用FFmpeg截取视频片断

Python字符串格式 - 限制字符串长度,但修剪字符串开头