Log in

View Full Version : AviDemux cutting off audio


lordadmira
3rd February 2009, 03:08
Greetz. My camera records video in an obnoxious (quicktime) format so I need to convert it to something useful. The video is fairly reasonable mpeg-4 (fourcc: MP4V) but I need to get the streams into a sane AVI container. AviDemux does that. However the audio stream does not survive intact. After about a minute, the audio cuts out. The original audio is 16 kHz PCM mono. Version is 2.4.3 (r4276). Any ideas? Thanks.


LA

poisondeathray
3rd February 2009, 16:47
Maybe you can try mp4box (Yamb) to extract the raw streams, then use avi-mux gui to re-wrap it?

lordadmira
4th February 2009, 00:28
Thanks for the hint but mp4box isn't extracting the whole track.

mp4box -raw 2 file.mov gives me a pcm file that has a few seconds of sound looping over and over for the duration of the original file. The documentation doesn't have any examples.

Using mp4box -single 2 file.mov gets the whole audio track but puts it in another .mov file, which doesn't help me.


LA

poisondeathray
4th February 2009, 01:27
Perhaps there is an error in your file?

You can also try demultiplexing with mp4muxer, but I doubt it will work if the other 2 failed

Maybe you can upload a small sample to a free hosting site for someone to examine (e.g. mediafire.com, megaupload.com)?

lordadmira
4th February 2009, 04:41
I don't think it's an error, or atleast a serious error, because the original quicktime files play fine in Nero Showtime and Quicktime Player.

I resorted to AviSynth and DirectShowSource() and that got all the audio except for the final 30 seconds. Another tool I downloaded got all of the audio but it insists on encoding it to mp2.

So it seems to be a case of AviDemux's resiliancy, or lack thereof.


LA

lordadmira
7th February 2009, 07:31
I found out some more information. I got mp4creator and tried to extract the audio. It spits out an error and some good debug information. The file is from a Kodak Z1015 camera.

