gpt4 book ai didi

video - 使用 FFMPEG 将帧插入视频

转载 作者:行者123 更新时间:2023-12-03 23:52:29 34 4
gpt4 key购买 nike

我正在录制视频的相机偶尔会丢帧,因此我需要将帧重新插入视频以保持时间精确。

我已经有一个脚本可以准确识别这些帧何时被丢弃,所以我有一个需要插入的每一帧的索引以及插入位置。

例如,在 100 FPS 的 100 秒视频中,我应该有 10,000 帧。但是,在第 399、1205、4299 和 7891 帧丢失了 4 帧。因此,我想在这些点插入相同分辨率的黑色帧,或者将前一帧保留一帧(例如,将第 398 帧保留为一个额外的帧,或 0.01 秒)。

有没有办法在 FFMPEG 中迭代地做到这一点?我目前正在将视频写入其组成帧,添加我的空白图像,然后从帧中重新连接视频,这是一个非常低效的过程。

最佳答案

让我们以帧速率值为 FR 的视频为例,您丢失的帧的索引为 399、1205、4299 和 7891。第一帧的索引为 0。

ffmpeg -i in.avi -vf setpts='PTS+(1/FR/TB)*(gte(N,399)+gte(N,1205)+gte(N,4299)+gte(N,7891))' -vsync cfr -q:v 1 out.avi

setpts 过滤器可以调整时间戳,setpts 表达式所做的是将给定索引之后的所有帧向前偏移。偏移量是根据丢失了多少早期帧来评估的。这将创建空的时间戳槽。 -vsync cfr然后选项将使用前一个可用帧的克隆填充这些插槽。

关于video - 使用 FFMPEG 将帧插入视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55496905/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com