avi files larger 4GB become corrupted

Started by someonenew, January 16, 2011, 12:51:05 AM

Previous topic - Next topic

someonenew

Hello,

I am processing avi files with the  HuffYUV (ffdshow / FourCC FFVH / Colorspace YUY2) codec inside.
The inputfiles have been grabbed with VirtualDub 1.10.0, from a VHS tape using Terratec Grabby converter.

Now when I process the grabbed files in avidemux 2.5.4 by applying some filters (like Chroma shift, CNR2, crop, Yadif, resize, Equalizer, MPlayer HQ Denoise 3D, MSharpen, Resample), everything works fine as long as the inputfile stays under the 4GB boudary.

My output format is FFYHuff, a copied Audio track and an avi container option set to split each 9000MB, which as I think is irrelevant in this case as the OpenDML (AVI 2.0) option is active.

Anyway no matter what configuration I have tried so far the outfile is corrutped, though no splitting takes place the avi playback works only till the 4GB boundary. Opening the written file in avidemux plays only till this boundary, afterwards the last frame is displayed the timer runs but no picture update takes place. (In VLC the video freezes as well but the audio works beyond the 4GB boundary)

The problem seems to be similar to the one described in this thread:

http://avidemux.org/admForum/viewtopic.php?id=7149


Is there any chance this bug gets fixed in the near future? As in Virtualdub my captured file is about 32GB avi with no playback difficulties at all.

In this context can avidemux filters be used in other applications like e.g. mencoder or Virtualdub (if this problem remains), as VHS captures tend to be quite often larger than 4GB



Greets and thanks for a great piece of software
:)

LoRd_MuldeR

You may want to give Avidemux 2.6.0 a try and check whether it shows the same issue...
You asked me once, what was in Room 101. I told you that you knew the answer already.
Everyone knows it. The thing that is in Room 101 is the worst thing in the world.


MuldeR's OpenSource stuff: http://muldersoft.com/

someonenew

Tried  avidemux 2.6.0 r6937 under WinXP 32Bit and 2.6.0 r6799 under Linux.
Both freeze when processing the described 4.5 GB file.
No useful output written.

tuputamadre

Quote from: someonenewTried  avidemux 2.6.0 r6937 under WinXP 32Bit and 2.6.0 r6799 under Linux.
Both freeze when processing the described 4.5 GB file.
No useful output written.

i have the same issue, gonna try disabling opendml and setting split to 4096.

phperera

I tried it for fun ,
but its ture unfortunately that larger 4gb files with OpenDML isn\'t playable

as u can see Video stream size isnt gone <4GB althought file size is 7.06GB  (about 3GB part is not recognized)

(needs very good harddisk to play this)

General
Complete name                    : V:\\ShakiraWakaWaka.avi
Format                           : AVI
Format/Info                      : Audio Video Interleave
Format profile                   : OpenDML
File size                        : 7.06 GiB
Duration                         : 3mn 30s
Overall bit rate                 : 288 Mbps

Video
ID                               : 0
Format                           : FFVH
Codec ID                         : FFVH
Duration                         : 3mn 30s
Bit rate                         : 162 Mbps
Width                            : 1 920 pixels
Height                           : 1 080 pixels
Display aspect ratio             : 16:9
Frame rate                       : 24.000 fps
Bits/(Pixel*Frame)               : 3.263
Stream size                      : 3.98 GiB (56%)

Audio
ID                               : 1
Format                           : PCM
Format settings, Endianness      : Little
Format settings, Sign            : Signed
Codec ID                         : 1
Codec ID/Hint                    : Microsoft
Duration                         : 2mn 1s
Bit rate mode                    : Constant
Bit rate                         : 1 411.2 Kbps
Channel(s)                       : 2 channels
Sampling rate                    : 44.1 KHz
Bit depth                        : 16 bits
Stream size                      : 20.4 MiB (0%)
Interleave, duration             : 20 ms (0.48 video frame)


but it seem to me it players depending on the player capability also

MPC wont play the file.
VLC will play the fill but in a middle frame get stucked but audio goes continue & after audio finishes video frames are continued from the last point.
XBMC will play the file but will get stuck in the same point where VLC stucked. & wont play any more.

I think all Video stream is in the file but not in Proper Order .


