逐帧播放视频 - Kivy

Posted

技术标签:

【中文标题】逐帧播放视频 - Kivy【英文标题】:Play a video frame by frame - Kivy 【发布时间】:2017-12-13 20:53:04 【问题描述】:

我正在学习 Kivy 和它的 API,我决定使用视频小部件编写一个小型视频播放器。

我已经实现了一个播放/暂停按钮和一个滑块,它指的是视频的长度和位置以便于导航,但我不知道如何做一个“下一帧”按钮! (以及“最后一帧”)

我尝试过类似的方法:

def nextFrame(self):
    self.video.seek(self.video.position + 0.04166666666666666666666666666667)

video 指的是视频小部件,0.04166666666666666666666666666667 是指在 25 fps 视频中以秒为单位的 1 帧……但也许我完全错了。

此函数会跳转到视频中的某个位置(但不是一帧之后,单击后我无法重复使用该按钮)并直接跳转到滑块的末尾,因为我将其映射到最大值 1,结果由函数总是大于 1。

所以我想知道是否有人有想法让事情顺利进行?

【问题讨论】:

【参考方案1】:

Video.seek() 方法将视频的百分比作为其参数 - 而不是以秒为单位的时间(这是 Video.position 存储的)

您可以查看the doc 了解更多信息。

希望这会有所帮助!

【讨论】:

以上是关于逐帧播放视频 - Kivy的主要内容,如果未能解决你的问题,请参考以下文章

想要在 AVPlayer 中播放视频时逐帧提取视频中的所有图像

更改正在动画的精灵表时 HTML5 Canvas 挂起(逐帧播放视频)

OpenCV这么简单为啥不学——2逐帧播放视频(VideoCapture函数waitKey函数0xFF == ord(‘1‘))

opencv 提取avi视频中的帧,逐帧播放

如何在 kivy 中播放来自网络的视频,例如 youtube

《Python+Kivy(App开发)从入门到实践》自学笔记:高级UX部件——VideoPlayer视频播放