当前位置: 首页 > 面试题库 >

如何使用cv2获取视频的时长

汤枫涟
2023-03-14
问题内容

我只能CAP_PROP_FRAME_COUNT使用CV2获得帧数。

但是,我找不到使用cv2获取视频持续时间的参数。

怎么做?

非常感谢你。


问题答案:

cv2并非旨在探索视频元数据,因此VideoCapture没有API可以直接检索它。

您可以改为“测量”流的长度:搜索到最后,然后获取时间戳:

>>> v=cv2.VideoCapture('sample.avi')
>>> v.set(cv2.CAP_PROP_POS_AVI_RATIO,1)
True
>>> v.get(cv2.CAP_PROP_POS_MSEC)
213400.0

检查表明这将点设置在最后一帧之后(而不是在它之前),因此时间戳确实是流的确切总长度:

>>> v.get(cv2.CAP_PROP_POS_FRAMES)
5335.0
>>>> v.get(cv2.CAP_PROP_FRAME_COUNT)
5335.0

>>> v.set(cv2.CAP_PROP_POS_AVI_RATIO,0)
>>> v.get(cv2.CAP_PROP_POS_FRAMES)
0.0        # the 1st frame is frame 0, not 1, so "5335" means after the last frame


 类似资料:
  • 我想知道Youtube视频的持续时间。以下是我尝试的代码: 请检查XML文件。我得到了这个视频的标题。我想从<code>中获取持续时间 如何获取秒此

  • 问题内容: 我想从某些流式视频资源(例如you- tube或metacafe.com)中获取确切的视频链接,因为没有直接的视频链接可用。如何解析视频链接。还有如何使用Java将流视频从http url下载到本地系统? 谢谢! 问题答案: 我以前使用了一个名为HTMLParser的库。它可以读取html输入并生成HTML节点。然后,您可以分析并检索您喜欢的节点。

  • 我试图从html解析视频网址。我正在使用J汤解析来解析它。我想解析 从这个html。我怎样才能从上面的行得到这个内容。 现在我的代码是: 我的代码应该更改什么? 提前谢谢你!

  • 问题内容: 我正在做一个使用HTML和Javascript的项目,它将与本地文件一起在本地运行。我需要通过输入选择一个文件,获取文件信息,然后决定是否将其添加到列表中并进行复制。如果我决定使用它,则必须将其放在队列中以备后用。否则,我将丢弃并选择另一个文件。 我面临的问题是我无法找到一种仅通过在输入中选择视频持续时间来获得视频持续时间的方法。 我进行了很多搜索,但没有找到任何方法来获取持续时间。在

  • 我已经在PC上使用pip ffprobe命令安装了ffprobe,并从这里安装了ffmpeg。 然而,我仍然在运行这里列出的代码时遇到麻烦。 我尝试使用下面的代码,但没有成功。 有人知道怎么了吗?我没有正确引用目录吗?是否需要确保和视频文件位于特定位置? 如果这个问题有点基本的话,我很抱歉。所有我需要的是能够迭代一组视频文件,并获得他们的开始时间和结束时间。 谢谢!

  • 我使用jSoup解析所有的超文本标记语言从这个网站:新闻 我可以获取所有的倾斜,描述与选择一些我需要的元素。但找不到要选择的视频URL元素。我怎么能得到视频链接与jSoup或另一种库。谢谢!

  • 问题内容: 我想使用Java从YouTube网址获取v = id YouTube网址格式示例: &a=GxdCwVVULXctT2lYDEPllDR0LRTutYfW ](http://www.youtube.com/watch?v=u8nQa1cJyX8&a=GxdCwVVULXctT2lYDEPllDR0LRTutYfW) //www.youtube.com/watch?v=u8nQa1cJy

  • 为什么下面的代码不保存视频?另外,网络摄像头的帧速率是否必须与帧大小完全匹配?