PDA

View Full Version : Editing/Repair/Fixing of OGM Stream errors?


leila2
14th November 2004, 12:39
Hi dudes,

I have a problem converting a working OGM video into a divx avi with mp3 audio.
The VirtualDubMod reports parsing errors (details below) and also crashes at playback at the problem region - while e.g. BSPlayer plays the entire file without problem. Demuxing of the ogg audio works fine but when i want to save the video without audio (or any other way) VirtualDub_Mod crashes with a often reported but as to now not solved problem:

Crash reason: Access Violation
Crash context:
An out-of-bounds memory access (access violation) occurred in module 'VirtualDubMod'... (details below)

...while running thread "Dub-I/O" (thread.cpp:120).

I tried working /converting on this file using other tools supporting OGM by DS filters but the same crash at the same portion at the end of the video occurs.

Any suggestions on what other tools to try or how to solve the problem??

Thanks a lot in advance!

Leila


Stream errors
---== Video stream ==---
Source : [Input Ogg Media File]
Description : Video stream
Length : 00:59:08.250
Video stream
Header Size : 56 bytes
Type : [video]
SubType : [DIVX]
BufferSize : 55615 bytes
Time Unit : 417083
SamplesPerUnit : 1
Default Len : 1
BitsPerSample : 24
Width : 512 pixels
Height : 384 pixels
SampleRate : 23.976
Stream report
Some problems have been encountered while parsing the stream :
Information about Packet 0 in Page at byte 616824412 (00:48:16.641) has been corrected.
Now containing 2 samples instead of 1.
Information about Packet 0 in Page at byte 620858993 (00:48:35.535) has been corrected.
Now containing 2 samples instead of 16089.
Page at byte 622090025 (00:48:41.249) exposed 0 Packets instead of 1 expected.
Seems like 1 Packets have been lost in action.
Information about Packet 0 in Page at byte 622098560 (00:48:41.249) has been corrected.
Now containing 2 samples instead of 1.
Page at byte 643741031 (00:50:24.269) exposed 0 Packets instead of 1 expected.
Seems like 1 Packets have been lost in action.
Information about Packet 0 in Page at byte 643749768 (00:50:24.269) has been corrected.
Now containing 2 samples instead of 1.
Information about Packet 0 in Page at byte 688049207 (00:54:40.483) has been corrected.
Now containing 2 samples instead of 0.

---== Other stream ==---
Source : [Ogg Media File]
Description : OGM audio stream 1 [Vorbis], 2ch, 44100Hz, 88.0kbps
Length : 00:59:08.334
Vorbis stream
Vorbis information :
Version : 0
Channels : 2
SampleRate : 44100
BitRate Lower : -1 bps
BitRate Nominal : 88016 bps
BitRate Upper : -1 bps
BitRate Window : 0
Stream report
No apparent problem have been encountered while parsing the stream.

---== Ogg Media File Import filter report ==---
Some bytes have been skipped in the file due to corrupted data :
4191 bytes starting at byte 616811463 (00:48:16.641)
4173 bytes starting at byte 620850441 (00:48:35.535)
4379 bytes starting at byte 622085646 (00:48:41.249)
4379 bytes starting at byte 643736652 (00:50:24.269)
4179 bytes starting at byte 688040649 (00:54:40.483)





Crash-Report:

VirtualDub crash report -- build 2439 (release)
--------------------------------------

