Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么MATLAB无法确定视频文件中的帧数?_Matlab_Video - Fatal编程技术网

为什么MATLAB无法确定视频文件中的帧数?

为什么MATLAB无法确定视频文件中的帧数?,matlab,video,Matlab,Video,我试图复制麻省理工学院研究人员获得的数据。代码是可用的 以下是我在运行脚本时收到的警告: 17岁时的结果 正在处理。\data\baby.mp4 警告:无法确定此文件中的帧数。 正在处理。\data\baby2.mp4 使用VideoReader/init时出错(第436行) 我试图直接使用VideoReader打开一个文件,这是我得到的警告: >> videoObj = VideoReader('baby.mp4'); Warning: Unable to determine t

我试图复制麻省理工学院研究人员获得的数据。代码是可用的

以下是我在运行脚本时收到的警告:

17岁时的结果

正在处理。\data\baby.mp4

警告:无法确定此文件中的帧数。

正在处理。\data\baby2.mp4

使用VideoReader/init时出错(第436行)

我试图直接使用VideoReader打开一个文件,这是我得到的警告:

>> videoObj = VideoReader('baby.mp4'); 
Warning: Unable to determine the number of frames in this file.
我按照建议尝试了get()函数。这是输出:

>> get(videoObj)
  General Settings:
    Duration = 10.0333
    Name = baby.mp4
    Path = C:\Documents and Settings\Administrator\Desktop\EVM_Matlab-1.1\EVM_Matlab\data
    Tag = 
    Type = VideoReader
    UserData = []

  Video Settings:
    BitsPerPixel = 24
    FrameRate = 30.0000
    Height = 544
    NumberOfFrames = []
    VideoFormat = RGB24
    Width = 960

我正在Windows XP上运行MATLAB R2013a。

视频阅读器必须扫描整个文件,以确定某些文件格式的文件中存在的帧数。它必须这样做的原因是因为一类具有可变帧速率的文件

通常,帧计数发生在构造期间。但是,对于某些文件,它返回一个空值

要强制VideoReader计算帧数,请使用

data = read(vidObj, Inf);
numFrames = vidObj.NumberOfFrames;
希望这有帮助


Dinesh

视频阅读器必须扫描整个文件,以确定特定文件格式的文件中存在的帧数。它必须这样做的原因是因为一类具有可变帧速率的文件

通常,帧计数发生在构造期间。但是,对于某些文件,它返回一个空值

要强制VideoReader计算帧数,请使用

data = read(vidObj, Inf);
numFrames = vidObj.NumberOfFrames;
希望这有帮助


Dinesh

根据R2015a的Matlab文档,VideoReader类无法确定具有可变帧速率的视频的帧速率,除非读取最后一帧。他们给出了读取最后一帧的程序。我找不到r2013a的文档,但如果没有太多变化,那么这个过程可能值得尝试。根据R2015a的Matlab文档,VideoReader类无法确定具有可变帧速率的视频的帧速率,除非读取最后一帧。他们给出了读取最后一帧的程序。我找不到r2013a的文档,但是如果没有太多变化,那么这个过程可能值得尝试。谢谢。这给了我帧数,但我仍然不知道如何解决原来的问题。如何使正常运行?VideoReader/init中的错误表示VideoReader无法读取文件baby2.mp4。你在Windows上吗?如果是,您是否可以使用Windows Media Player播放视频?如果没有,您可能需要安装其他编解码器才能读取文件。我可以使用Windows Media Player播放baby.mp4。我想当VideoReader尝试读取baby2.mp4时,您会遇到错误。你能检查一下视频是否有效吗?baby2.mp4根本就没有创建谢谢。这给了我帧数,但我仍然不知道如何解决原来的问题。如何使正常运行?VideoReader/init中的错误表示VideoReader无法读取文件baby2.mp4。你在Windows上吗?如果是,您是否可以使用Windows Media Player播放视频?如果没有,您可能需要安装其他编解码器才能读取文件。我可以使用Windows Media Player播放baby.mp4。我想当VideoReader尝试读取baby2.mp4时,您会遇到错误。你能检查一下视频是否正常吗?baby2.mp4根本没有创建