mismatch between calculated and reported Framerate using VideoReader

1 回表示 (過去 30 日間)
KV
KV 2016 年 3 月 22 日
コメント済み: KV 2016 年 3 月 23 日
I am trying to process video data (wmv format) recorded using a standard consumer grade camera using Matlab (R2014a, on Linux/Ubuntu) using VideoReader
vr = VideoReader('my_movie_file.wmv')
frames = read(vr); % read all frames
size(frames, 4) % gives 4025
vr.NumberOfFrames % gives 4025
vr.Duration % gives 134.7950
vr.FrameRate % gives 15
Now, this does not compute!
I.e,
round(vr.FrameRate*vr.Duration) % gives 2022,
which is half the size of vr.NumberOfFrames -- which means that the reported FrameRate is 1/2 the "calculated" value!
What am I missing?? All help will be appreciated.
  5 件のコメント
Walter Roberson
Walter Roberson 2016 年 3 月 22 日
Is the file variable framerate? If so then the reported framerate might be the last one in the file (the one in effect at the time you queried)
KV
KV 2016 年 3 月 23 日
Yes, Walter -- the file does have variable frame rate. Is there any way I can get information about "timestamps" on a per-frame basis?

サインインしてコメントする。

回答 (0 件)

製品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by