Disassembly:
004f0980: b8000000fe mov eax, fe000000
004f0985: c00fb6 ror byte ptr [edi], b6
004f0988: c06bc01c shr byte ptr [ebx-40], 1c
004f098c: 8d4c080c lea ecx, [eax+ecx+0c]
004f0990: e9b5000000 jmp OGMReadStream::Read+7da (004f0a4a)
004f0995: 8b4508 mov eax, [ebp+08]
004f0998: 81780804020000 cmp dword ptr [eax+08], 00000204
004f099f: 8b36 mov esi, [esi]
004f09a1: 897c2410 mov [esp+10], edi
004f09a5: 8b7c2434 mov edi, [esp+34]
004f09a9: 885c242c mov [esp+2c], bl
004f09ad: 752f jnz OGMReadStream::Read+76e (004f09de)
004f09af: 8b859c000000 mov eax, [ebp+9c]
004f09b5: 8bc8 mov ecx, eax
004f09b7: 8bd1 mov edx, ecx
004f09b9: c1e902 shr ecx, 02
004f09bc: f3a5 rep movsd
004f09be: 8bca mov ecx, edx
004f09c0: 8b5560 mov edx, [ebp+60]
004f09c3: 8b5214 mov edx, [edx+14]
004f09c6: 83e103 and ecx, 03
004f09c9: f3a4 rep movsb
004f09cb: 33c9 xor ecx, ecx
004f09cd: 8acb mov cl, bl
004f09cf: 8b0c8a mov ecx, [edx+ecx*4]
004f09d2: 894c2438 mov [esp+38], ecx
004f09d6: 8b4c2430 mov ecx, [esp+30]
004f09da: 03c8 add ecx, eax
004f09dc: eb45 jmp OGMReadStream::Read+7b3 (004f0a23)
004f09de: 0fb60e movzx ecx, byte ptr [esi]
004f09e1: 8b959c000000 mov edx, [ebp+9c]
004f09e7: 8bc1 mov eax, ecx
004f09e9: c1e906 shr ecx, 06
004f09ec: 83e002 and eax, 02
004f09ef: d1e0 shl eax, 1
004f09f1: 0bc1 or eax, ecx
004f09f3: 2bd0 sub edx, eax
004f09f5: 8d740601 lea esi, [esi+eax+01]
004f09f9: 8d4aff lea ecx, [edx-01]
004f09fc: 8bc1 mov eax, ecx
004f09fe: c1e902 shr ecx, 02
004f0a01: f3a5 rep movsd
004f0a03: 8bc8 mov ecx, eax
004f0a05: 8b4560 mov eax, [ebp+60]
004f0a08: 8b4014 mov eax, [eax+14]
004f0a0b: 83e103 and ecx, 03
004f0a0e: f3a4 rep movsb
004f0a10: 33c9 xor ecx, ecx
004f0a12: 8acb mov cl, bl
004f0a14: 8b0c88 mov ecx, [eax+ecx*4] <-- FAULT
004f0a17: 8b442430 mov eax, [esp+30]
004f0a1b: 894c2438 mov [esp+38], ecx
004f0a1f: 8d4c10ff lea ecx, [eax+edx-01]
004f0a23: 8b442438 mov eax, [esp+38]
004f0a27: 85c0 test eax, eax
004f0a29: 894c2430 mov [esp+30], ecx
004f0a2d: 0f858d010000 jnz OGMReadStream::Read+950 (004f0bc0)
004f0a33: 8b7c2410 mov edi, [esp+10]
004f0a37: e9f9feffff jmp OGMReadStream::Read+6c5 (004f0935)
004f0a3c: 8b4904 mov ecx, [ecx+04]
004f0a3f: 85c9 test ecx, ecx
004f0a41: 0f8479010000 jz OGMReadStream::Read+950 (004f0bc0)
004f0a47: 83c10c add ecx, 0c
004f0a4a: 85c9 test ecx, ecx
004f0a4c: 0f846e010000 jz OGMReadStream::Read+950 (004f0bc0)
004f0a52: 8b4d40 mov ecx, [ebp+40]
004f0a55: 8a4544 mov al, [ebp+44]
004f0a58: 3a4108 cmp al, [ecx+08]
004f0a5b: 7307 jnc OGMReadStream::Read+7f4 (004f0a64)
004f0a5d: fec0 inc al
004f0a5f: 884544 mov [ebp+44], al
004f0a62: eb0a jmp OGMReadStream::Read+7fe (004f0a6e)
004f0a64: 8b4904 mov ecx, [ecx+04]
004f0a67: c6454400 mov byte ptr [ebp+44], 00
004f0a6b: 894d40 mov [ebp+40], ecx
004f0a6e: 0fb65544 movzx edx, byte ptr [ebp+44]
004f0a72: 8b4540 mov eax, [ebp+40]
004f0a75: 6bd21c imul edx, edx, 1c
004f0a78: 8d4c020c lea ecx, [edx+eax+0c]
004f0a7c: c6 db c6
004f0a7d: 44 inc esp
004f0a7e: 242c and al, 2c

