dmlc / decord

An efficient video loader for deep learning with smart shuffling that's super easy to digest
Apache License 2.0
1.88k stars 160 forks source link

get_batch() returns mmco: unref short failure, even for a valid frame #177

Open ffahmed opened 3 years ago

ffahmed commented 3 years ago

get_batch returns " [h264 @ 0x561c38325ac0] mmco: unref short failure ", for some frames in the middle of the video. Video plays fine and there is no other issue.

To recreate the problem for one of the many videos do the following: 1) download this https://www.rocq.inria.fr/cluster-willow/amiech/Youcook2_val.zip 2) extract and download Youcook2_val/validation/201/mZwK0TBI1iY.mkv 3) Load the video using vr=VideoReader(..) 4) Do a vr.get_batch([257]).shape 5) Although it has 7939 frames, it throws error while getting frame 257.

Could you please help me debug this?

Thanks

dxli94 commented 3 years ago

Any update on this, pleaes?

frelwx commented 2 years ago

I meet this, too. It seems to be neither a bug or warning.😭

DrJimFan commented 2 years ago

I have the same issue, but it didn't crash the program. Also I visualized the extracted tensor, it actually looks fine despite the very serious-looking warning message? Do you guys also see a normal execution and output? I can't figure out how to suppress that warning though. It's spamming my training loop constantly. @ffahmed @dxli94 @frelwx

dxli94 commented 2 years ago

I have the same issue, but it didn't crash the program. Also I visualized the extracted tensor, it actually looks fine despite the very serious-looking warning message? Do you guys also see a normal execution and output? I can't figure out how to suppress that warning though. It's spamming my training loop constantly. @ffahmed @dxli94 @frelwx

Same observation. Training was not interrupted. It might be due to corrupt video files but I can't be sure.

cecilia930426 commented 2 years ago

Any update?

scottfleming commented 2 years ago

Same issue here. Different video, different dataset, but basically the exact same problem as @ffahmed. Doesn't affect runtime - despite the ominous error the reading/loading appears to work just fine. But it does raise concerns about potential problems underneath the hood with unexpected behavior/results downstream. Happy to provide more details if it would be helpful, but if you can reproduce the OP's issue, I'm fairly certain it would be the same for me.

SCZwangxiao commented 1 year ago

Same dataset, same issue.

I've tried to re-encode the original .mkv files into .mp4 files, but the message still keeps going out.

kahnchana commented 1 year ago

I'm facing the same issue - any updates?

zhanwenchen commented 1 year ago

I get 4x [h264 @ 0x5651802bc400] mmco: unref short failure when I process v_UvPUywSVy1k.mp4 from ActivityNet using cpu, but it hangs with gpu. This is the code in question:

def load_video(vis_path, device, num_frm=100):
    with open(vis_path, 'rb') as file_in:
        # vr = VideoReader(file_in, ctx=gpu(0), num_threads=0)
        vr = VideoReader(file_in, ctx=cpu(0), num_threads=0)
    total_frame_num = len(vr)
    total_num_frm = min(total_frame_num, num_frm)
    frame_idx = get_seq_frames(total_frame_num, total_num_frm)
    # img_array = vr.get_batch(frame_idx).asnumpy()  # (n_clips*num_frm, H, W, 3)
    img_array = vr.get_batch(frame_idx) # (n_clips*num_frm, H, W, 3)
    del vr
patrick-tssn commented 10 months ago

same question

zealota commented 10 months ago

I met the same issue, during processing ActivityNet dataset.

Ayush-00 commented 3 months ago

Encountering same issue in ActivityNet dataset.

lowdewijk commented 1 week ago

Getting the same issue on some home made mp4-based datasets. As far as I can tell it doesn't really cause errors, but the screen just fill with countless of these errors.