Why doesn't VideoReader(filename) return?

1 次查看(过去 30 天)
I'm runnin the following code:
v = VideoReader('video.mp4')
on a video that plays with no problem in my media player, but the function just "hangs", i.e. doesn't return at all. I can't even pause execution or kill it with Ctrl+C, I have to force the whole Matlab session to end while potentially losing unsaved work.
Trying to debug this and 'stepping in' whenever poosible, I get to line 271 (function 'open' in the script
'C:\Program Files\MATLAB\R2020b\toolbox\shared\asynciolib\+asyncio\Channel.m')
% Gain exclusive access of the device.
obj.ChannelImpl.open(options);
which doesn't return. Matlab version is 2020b. Any help would be highly appreciated.
  4 个评论
asaf benjamin
asaf benjamin 2021-8-4
This issue happens with several videos (but not all videos, of course). An example video can be found here. Thanks!
asaf benjamin
asaf benjamin 2021-8-9
I can now confirm that, not only does the video play with no problem in any standard media player, but it is also read with no problem in Open CV, simply using:
vidcap = cv2.VideoCapture(vid_name)
success, image = vidcap.read()
I'd prefer to use Matlab for this, but if there's no solution to the problem I guess I'd have to move to Python instead...

请先登录,再进行评论。

回答(0 个)

Community Treasure Hunt

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

Start Hunting!

Translated by