Windows 5.1 (Windows XP build 2600) [Service Pack 2]

EAX = 00000000
EBX = 01123500
ECX = 00000000
EDX = 00001d5f
EBP = 020c9900
DS:ESI = 0023:016d3db7
ES:EDI = 0023:06301d5e
SS:ESP = 0023:0629fde8
CS:EIP = 001b:004f0a14
FS = 003b
GS = 0000
EFLAGS = 00010246
FPUCW = ffff027f
FPUTW = ffffffff

MM0 = 00c5000002110370
MM1 = 04000d9201dc0000
MM2 = 1011037000008f92
MM3 = 00c5000000000000
MM4 = ffffffff7c9216ff
MM5 = 000000117c920732
MM6 = 0012ee2800000000
MM7 = c000000000000000

Crash reason: Access Violation

Crash context:
An out-of-bounds memory access (access violation) occurred in module 'VirtualDubMod'...

...while running thread "Dub-I/O" (thread.cpp:120).

Thread traces:

Thread 00000790 (Main thread)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\Init.cpp(344)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\Init.cpp(387)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\Init.cpp(407)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\Init.cpp(467)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\VideoSource.cpp(646)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\VideoSource.cpp(676)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\VideoSource.cpp(1819)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\VideoSource.cpp(1837)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\FilterSystem.cpp(429)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\FilterSystem.cpp(569)
Thread 00000acc (FastWriteStream)
Thread 00000ecc (Processing)
Thread 000009d4 (Dub-I/O)

Thread call stack:004f0a14: OGMReadStream::Read()
004bb782: VideoSourceAVI::_read()
004b51d6: DubSource::read()
0047090f: VDDubIOThread::ReadVideoFrame()
004704ab: VDDubIOThread::ThreadRun()
7c80e08b: kernel32!DuplicateHandle [7c800000+e016+75]
00528a6f: VDThread::StaticThreadStart()
00566a0c: _threadstartex@4()
7c80b50b: kernel32!GetModuleFileNameA [7c800000+b357+1b4]

