10000 Handling of corrupt video files · Issue #31 · scrubbbbs/cbird · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Handling of corrupt video files #31

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
balooii opened this issue Apr 7, 2025 · 4 comments
8000 Open

Handling of corrupt video files #31

balooii opened this issue Apr 7, 2025 · 4 comments

Comments

@balooii
Copy link
balooii commented Apr 7, 2025

Hi, thanks for your work on this project.

When using cbird on my video collection while updating the index I'm seeing the sames files being processed again every time. This only happens for somewhat corrupt/broken files as FFMPEG errors are logged in such cases.

I don't want to delete those files as they play just fine in a media player (maybe skips a few frames). It would help if there was a way to tell the program to skip files on future runs if it wasn't able to process them in the first try instead of retrying every time I'm running -update.

Transcoding these files myself via ffmpeg binary would likely also work to create proper files but I'd like to avoid that and ignore them when running cbird.

Here are some of the errors I'm seeing if it helps:

@FFmpeg{./file1.flv|flv}$ Packet mismatch 1101135872 16802 16802
@FFmpeg{./file1.flv|flv}$ Packet mismatch 1101135872 16802 16802 [x1]
@FFmpeg{./file2.flv|flv}$ Packet mismatch 2128543744 32479 32479
@FFmpeg{./file3.flv|flv}$ Packet mismatch 2128543744 32479 32479 [x1]
@FFmpeg{./file4.mp4|aac}$ This stream seems to incorrectly report its last channel as LFE[3], mapping to LFE[0]
@FFmpeg{./file5.flv|flv}$ Packet mismatch -31195136 65060 65060
@FFmpeg{./file5.flv|flv}$ Packet mismatch -31195136 65060 65060 [x1]
@FFmpeg{./file6.mp4|mpegts}$ start time for stream 2 is not set in estimate_timings_from_pts
@FFmpeg{./file7.mp4|h264}$ A non-intra slice in an IDR NAL unit.
@FFmpeg{./file7.mp4|h264}$ decode_slice_header error
@FFmpeg{./file8.mp4|mov,mp4,m4a,3gp,3g2,mj2}$ stream 0, timescale not set
@FFmpeg{./file8.mp4|mov,mp4,m4a,3gp,3g2,mj2}$ stream 0, timescale not set [x1]
@FFmpeg{./file9.mp4|mpegts}$ start time for stream 2 is not set in estimate_timings_from_pts
@FFmpeg{./file10.avi|ogg}$ Headers mismatch for stream 0: expected 2 received 1.
@FFmpeg{./file10.avi|ogg}$ Headers mismatch for stream 1: expected 3 received 1.
@FFmpeg{./file10.avi|ogg}$ Headers mismatch for stream 0: expected 2 received 1.
@FFmpeg{./file10.avi|ogg}$ Headers mismatch for stream 1: expected 3 received 1.
@FFmpeg{./file11.mp4|mpegts}$ PES packet size mismatch
@FFmpeg{./file11.mp4|mpegts}$ Packet corrupt (stream = 1, dts = 793261110).
@FFmpeg{./file12.mp4|mov,mp4,m4a,3gp,3g2,mj2}$ Referenced QT chapter track not found
...
@scrubbbbs
Copy link
Owner

Thanks for suggesting. I guess we could add it to the database and mark it as corrupt.

@balooii
Copy link
Author
balooii commented Apr 27, 2025

Another option which would be quite handy in this but also in other scenarios would be to have a .cbirdignore file similar to how .gitignore works.

@scrubbbbs
Copy link
Owner

Another option which would be quite handy in this but also in other scenarios would be to have a .cbirdignore file similar to how .gitignore works.

In v0.8 I added -i.exclude which could be added to the saved arguments list _index/args.txt

@balooii
Copy link
Author
balooii commented Apr 28, 2025

In v0.8 I added -i.exclude which could be added to the saved arguments list _index/args.txt

I wasn't aware of that, thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants
0