D:\g\mp4muxer>mp4creator -extract=1 -v K:\OhayoCon\100_0552.MOV
ReadChildAtoms: of root
ReadAtom: pos = 0x0
ReadAtom: type = "skip" data-size = 272 (0x110) hdr 8
Skip: 272 bytes
ReadAtom: pos = 0x118
ReadAtom: type = "moov" data-size = 294624 (0x47ee0) hdr 8
ReadChildAtoms: of moov
ReadAtom: pos = 0x120
ReadAtom: type = "mvhd" data-size = 100 (0x64) hdr 8
Read: version = 0 (0x00)
Read: flags = 0 (0x000000)
Read: creationTime = 3316290199 (0xc5aa9297)
Read: modificationTime = 3316290199 (0xc5aa9297)
Read: timeScale = 30000 (0x00007530)
Read: duration = 4940936 (0x004b6488)
Read: rate = 1.000000
Read: volume = 1.000000
Read: reserved1 = <70 bytes>
00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00
00 00 00 00 00 00 00 00 00 00 40 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00
Read: nextTrackId = 3 (0x00000003)
ReadAtom: pos = 0x18c
ReadAtom: type = "trak" data-size = 130668 (0x1fe6c) hdr 8
ReadChildAtoms: of trak
ReadAtom: pos = 0x194
ReadAtom: type = "tkhd" data-size = 84 (0x54) hdr 8
Read: version = 0 (0x00)
Read: flags = 3 (0x000003)
Read: creationTime = 3316290199 (0xc5aa9297)
Read: modificationTime = 3316290199 (0xc5aa9297)
Read: trackId = 1 (0x00000001)
Read: reserved1 = <4 bytes> 00 00 00 00
Read: duration = 4940936 (0x004b6488)
Read: reserved2 = <12 bytes> 00 00 00 00 00 00 00 00 00 00 00 00
Read: volume = 0.000000
Read: reserved3 = <2 bytes> 00 00
Read: matrix = <36 bytes>
00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00
40 00 00 00
Read: width = 1280.000000
Read: height = 720.000000
ReadAtom: pos = 0x1f0
ReadAtom: type = "tref" data-size = 12 (0xc) hdr 8
ReadChildAtoms: of tref
ReadAtom: pos = 0x1f8
ReadAtom: type = "chap" data-size = 4 (0x4) hdr 8
Read: entryCount = 1 (0x00000001)
ReadChildAtoms: finished tref
ReadAtom: pos = 0x204
ReadAtom: type = "edts" data-size = 28 (0x1c) hdr 8
ReadChildAtoms: of edts
ReadAtom: pos = 0x20c
ReadAtom: type = "elst" data-size = 20 (0x14) hdr 8
Read: version = 0 (0x00)
Read: flags = 0 (0x000000)
Read: entryCount = 1 (0x00000001)
ReadChildAtoms: finished edts
ReadAtom: pos = 0x228
ReadAtom: type = "mdia" data-size = 130512 (0x1fdd0) hdr 8
ReadChildAtoms: of mdia
ReadAtom: pos = 0x230
ReadAtom: type = "mdhd" data-size = 24 (0x18) hdr 8
Read: version = 0 (0x00)
Read: flags = 0 (0x000000)
Read: creationTime = 3316290199 (0xc5aa9297)
Read: modificationTime = 3316290199 (0xc5aa9297)
Read: timeScale = 30000 (0x00007530)
Read: duration = 4940936 (0x004b6488)
Read: language = 0 (0x0000)
Read: reserved = <2 bytes> 00 00
ReadAtom: pos = 0x250
ReadAtom: type = "hdlr" data-size = 25 (0x19) hdr 8
Read: version = 0 (0x00)
Read: flags = 0 (0x000000)
Read: reserved1 = <4 bytes> 6d 68 6c 72
Read: handlerType = vide
Read: reserved2 = <12 bytes> 00 00 00 00 00 00 00 00 00 00 00 00
Read: name =
ReadAtom: pos = 0x271
ReadAtom: type = "minf" data-size = 130439 (0x1fd87) hdr 8
ReadChildAtoms: of minf
ReadAtom: pos = 0x279
ReadAtom: type = "vmhd" data-size = 12 (0xc) hdr 8
Read: version = 0 (0x00)
Read: flags = 1 (0x000001)
Read: reserved = <8 bytes> 00 40 00 80 00 80 00 80
ReadAtom: pos = 0x28d
ReadAtom: type = "hdlr" data-size = 25 (0x19) hdr 8
Read: version = 0 (0x00)
Read: flags = 0 (0x000000)
Read: reserved1 = <4 bytes> 64 68 6c 72
Read: handlerType = alis
Read: reserved2 = <12 bytes> 00 00 00 00 00 00 00 00 00 00 00 00
Read: name =
Warning: In atom minf unexpected child atom hdlr
ReadAtom: pos = 0x2ae
ReadAtom: type = "dinf" data-size = 28 (0x1c) hdr 8
ReadChildAtoms: of dinf
ReadAtom: pos = 0x2b6
ReadAtom: type = "dref" data-size = 20 (0x14) hdr 8
Read: version = 0 (0x00)
Read: flags = 0 (0x000000)
Read: entryCount = 1 (0x00000001)
ReadChildAtoms: of dref
ReadAtom: pos = 0x2c6
ReadAtom: type = "url " data-size = 4 (0x4) hdr 8
Read: version = 0 (0x00)
Read: flags = 1 (0x000001)
ReadChildAtoms: finished dref
ReadChildAtoms: finished dinf
ReadAtom: pos = 0x2d2
ReadAtom: type = "stbl" data-size = 130342 (0x1fd26) hdr 8
ReadChildAtoms: of stbl
ReadAtom: pos = 0x2da
ReadAtom: type = "stsd" data-size = 166 (0xa6) hdr 8
Read: version = 0 (0x00)
Read: flags = 0 (0x000000)
Read: entryCount = 1 (0x00000001)
ReadChildAtoms: of stsd
ReadAtom: pos = 0x2ea
ReadAtom: type = "mp4v" data-size = 150 (0x96) hdr 8
Read: reserved1 = <6 bytes> 00 00 00 00 00 00
Read: dataReferenceIndex = 1 (0x0001)
Read: reserved2 = <16 bytes> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Read: width = 1280 (0x0500)
Read: height = 720 (0x02d0)
Read: reserved3 = <14 bytes> 00 48 00 00 00 48 00 00 00 00 00 00 00 01
Read: compressorName =
Read: reserved4 = <4 bytes> 00 18 ff ff
ReadChildAtoms: of mp4v
ReadAtom: pos = 0x340
ReadAtom: type = "esds" data-size = 64 (0x40) hdr 8
Read: version = 0 (0x00)
Read: flags = 0 (0x000000)
ReadDescriptor: pos = 0x34c
ReadDescriptor: tag 0x03 data size 58 (0x3a)
Read: ESID = 1 (0x0001)
Read: streamDependenceFlag = 0 (0x0) <1 bits>
Read: URLFlag = 0 (0x0) <1 bits>
Read: OCRstreamFlag = 0 (0x0) <1 bits>
Read: streamPriority = 31 (0x1f) <5 bits>
Read: dependsOnESID = 0 (0x0000)
Read: URL = (null)
Read: OCRESID = 0 (0x0000)
ReadDescriptor: pos = 0x351
ReadDescriptor: tag 0x04 data size 50 (0x32)
Read: objectTypeId = 32 (0x20)
Read: streamType = 4 (0x04) <6 bits>
Read: upStream = 0 (0x0) <1 bits>
Read: reserved = 1 (0x1) <1 bits>
Read: bufferSizeDB = 150000 (0x0249f0) <24 bits>
Read: maxBitrate = 18000000 (0x0112a880)
Read: avgBitrate = 9000000 (0x00895440)
ReadDescriptor: pos = 0x360
ReadDescriptor: tag 0x05 data size 35 (0x23)
Read: info = <35 bytes>
00 00 01 b0 f3 00 00 01 b5 0e e0 c0 c0 cf 00 00
01 01 00 00 01 20 00 c4 88 ba 98 60 fa 65 00 8b
42 8c 7f
ReadDescriptor: pos = 0x385
ReadDescriptor: tag 0x06 data size 1 (0x1)
Read: predefined = 2 (0x02)
Read: timeScale = 0 (0x00000000)
Read: accessUnitDuration = 0 (0x0000)
Read: compositionUnitDuration = 0 (0x0000)
Read: startDecodingTimeStamp = 0 (0x0) <0 bits>
Read: startCompositionTimeStamp = 0 (0x0) <0 bits>
ReadChildAtoms: finished mp4v
ReadChildAtoms: finished stsd
ReadAtom: pos = 0x388
ReadAtom: type = "stts" data-size = 16 (0x10) hdr 8
Read: version = 0 (0x00)
Read: flags = 0 (0x000000)
Read: entryCount = 1 (0x00000001)
ReadAtom: pos = 0x3a0
ReadAtom: type = "free" data-size = 31832 (0x7c58) hdr 8
Skip: 31832 bytes
Warning: In atom stbl unexpected child atom free
ReadAtom: pos = 0x8000
ReadAtom: type = "stss" data-size = 1328 (0x530) hdr 8
Read: version = 0 (0x00)
Read: flags = 0 (0x000000)
Read: entryCount = 330 (0x0000014a)
ReadAtom: pos = 0x8538
ReadAtom: type = "free" data-size = 31424 (0x7ac0) hdr 8
Skip: 31424 bytes
Warning: In atom stbl unexpected child atom free
ReadAtom: pos = 0x10000
ReadAtom: type = "stsc" data-size = 32 (0x20) hdr 8
Read: version = 0 (0x00)
Read: flags = 0 (0x000000)
Read: entryCount = 2 (0x00000002)
ReadAtom: pos = 0x10028
ReadAtom: type = "free" data-size = 32720 (0x7fd0) hdr 8
Skip: 32720 bytes
Warning: In atom stbl unexpected child atom free
ReadAtom: pos = 0x18000
ReadAtom: type = "stsz" data-size = 19756 (0x4d2c) hdr 8
Read: version = 0 (0x00)
Read: flags = 0 (0x000000)
Read: sampleSize = 0 (0x00000000)
Read: sampleCount = 4936 (0x00001348)
ReadAtom: pos = 0x1cd34
ReadAtom: type = "stco" data-size = 1328 (0x530) hdr 8
Read: version = 0 (0x00)
Read: flags = 0 (0x000000)
Read: entryCount = 330 (0x0000014a)
ReadAtom: pos = 0x1d26c
ReadAtom: type = "free" data-size = 11660 (0x2d8c) hdr 8
Skip: 11660 bytes
Warning: In atom stbl unexpected child atom free
ReadChildAtoms: finished stbl
ReadChildAtoms: finished minf
ReadChildAtoms: finished mdia
ReadChildAtoms: finished trak
ReadAtom: pos = 0x20000
ReadAtom: type = "trak" data-size = 98296 (0x17ff8) hdr 8
ReadChildAtoms: of trak
ReadAtom: pos = 0x20008
ReadAtom: type = "tkhd" data-size = 84 (0x54) hdr 8
Read: version = 0 (0x00)
Read: flags = 3 (0x000003)
Read: creationTime = 3316290199 (0xc5aa9297)
Read: modificationTime = 3316290199 (0xc5aa9297)
Read: trackId = 2 (0x00000002)
Read: reserved1 = <4 bytes> 00 00 00 00
Read: duration = 4940936 (0x004b6488)
Read: reserved2 = <12 bytes> 00 00 00 00 00 00 00 00 00 00 00 00
Read: volume = 1.000000
Read: reserved3 = <2 bytes> 00 00
Read: matrix = <36 bytes>
00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00
40 00 00 00
Read: width = 0.000000
Read: height = 0.000000
ReadAtom: pos = 0x20064
ReadAtom: type = "edts" data-size = 28 (0x1c) hdr 8
ReadChildAtoms: of edts
ReadAtom: pos = 0x2006c
ReadAtom: type = "elst" data-size = 20 (0x14) hdr 8
Read: version = 0 (0x00)
Read: flags = 0 (0x000000)
Read: entryCount = 1 (0x00000001)
ReadChildAtoms: finished edts
ReadAtom: pos = 0x20088
ReadAtom: type = "mdia" data-size = 98160 (0x17f70) hdr 8
ReadChildAtoms: of mdia
ReadAtom: pos = 0x20090
ReadAtom: type = "mdhd" data-size = 24 (0x18) hdr 8
Read: version = 0 (0x00)
Read: flags = 0 (0x000000)
Read: creationTime = 3316290199 (0xc5aa9297)
Read: modificationTime = 3316290199 (0xc5aa9297)
Read: timeScale = 16000 (0x00003e80)
Read: duration = 2635824 (0x00283830)
Read: language = 0 (0x0000)
Read: reserved = <2 bytes> 00 00
ReadAtom: pos = 0x200b0
ReadAtom: type = "hdlr" data-size = 25 (0x19) hdr 8
Read: version = 0 (0x00)
Read: flags = 0 (0x000000)
Read: reserved1 = <4 bytes> 6d 68 6c 72
Read: handlerType = soun
Read: reserved2 = <12 bytes> 00 00 00 00 00 00 00 00 00 00 00 00
Read: name =
ReadAtom: pos = 0x200d1
ReadAtom: type = "minf" data-size = 98087 (0x17f27) hdr 8
ReadChildAtoms: of minf
ReadAtom: pos = 0x200d9
ReadAtom: type = "smhd" data-size = 8 (0x8) hdr 8
Read: version = 0 (0x00)
Read: flags = 0 (0x000000)
Read: reserved = <4 bytes> 00 00 00 00
ReadAtom: pos = 0x200e9
ReadAtom: type = "hdlr" data-size = 25 (0x19) hdr 8
Read: version = 0 (0x00)
Read: flags = 0 (0x000000)
Read: reserved1 = <4 bytes> 64 68 6c 72
Read: handlerType = alis
Read: reserved2 = <12 bytes> 00 00 00 00 00 00 00 00 00 00 00 00
Read: name =
Warning: In atom minf unexpected child atom hdlr
ReadAtom: pos = 0x2010a
ReadAtom: type = "dinf" data-size = 28 (0x1c) hdr 8
ReadChildAtoms: of dinf
ReadAtom: pos = 0x20112
ReadAtom: type = "dref" data-size = 20 (0x14) hdr 8
Read: version = 0 (0x00)
Read: flags = 0 (0x000000)
Read: entryCount = 1 (0x00000001)
ReadChildAtoms: of dref
ReadAtom: pos = 0x20122
ReadAtom: type = "alis" data-size = 4 (0x4) hdr 8
Read: version = 0 (0x00)
Read: flags = 1 (0x000001)
ReadChildAtoms: finished dref
ReadChildAtoms: finished dinf
ReadAtom: pos = 0x2012e
ReadAtom: type = "stbl" data-size = 97994 (0x17eca) hdr 8
ReadChildAtoms: of stbl
ReadAtom: pos = 0x20136
ReadAtom: type = "stsd" data-size = 44 (0x2c) hdr 8
Read: version = 0 (0x00)
Read: flags = 0 (0x000000)
Read: entryCount = 1 (0x00000001)
ReadChildAtoms: of stsd
ReadAtom: pos = 0x20146
ReadAtom: type = "raw " data-size = 28 (0x1c) hdr 8
Read: reserved1 = <6 bytes> 00 00 00 00 00 00
Read: dataReferenceIndex = 1 (0x0001)
Read: reserved2 = <16 bytes> 00 00 00 00 00 00 00 00 00 01 00 08 00 00 00 00
Read: width = 16000 (0x3e80)
Read: height = 0 (0x0000)
ReadProperties: insufficient data for property: reserved3 pos 0x20178 atom end 0
x2016a
MP4ERROR: Atom ReadProperties: atom is too small

This error can't be too bad because of the fact that the video and audio play fine in: Quicktime Player, Nero Showtime, Media Player Classic. Mp4box can also fully extract the audio to a new mp4 file. This is how I'm getting the audio now. Using DirectShowSource() in AviSynth however does die on the audio.

Using the one stop shop in AviDemux is of course how I'ld prefer to do this. So it seems to just be a matter of bumping up it's error resiliancy a tad.


LA

poisondeathray
7th February 2009, 17:16
Perhaps you could try QTInput() with QTSource.dll in avisynth, if you have QT installed (or QT alternative) ?. This works for my camera clips (different model than yours). I find the earlier verison works better than the new one , although others report the exact opposite.