在捕获的视频开始时过滤无用的白色帧,并在捕获的视频结束时过滤重复的帧

问题描述

我正在使用Puppeteer和MediaRecorder API捕获HTML动画。

在开始捕获之前,我正在等待networkidle事件(我尝试使用networkidle0-2,但结果相同)

await page.goto(url,{ waitUntil: 'networkidle0' })

由于某种原因,动画在捕获开始后的2-3秒开始播放,因此捕获了白色帧。 类似地,在视频末尾有相同的帧,因为捕获持续时间比动画播放长一点。

因此,我想检测并截断视频开头(mp4 / webm)开头的重复白色帧和结尾的非白色帧。

例如,我尝试了一些解决方案,例如here

ffmpeg -i input.mp4 -vf mpdecimate,setpts=N/FRAME_RATE/TB out.mp4

它确实删除了重复项,但问题是它也切断了中间的重复项。

因此,如果我有一个15秒的动画,它将在开始时删除所有的复制,在结尾处删除所有的复制,在中间删除所有的复制,然后剩下的只是几个相同的帧,这些帧打包成更少的帧超过1秒的视频。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)