-- End of report
:(

Suiryc
15th November 2004, 15:35
I suggest the same thing than here (http://forum.doom9.org/showthread.php?s=&threadid=84751). Try with OGMDemuxer as proposed.

Hope this will help.

leila2
15th November 2004, 21:34
Thanx a lot Suiryc!

I used OGMDemuxer and it did not crash but recorded several problems (see below). Unfortunately, now the avi is more than 10 minutes longer than the OGG audio. Any ideas how I can get rid of the dropped-frame stuff without using a frame-by-frame video editor and how to synchronize the streams easily?

cheers, Tom

============================================================
OGMDemuxer Log:

[!] ogg_sync_pageseek failed, 336 bytes skipped
[!] ogg_sync_pageseek failed, 374 bytes skipped
[!] ogg_sync_pageseek failed, 108 bytes skipped
[!] ogg_sync_pageseek failed, 49 bytes skipped
[!] ogg_sync_pageseek failed, 363 bytes skipped
[!] ogg_sync_pageseek failed, 91 bytes skipped
[!] ogg_sync_pageseek failed, 38 bytes skipped
[!] ogg_sync_pageseek failed, 901 bytes skipped
[!] ogg_sync_pageseek failed, 374 bytes skipped
[!] ogg_sync_pageseek failed, 66 bytes skipped
[!] ogg_sync_pageseek failed, 63 bytes skipped
[!] ogg_sync_pageseek failed, 68 bytes skipped
[!] ogg_sync_pageseek failed, 401 bytes skipped
[!] ogg_sync_pageseek failed, 1 bytes skipped
[!] ogg_sync_pageseek failed, 150 bytes skipped
[!] ogg_sync_pageseek failed, 215 bytes skipped
[!] ogg_sync_pageseek failed, 243 bytes skipped
[!] ogg_sync_pageseek failed, 67 bytes skipped
[!] ogg_sync_pageseek failed, 21 bytes skipped
[!] ogg_sync_pageseek failed, 262 bytes skipped
It appears 1 samples have been lost due to corruption in stream 0 ...
... the missing samples were replaced by dropped frames
[!] ogg_sync_pageseek failed, 495 bytes skipped
[!] ogg_sync_pageseek failed, 236 bytes skipped
[!] ogg_sync_pageseek failed, 40 bytes skipped
[!] ogg_sync_pageseek failed, 40 bytes skipped
[!] ogg_sync_pageseek failed, 21 bytes skipped
[!] ogg_sync_pageseek failed, 7 bytes skipped
[!] ogg_sync_pageseek failed, 97 bytes skipped
[!] ogg_sync_pageseek failed, 68 bytes skipped
[!] ogg_sync_pageseek failed, 344 bytes skipped
[!] ogg_sync_pageseek failed, 47 bytes skipped
[!] ogg_sync_pageseek failed, 32 bytes skipped
[!] ogg_sync_pageseek failed, 37 bytes skipped
[!] ogg_sync_pageseek failed, 484 bytes skipped
[!] ogg_sync_pageseek failed, 240 bytes skipped
[!] ogg_sync_pageseek failed, 126 bytes skipped
[!] ogg_sync_pageseek failed, 368 bytes skipped
[!] ogg_sync_pageseek failed, 284 bytes skipped
[!] ogg_sync_pageseek failed, 229 bytes skipped
[!] ogg_sync_pageseek failed, 271 bytes skipped
[!] ogg_sync_pageseek failed, 175 bytes skipped
[!] ogg_sync_pageseek failed, 210 bytes skipped
[!] ogg_sync_pageseek failed, 102 bytes skipped
[!] ogg_sync_pageseek failed, 220 bytes skipped
It appears -16087 samples have been lost due to corruption in stream 0 ...
... the missing samples were replaced by dropped frames
[!] ogg_sync_pageseek failed, 76 bytes skipped
[!] ogg_sync_pageseek failed, 105 bytes skipped
[!] ogg_sync_pageseek failed, 193 bytes skipped
[!] ogg_sync_pageseek failed, 217 bytes skipped
[!] ogg_sync_pageseek failed, 359 bytes skipped
[!] ogg_sync_pageseek failed, 166 bytes skipped
[!] ogg_sync_pageseek failed, 67 bytes skipped
[!] ogg_sync_pageseek failed, 33 bytes skipped
[!] ogg_sync_pageseek failed, 291 bytes skipped
[!] ogg_sync_pageseek failed, 49 bytes skipped
[!] ogg_sync_pageseek failed, 129 bytes skipped
[!] ogg_sync_pageseek failed, 42 bytes skipped
[!] ogg_sync_pageseek failed, 139 bytes skipped
[!] ogg_sync_pageseek failed, 615 bytes skipped
[!] ogg_sync_pageseek failed, 149 bytes skipped
[!] ogg_sync_pageseek failed, 20 bytes skipped
[!] ogg_sync_pageseek failed, 1 bytes skipped
[!] ogg_sync_pageseek failed, 900 bytes skipped
[!] ogg_sync_pageseek failed, 4 bytes skipped
[!] ogg_sync_pageseek failed, 22 bytes skipped
[!] ogg_sync_pageseek failed, 486 bytes skipped
[!] ogg_sync_pageseek failed, 316 bytes skipped
It appears 1 samples have been lost due to corruption in stream 0 ...
... the missing samples were replaced by dropped frames
[!] ogg_sync_pageseek failed, 370 bytes skipped
[!] ogg_sync_pageseek failed, 72 bytes skipped
[!] ogg_sync_pageseek failed, 1 bytes skipped
[!] ogg_sync_pageseek failed, 82 bytes skipped
[!] ogg_sync_pageseek failed, 41 bytes skipped
[!] ogg_sync_pageseek failed, 9 bytes skipped
[!] ogg_sync_pageseek failed, 199 bytes skipped
[!] ogg_sync_pageseek failed, 68 bytes skipped
[!] ogg_sync_pageseek failed, 105 bytes skipped
[!] ogg_sync_pageseek failed, 28 bytes skipped
[!] ogg_sync_pageseek failed, 156 bytes skipped
[!] ogg_sync_pageseek failed, 15 bytes skipped
[!] ogg_sync_pageseek failed, 77 bytes skipped
[!] ogg_sync_pageseek failed, 29 bytes skipped
[!] ogg_sync_pageseek failed, 131 bytes skipped
[!] ogg_sync_pageseek failed, 22 bytes skipped
[!] ogg_sync_pageseek failed, 145 bytes skipped
[!] ogg_sync_pageseek failed, 232 bytes skipped
[!] ogg_sync_pageseek failed, 350 bytes skipped
[!] ogg_sync_pageseek failed, 74 bytes skipped
[!] ogg_sync_pageseek failed, 854 bytes skipped
[!] ogg_sync_pageseek failed, 89 bytes skipped
[!] ogg_sync_pageseek failed, 245 bytes skipped
[!] ogg_sync_pageseek failed, 144 bytes skipped
[!] ogg_sync_pageseek failed, 164 bytes skipped
[!] ogg_sync_pageseek failed, 346 bytes skipped
[!] ogg_sync_pageseek failed, 150 bytes skipped
[!] ogg_sync_pageseek failed, 9 bytes skipped
[!] ogg_sync_pageseek failed, 156 bytes skipped
[!] ogg_sync_pageseek failed, 16 bytes skipped
It appears 1 samples have been lost due to corruption in stream 0 ...
... the missing samples were replaced by dropped frames
[!] ogg_sync_pageseek failed, 860 bytes skipped
[!] ogg_sync_pageseek failed, 23 bytes skipped
[!] ogg_sync_pageseek failed, 391 bytes skipped
[!] ogg_sync_pageseek failed, 681 bytes skipped
[!] ogg_sync_pageseek failed, 124 bytes skipped
[!] ogg_sync_pageseek failed, 222 bytes skipped
[!] ogg_sync_pageseek failed, 140 bytes skipped
[!] ogg_sync_pageseek failed, 44 bytes skipped
[!] ogg_sync_pageseek failed, 194 bytes skipped
[!] ogg_sync_pageseek failed, 120 bytes skipped
[!] ogg_sync_pageseek failed, 71 bytes skipped
[!] ogg_sync_pageseek failed, 459 bytes skipped
[!] ogg_sync_pageseek failed, 228 bytes skipped
[!] ogg_sync_pageseek failed, 159 bytes skipped
[!] ogg_sync_pageseek failed, 9 bytes skipped
[!] ogg_sync_pageseek failed, 242 bytes skipped
[!] ogg_sync_pageseek failed, 4 bytes skipped
[!] ogg_sync_pageseek failed, 208 bytes skipped
It appears 2 samples have been lost due to corruption in stream 0 ...
... the missing samples were replaced by dropped frames

Suiryc
20th November 2004, 15:50
The It appears -16087 samples have been lost due to corruption in stream 0 ... line smells really fishy :p

Don't know it it's a bug in the program or if your file is that badly corrupted.

Could you use OGMInfo (available on the same site than OGMDemuxer) on your file ?
Something like
OGMInfo -vvv --progress --log C:\OGMInfo.log "your path\your file.ogm"
Then ZIP or RAR the file C:\OGMInfo.log and send it to me (suiryc AT yahoo DOT com).

Thanks