October 27, 2020, 12:04:51 pm

News:

--


an Image Sequence limitation?

Started by Meloware, December 31, 2019, 11:54:02 pm

Previous topic - Next topic

Meloware

December 31, 2019, 11:54:02 pm Last Edit: January 01, 2020, 12:23:41 am by Meloware
I have been using 2.7.5 in both Windows 10 and Ubuntu Linux to try and import an image sequence of 220,936 jpeg frames. Less than half of these will import, consistently at the same 1:06:39.960 (or about 91,000 frames). Shouldn't I be able to import any number of images? How?
I am using a 32 Core AMD Threadripper and 128GB ram.

*** I just noticed that my file sequence has varying leading zeros, depending on the frame number. I am working to correct this and will modify this post when I learn if this is my problem.

eumagga0x2a

The hard limit is 99,999, so you would need to bump this value and rebuild Avidemux (or at least the Pictures demuxer plugin), which is trivial on Linux but not on Windows.

Meloware

Thanks -

I can stop investing. I might try and figure the code in Linux. Can you give me more info on the source file and variable name? This limit is less than one hour at 29.97 fps. That will make the default build of AVIDemux tough to use for video tape transfer and restoration.

eumagga0x2a

Quote from: Meloware on January 01, 2020, 12:55:04 am
Can you give me more info on the source file and variable name?


"99999" in my last reply is a link to the exact location of the define. It is in avidemux_plugins/ADM_demuxers/Pictures/ADM_pics.cpp:34

QuoteThis limit is less than one hour at 29.97 fps. That will make the default build of AVIDemux tough to use for video tape transfer and restoration.


While the above limit might have been chosen arbitrarily, all operating systems impose limits on the number of file descriptors (not to be mixed with the number of open files), so some conservative upper bound, probably different for different operating systems, is necessary.

eumagga0x2a

I've increased the maximum number of images Avidemux will try to load to 0x7FFFF (524287), another arbitrary number. I could not determine whether this is safe on macOS, but this should be safe on Linux and Windows. I also doubt that anyone else ever tried to load that many images in Avidemux to hit even the old limit, so you are on uncharted territory.

Meloware

Quote from: eumagga0x2a on January 01, 2020, 02:03:17 pm
I've increased the maximum number of images Avidemux will try to load to 0x7FFFF (524287)

Well, thank you. Your info on the sources will help me build another Linux version. (Dumb Question) Is there (or will there be) a link to a Windows binary?

My goal is videotape transfer and restoration. I also work with ancient 16mm home movies. Frame sequences allow me to break processing up into numerous 'jobs', which may be processed by many instances of the same program. Most programs have no clue as to how to utilize a 64 thread processor efficiently. I get my throughput by running many jobs on different parts of a video, simultaneously. Frame sequences are also less risky. I can salvage completed portions, if something crashes, or redo portions which require re-tweaking.

I appreciate your warning that even the OS will eventually limit the number of file descriptors. My machine strains but is capable of 200k image frames in both Win 10 and Ubuntu. That number allows 2 hours of NTSC, the duration of a standard VHS cassette tape. This 200k number will even allow longer durations with film.

I am exploring the possibility of transcoding all the finished images into a single, uncompressed AVI, and then try to feed that file to AVIDemux. My 2 hour image sequence is about 70 GB of jpegs, so I am still struggling to find a way to convert, which won't freak the software or take 20 years to process. (Oh - my aching hard drives! 20+ Terabytes and I still am running out of room! Such a conversion also adds another costly step in the entire procedure.)

Again, thanks for the support. Fourty five year old video tape and 90 year old film preservation hangs in the balance!

eumagga0x2a

Quote from: Meloware on January 02, 2020, 01:10:16 am
Is there (or will there be) a link to a Windows binary?


Once some more changes have been accumulated, there will be a new official nightly build, sure. However, with your powerful hardware and with a Linux installation available, you can cross-compile your own anytime: https://github.com/mean00/avidemux2/blob/master/cross-compiling.txt