June 21, 2021, 06:28:18 PM

News:

--


Dialog window shown while loading a mp4 file

Started by Desinfector, June 09, 2021, 08:27:42 AM

Previous topic - Next topic

Desinfector

June 09, 2021, 08:27:42 AM Last Edit: June 09, 2021, 08:30:02 AM by Desinfector
Hi there, I am a fond user of avidemux for quite some yrs now,
BUT: since I am using Avidemux something very annoying happens till this day.

importing a video clip leads to a window popping up:
kinda like

"Decoding frame type"

and after that a SECOND one: "Checking blah blah...")

now imagine importing about 100-something short clips from a dashcam,
a surveillance cam or something like that.

Importing all these files takes "some" time of course.
But I think it would be nice to be able to go on
with other stuff to work on with in parallel to these imports.

So ...question is:
couldnt it be possible to let these importings to the prog be done in background?
who needs these popup windows anyway?


thanks and greetings from Germany

eumagga0x2a

Quote from: Desinfector on June 09, 2021, 08:27:42 AMBut I think it would be nice to be able to go on with other stuff to work on with in parallel to these imports.

At least on Windows, I would expect that modal dialogs in an application don't steal focus from other applications, i.e. it should be possible to start loading all mp4 files in a folder using a project script and switch away to another application, letting Avidemux complete the operation in background. Obviously, no work can be done in Avidemux while it is loading files.

By the way, loading (appending?) over 100 videos is a very rare scenario, which can easily exhaust the resources of the PC (disabling HW accelerated decoding and using shared cache helps somewhat).

Quote from: Desinfector on June 09, 2021, 08:27:42 AMwho needs these popup windows anyway?

When a mp4 file with a very long H.264 or – with the latest Avidemux code – HEVC video track is loaded, the dialog allows the user to cancel decoding frame type, which is tolerable when not using copy mode, thus saving a few minutes. By all means, it is a good practice to let user know what the application is doing that it cannot proceed her input.

Desinfector

Thanks for Your reply  :D

Quote from: eumagga0x2a on June 09, 2021, 09:18:19 AMAt least on Windows(...)

I forgot to mention, I am on Linux Mint (its the same on Ubuntu, too)

I keep the files as short as possible when I record with the dashcam.
Its always 1-minute-clips.
so...100Clips wouldnt mean more (by Data) than to import a TV-show/movie
to eliminate the breaks.

but even importing 10...20 Clips its still quite annoying
as its always on top and other prog like Texteditor (etc) arnt
really usable during this. And it would still mean to have
two popups for EACH clip (so its 20...40 times)

"append" does not apply when U want to add some more clips to the same session
as U would have to select each of them individually (could be a fix too...)

I like Avidemux just because of its "copy" setting for extracting small traffic-clips
to be put into an archive.

But these popups feel like a kind of eating up the time U're saving by using the "copy" setting
when U want to extract a short clip from somewhat longer instead of being forced
to re-render this like other progs would do ;-)

eumagga0x2a

Quote from: Desinfector on June 10, 2021, 06:42:36 AMI forgot to mention, I am on Linux Mint (its the same on Ubuntu, too)

Excellent, this means that you can trivially build Avidemux from source (from git master). Obtain the source

git clone https://github.com/mean00/avidemux2.git && cd avidemux2 && git submodule update --init --recursive
and replace both occurences of

DIA_processingBase *work=createProcessing(QT_TRANSLATE_NOOP("mp4demuxer","Decoding frame type"),nb);
(the second one uses spaces around "=") in avidemux_plugins/ADM_demuxers/Mp4/ADM_mp4.cpp with

DIA_processingBase *work = NULL; //createProcessing(QT_TRANSLATE_NOOP("mp4demuxer","Decoding frame type"),nb);
(so that you disable the creation of the dialog) and do a similar stuff for ADM_Composer::checkForValidPts by deleting or commenting out (prepending two slashes //) the lines

DIA_workingBase *working=createWorking(QT_TRANSLATE_NOOP("ADM_Composer","Checking if timestamps are valid.."));
working->update(i,checkRange);
and

delete working;
in avidemux/common/ADM_editor/src/utils/ADM_edCheckForInvalidPts.cpp. Then install build dependencies

bash createDebFromSourceUbuntu.bash --deps-only
and build Avidemux as usual with

bash bootStrap.bash --with-system-libass
The output will be in the "install" folder in the top source directory ("avidemux2"). You can run Avidemux without installation with the help of the template run_avidemux_template.sh.