pytorch/vision

[fyi][video] Video clip creation fails on YFCC

Open

#1,327 建立於 2019年9月11日

在 GitHub 查看
 (5 留言) (0 反應) (0 負責人)Python (15,050 star) (6,858 fork)batch import
bughelp wantedmodule: iomodule: video

描述

Culprit:

known bug in H264 decoding

For certain filetypes - specifically some related to YFCC100m dataset - there is an error whilst creating the VideoClips object. Not 100% sure what is the best way of fixing the issue (other than try-catch in read_video_timestamps.

Even if the fix is not critical, we should make sure that is caught in C++ or future versions.


Sample YFCC video in question:

27b66931edb88a5f7e6c756ea65fd8.mp4 there are at least 50 of them, probably more.

Minimal repro example

video_list = ['~/yfcc100m/mp4/27b/669/27b66931edb88a5f7e6c756ea65fd8.mp4']
VideoClips(video_list, 8, 1)

or even simpler

import av
container = av.open('~/yfcc100m/mp4/27b/669/27b66931edb88a5f7e6c756ea65fd8.mp4')
for idx, frame in enumerate(container.decode({'video': 0})):
    pass

Output error stack:

Invalid NAL unit size (34173 > 22144).
Error splitting the input into NAL units.
stream 1, offset 0x16baf66: partial file
Invalid NAL unit size (24747 > 6180).
Error splitting the input into NAL units.

貢獻者指南