我正在为浏览器构建简单的信息网站。在这个网站中,我在后台使用视频,页面看起来很有趣。问题是我想按一定的顺序进行视频工作:
我找不到最佳方法。
我正在 Next JS 上开发网站,但任何抽象的建议都可以。
const playForward = () => {
const video = videoRef.current!;
if (loopIntervalRef.current) {
clearInterval(loopIntervalRef.current);
}
//@ts-ignore
loopIntervalRef.current = setInterval(() => {
if (video.currentTime >= video.duration) {
playBack();
} else {
video.currentTime += 0.04;
}
}, 120);
};
const playBack = () => {
const video = videoRef.current!;
if (loopIntervalRef.current) {
clearInterval(loopIntervalRef.current);
}
//@ts-ignore
loopIntervalRef.current = setInterval(() => {
if (video.currentTime <= reversePoint) {
playForward();
} else {
video.currentTime -= 0.04;
}
}, 120);
};
它工作得几乎完美,但倒放时视频有时会滞后。
我认为你应该有两份视频副本,一份正常,一份反转,并在到达结尾时在两者之间切换。
幸运的是,众所周知的 ffmpeg 实用程序可以使用以下语法反向创建副本...
ffmpeg -i /storage/emulated/0/ffvid/frameCount.mp4 -vf reverse -af areverse reversed.mp4
如本页面所述。