But I must say I like Avidemux Very Very Much , Because I do many things with this Software ,
Thank Avidemux For this kind of Software.

toddk

Had similar problem as reported by phperera on 2011-02-15.  I was saving an AVI in uncompressed YV12/PCM format, file size was about 33Gb but \'mediainfo\' reported video stream was about 4Gb.  AVI was playable but video \'froze\' after several mins while audio continued.

Discovered calculation for odml_index_size in file: \\avidemux\\ADM_outputs\\oplug_avi\\op_aviwrite.cpp assumes 10 minutes of video will fit in a 4Gb index, when this is not the case the headers are trashed.  This isn\'t reported by the GUI version.

1. Built a DEBUG version of avidemux_cli and discovered an error was reported:
  \"Data rate too high for index size. Decrease index duration.\"

2. found line of code in \\avidemux\\ADM_outputs\\oplug_avi\\op_aviwrite.cpp, proc aviWrite::odml_write_index:
          printf(\"\\nData rate too high for index size. Decrease index duration.\\n\"); //decrease the multiplicator in saveBegin that calculates odml_index_size

3. found line of code in proc aviWrite::saveBegin:
      odml_index_size = (long)ceil(1000000.0/(double)_mainheader.dwMicroSecPerFrame*600.0);

4. changed multiplicator from 10 mins (600) to 5 mins (300) and rebuilt avidemux_cli and converted AVI.  AVI was now OK:

Video
ID                               : 0
Format                        : YUV
Codec ID                     : YV12
Codec ID/Info             : ATI YVU12 4:2:0 Planar
Duration                     : 54mn 2s
Bit rate                       : 88.4 Mbps
Width                         : 640 pixels
Height                        : 480 pixels
Display aspect ratio   : 4:3
Frame rate                 : 23.976 fps
Color space                : YUV
Chroma subsampling : 4:2:0
Compression mode    : Lossless
Bits/(Pixel*Frame)      : 12.000
Stream size                : 33.4 GiB (98%)

5. this \'hack\' worked for me but a better method of calculating the odml_index_size is needed, just not sure what that is.

Also, it would be nice if the GUI version reported when the AVI write wasn\'t successfully.

sixshot

Sorry for reviving such an old thread.  But I believe this deserves some attention.  Some time ago I ran into a problem of processing a large AVI file that was created using MSI Afterburner.  The content of the AVI file is perfectly intact.  Avidemux of any version can open the file without any hiccups or issues.  So I went on to start processing a AVI file weighing over 100GB.  Only two filters were used: crop and resize.  OpenDML was ticked/on in order to create a bigger-than-4GB AVI file so that I can preview the content and then do some fancier editing in a different program.

Saving the processed AVI resulted in no error.  However, when trying to review the resulting AVI file in MPC-HC, it would bring up a dialog box informing me of some error which I thought was a minor thing.  But at some point, the video would stop.

Repeatedly I have tried to figure out what is the problem.  So I tried a smaller footage, but the result was the same.  I have tried version 2.5.4 and 2.5.6 x64.  Both still have the same issue.  If this issue is resolved in the 2.6.x branch, why isn't it resolved or backported to the 2.5.x branch?  Another individual is also having the exact same issue at this thread here:

http://www.avidemux.org/smf/index.php?topic=10252.0

Am I stuck having to resort to using VirtualDub if I want to do any quick processing of extra-large AVI files?  Does the 2.6.x branch contain the fix for this?  And if so, is it stable enough that it won't do something it isn't supposed to do?

mean

Its being done  on 2.6
Not confident about backporting it to 2.5

johan.ehnberg

Just a bump for reference as this turns up in google. As of 2014-04-05 with avidemux 2.6.8 from Ubuntu ppa rebuntu16 unofficial avidemux repo, this bug seems to be fixed but only for some use cases.

As 2.6.x does not handle many of the command line options and functions of 2.5.x (and consequently many popular distributions are not endorsing 2.6.x), backporting would also be interesting.

AQUAR

Backporting between different programs would be very interesting!
Avidemux 2.5 uses a frame based process and 2.6 uses a time based process.
They do share some commonalities like, program methodology, GUI and Name.

Many filters from 2.5 just don't work as they need a frame access level that is not available with version 2.6 (enduser understanding!).