Why doesn't VideoReader(filename) return?

1 view (last 30 days)
asaf benjamin
asaf benjamin on 31 Mar 2021
Commented: asaf benjamin on 9 Aug 2021
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 Comments
asaf benjamin
asaf benjamin on 4 Aug 2021
This issue happens with several videos (but not all videos, of course). An example video can be found here. Thanks!
asaf benjamin
asaf benjamin on 9 Aug 2021
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...

Sign in to comment.

Answers (0)

Community Treasure Hunt

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

Start Hunting!