统一获取视频的当前帧数/时间[关闭]

Posted

技术标签:

【中文标题】统一获取视频的当前帧数/时间[关闭]【英文标题】:Get current frame number / time of video in unity [closed] 【发布时间】:2017-10-06 04:35:24 【问题描述】:

我遇到了一个问题,如果可能,请帮助我。

我正在练习团结,我正在努力为自己创造一些东西。我正在使用 UI 和画布原始图像播放视频,我需要的是:

我想告诉动画师在电影到达特定帧或时间时开始一个特殊动画,例如当它到达 10 秒时我想让电影停止并触发该动画。

我在播放或暂停我的视频或在动画师中触发动画时没有任何问题...

我的问题是我不知道如何使用脚本获取电影中当前播放的帧数

我尝试使用时间函数来解决我的问题,但它有两个缺点,首先它不准确!每次它都会导致一个小的不同结果,我不知道为什么,其次,如果我改变其他东西,例如在那部电影之前的动作,就会变得很困难

简而言之,我的问题是:有没有办法统一使用脚本来获取电影的当前帧号? (使用 UI、画布和原始图像播放的电影)

提前非常感谢...

【问题讨论】:

到目前为止你尝试了什么,你卡在哪里了? 【参考方案1】:

有什么方法可以获取电影的当前帧号使用 统一脚本?

是的。您可以通过VideoPlayer.frame 变量获取当前视频帧。

请注意,它的工作方式类似于数组索引。 0 是第一帧,1 是第二帧。


您似乎在此问题的标题中将视频帧与视频时间混淆了。它们是两种不同的东西。

您可以通过VideoPlayer.time获取视频时间。你只需在 Update 函数中检查它是 10 秒,然后做一些事情。

VideoPlayer vidPlayer = null;
void Update()

    if (vidPlayer.time == 10)
    
        ///
    

请参阅here,了解如何使用 VideoPlayer API 播放视频。

【讨论】:

非常感谢,感谢您的回答以及您提到的链接,这很棒,正是我想要的,非常感谢... 不客气!

以上是关于统一获取视频的当前帧数/时间[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

iOS 确定视频中的帧数

flash as3.0获取外部视频总的时间长度 和视频已播放的时间长度

使用 ffmpeg 获取帧数

怎么用bat程序批量提取视频名字和视频的所有属性呢(时长,分辨率,帧数,创建时间,大小,视频时长)?

将视频转换为单张图片(灰度)【MATLAB】

ffmpeg 分析一个视频的基本结构组成_流_包_帧