View Full Version : Corrupt frames not detected by "Scan video stream for errors"
JimmyBarnes
17th December 2006, 07:33
Did a DVD to XviD/mp3 conversion. Used Lanczos and quantizer=2.00 for video, so low bitrate was not a problem.
Excellent quality video, but noticed about a second of fames which showed obvious visible corruption, even though it passed the VirtualDubMod 1.5.10.1 "Scan video stream for errors" test. :confused:
Was able to reencode the problem section and remove the corruption.
Is there another program which could have detected the error by scanning?
(have since switched from XviD 1.1.0 to 1.1.2 so hopefully the cause has been removed).
thanks
JB
Sharktooth
20th December 2006, 04:17
Maybe the "stream" was not corrupted at all...
However the causes of those "corruption" are usually due to overclocking or defective memory modules.
JimmyBarnes
20th December 2006, 07:28
Maybe the "stream" was not corrupted at all...
However the causes of those "corruption" are usually due to overclocking or defective memory modules.
Not doing the former and no other evidence of the latter.
JB
henryho_hk
20th December 2006, 11:43
Perhaps you are using different decoder libraries.
Video playback uses Directshow-based decoders usually while Virtualdubmod uses VFW-based decoders. If you have ffdshow installed, very probably video playback is using ffdshow while virtualdubmod is using xvid for decode.
JimmyBarnes
20th December 2006, 14:49
Perhaps you are using different decoder libraries.
Video playback uses Directshow-based decoders usually while Virtualdubmod uses VFW-based decoders. If you have ffdshow installed, very probably video playback is using ffdshow while virtualdubmod is using xvid for decode.
xvid decode using ffdshow is disabled.
JB
foxyshadis
20th December 2006, 15:25
The "stream" is the avi container. (Or ogm/mkv, if VDM even supports scanning those properly, I've never tested.) It doesn't check the video content at all, because it really can't; that's all opaque to VDub. phaeron posted in his blog once about that, I think, or on his forum.
ffdshow is good for covering the errors up, but not really for detecting them; ffmpeg or mencoder, on the other hand, should spit out a warning when a frame doesn't decode properly.
JimmyBarnes
21st December 2006, 00:12
The "stream" is the avi container. (Or ogm/mkv, if VDM even supports scanning those properly, I've never tested.) It doesn't check the video content at all, because it really can't; that's all opaque to VDub. phaeron posted in his blog once about that, I think, or on his forum.
ffdshow is good for covering the errors up, but not really for detecting them; ffmpeg or mencoder, on the other hand, should spit out a warning when a frame doesn't decode properly.
Any idea how to use either of those to check for errors in an already created video stream?
http://gentoo-wiki.com/HOWTO_Mencoder_Introduction_Guide doesn't say anything about that and I don't particularly want to switch to mencoder for ripping.
JB
foxyshadis
21st December 2006, 02:26
Using this command line:
ffmpeg -i yourfile.avi -vcodec huffyuv -acodec pcm_u8 -f avi NUL (/dev/null on *nix)
You'll see things like
invalid new backstep 513 63245kB time=23.3 bitrate=22217.1kbits/s
invalid new backstep 513
overread, skip -5 enddists: -1 -1 time=28.4 bitrate=22249.9kbits/s
invalid new backstep 516 166904kB time=61.8 bitrate=22124.3kbits/s
if the mp3 audio is corrupt, or
[mpeg4 @ 008F9D60]slice end not reached but screenspace end (1219 left 4BB6EE, score= -829)
[mpeg4 @ 008F9D60]concealing 475 DC, 475 AC, 475 MV errors
[mpeg4 @ 008F9D60]slice end not reached but screenspace end (17 left E9EFB5, score= -828)
[mpeg4 @ 008F9D60]concealing 475 DC, 475 AC, 475 MV errors
or
[mpeg4 @ 008F9D60]ac-tex damaged at 21 17
[mpeg4 @ 008F9D60]Error at MB: 463
[mpeg4 @ 008F9D60]marker does not match f_code
[mpeg4 @ 008F9D60]ac-tex damaged at 10 2.6 bitrate=28286.8kbits/s
[mpeg4 @ 008F9D60]Error at MB: 62
[mpeg4 @ 008F9D60]marker does not match f_code
if it's mpeg-4 video that's corrupt. Lots of variations on what can go wrong. If you want an error-concealed version, you can keep the output instead of dumping it to nul.
It's surprisingly difficult to really visibly damage video, without dumping tens of bytes of junk into the file. ffmpeg has very good error concealment.
I'm not suggesting you switch to such methods permanently, btw, but just run them on the output to make sure it's all good.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.