Log in

View Full Version : gMKVExtractGUI


Pages : 1 2 [3] 4 5 6 7 8 9 10 11 12 13

netmask
8th October 2014, 06:04
I have an odd problem, no matter how big or small I resize the gMKVExtract window the description next to the action buttons overlap almost making them unreadable.

gpower2
8th October 2014, 08:51
Could you please post the version you are using, as well as the OS version?

Also, please upload the screenshot to an image hosting site and paste the link here, thank you!

bin_ch
8th October 2014, 10:26
Hi gp2, regarding to the GUI issue, I guess r56 on SF is supposed to fix the issue, but if my build attempt succeeds, the problem is still there.
And I'm sorry that I should have mentioned that I am on Windows 7 with classic theme. In my tests, there's no such problem in the typical Win 7 aero theme (before or after r56). Win XP (classic theme and default Lunar theme) is also affected.
Hope the info helps.

netmask
8th October 2014, 11:12
Could you please post the version you are using, as well as the OS version?

Also, please upload the screenshot to an image hosting site and paste the link here, thank you!


The image is here http://i.imgur.com/r9zE2uH.jpg


The version of gMKV is the latest and my operating system is Windows 7 Ultimate 32 bit
I've had this problem for quite sometime with all the updates of gMKV and all the Windows updates
Thanks

gpower2
8th October 2014, 20:19
Hi gp2, regarding to the GUI issue, I guess r56 on SF is supposed to fix the issue, but if my build attempt succeeds, the problem is still there.
And I'm sorry that I should have mentioned that I am on Windows 7 with classic theme. In my tests, there's no such problem in the typical Win 7 aero theme (before or after r56). Win XP (classic theme and default Lunar theme) is also affected.
Hope the info helps.

Since you can compile from the source, perhaps you could do me a favor and check r60? There should be no issues anymore...

@netmask
The larger font scheme you are using is messing with the control sizes and location. I switched to DPI AutoScaleMode, but I don't know if it will fix your problem, since it seems it's a known .NET issue (http://stackoverflow.com/a/3043006)
I'll try to reposition the controls in order to prevent this from happening, in case the DPI AutoScale mode doesn't work.

netmask
8th October 2014, 21:32
The larger font scheme you are using is messing with the control sizes and location.

One of the "joys" of being 77 :) I am assured by my doctor I will be able to throw away my glasses next year when my cataracts come off....

bin_ch
9th October 2014, 05:03
r60 is still no good.

Here's a screenshot, after opening and resizing the log window:
http://oi59.tinypic.com/25p04ly.jpg


update:
The problem is partially fixed. With 1.5.5, the track list part is also affected.

r56 and r60 are similar, only the file info part is affected.

gpower2
9th October 2014, 06:45
Oh, I see. I didn't understand that you were also experiencing issues with the info text. I did make some changes with it, but it performed really smooth in Window 8.1.
I guess I'll change back that control too and try to find a more robust solution for the flickering. Thanks a lot for testing and feedback! :)

gpower2
12th October 2014, 18:23
New version is out (v1.6) and I'm so excited about it! :D
It introduces a new job mode and a new Job Manager form, basically this is how I imagined a batch mode should work.

I'm really looking forward to hearing (actually reading) your feedback and your suggestions about it! :)

http://sourceforge.net/projects/gmkvextractgui/files/v1.6/gMKVExtractGUI.v1.6.0.7z/download

netmask
12th October 2014, 22:19
Looking good, no overlap of description now. Will do some extraction tests later today.... many thanks

bin_ch
14th October 2014, 06:54
Thanks for the effort. The GUI issue is fixed.
The new job manage system is a great addition to the program.

bin_ch
17th October 2014, 00:33
Regarding to the batch mode, do you have plans to implement a feature that can open multiple files at once? (Or batch add jobs to the queue)
That would be useful when people want to extract something from a series of files with similar track combination.

gpower2
17th October 2014, 06:46
Regarding to the batch mode, do you have plans to implement a feature that can open multiple files at once? (Or batch add jobs to the queue)
That would be useful when people want to extract something from a series of files with similar track combination.

The thing about opening multiple files at once is how to group the similar tracks. There are many criteria for track similarity apart from the obvious (type), like track language, track comments, track ID, etc.
So in order to keep the GUI simple, I bypassed the idea. However, I haven't fully abandoned it, I just can't seem to find a nice formula for it.
Any ideas on the subject would be extremely useful!

kongfl888
11th November 2014, 04:03
Hi gpower2,
:thanks:

I found two bug (maybe)

1st.
First open the log, then open a *.mkv file, and finally open log again. You will see nothing in the log form(unless you click the 'Refresh' button).

2nd.
When you load a job from files , you can not add jobs to the manager anymore.

Talk about my idea.(I don't have an account of sourceforge.net. ISP limited. So maybe it looks messy...)

For the first one , I think it does better after adding an activated event.

private void frmLog_Activated(object sender, EventArgs e)
{
try
{
txtLog.Text = MKVLogger.LogText;
txtLog.Focus();
txtLog.Select(txtLog.Text.Length ,0);
txtLog.ScrollToCaret();
}
catch (Exception ex)
{
Debug.WriteLine(ex);
}
}


And the second,

//frmJobManager.cs line 381
//grdJobs.DataSource = new BindingList<gMKVJobInfo>(jobList);
grdJobs.DataSource = _JobList = new BindingList<MKVJobInfo>(jobList);
grdJobs.Refresh();


Or you have other ideas...

Anyway, this gMKVExtractGUI is very helpful and I very like it. :thanks:very much!

Best Regards.

gpower2
11th November 2014, 07:22
Thanks for your feedback kongfl888!
I will see to them as soon as I can! ;)

hello_hello
17th November 2014, 00:35
The thing about opening multiple files at once is how to group the similar tracks. There are many criteria for track similarity apart from the obvious (type), like track language, track comments, track ID, etc.
So in order to keep the GUI simple, I bypassed the idea. However, I haven't fully abandoned it, I just can't seem to find a nice formula for it.
Any ideas on the subject would be extremely useful!

Why do tracks need to be grouped?
Files and their tracks could be listed individually and the desired track to be extracted from each selected, then batch extracted without needing to add individual jobs to a queue first.

MKVCleaver also has another method for batch extracting tracks where you can simply select "audio track 1" etc in the right pane. One area where that could probably be improved is after selecting a track in batch mode every file could have it's "audio track 1" selected, but the user could check the individual files and deselect a track and/or select a different one if desired.

I'll confess I find not being able to open multiple files simultaneously a bit inconvenient at times. Quite often I'll highlight a bunch of them in Windows Explorer, right click and SendTo MKVCleaver. Being able to do the same with gMKVExtractGUI would be nice. Currently it's one file at a time from the SendTo menu.

Anyway, thanks for the new version!

AMZMA
17th November 2014, 18:54
is there any way to check all/uncheck all track, etc?

gpower2
18th November 2014, 07:40
Why do tracks need to be grouped?
Files and their tracks could be listed individually and the desired track to be extracted from each selected, then batch extracted without needing to add individual jobs to a queue first.

This is what gMKVExtractGUI currently does with the job manager. You open a video file, select the specific tracks for extraction and add the job. I can't imagine of an intuitive interface that opens and analyses all the files at once. As I said before, I am open to all suggestions.

MKVCleaver also has another method for batch extracting tracks where you can simply select "audio track 1" etc in the right pane. One area where that could probably be improved is after selecting a track in batch mode every file could have it's "audio track 1" selected, but the user could check the individual files and deselect a track and/or select a different one if desired

MKVCleaver tries to match the tracks of all the video files selected and does that grouping I was talking about. There are usually two different ways to implement batch processing, one being batch processing individual jobs, and the other to do exactly the same procedure many times. It is obvious that I implemented the first one.

is there any way to check all/uncheck all track, etc?

Yes, you can right click on the track list and you will see a context menu with many selection options. ;)

hello_hello
18th November 2014, 10:23
This is what gMKVExtractGUI currently does with the job manager. You open a video file, select the specific tracks for extraction and add the job. I can't imagine of an intuitive interface that opens and analyses all the files at once. As I said before, I am open to all suggestions.

I don't understand why you couldn't list all the open files in a single pane and each file in the list would have a sub-list of it's tracks, much the same way MKVCleaver does it.

MKVCleaver tries to match the tracks of all the video files selected and does that grouping I was talking about. There are usually two different ways to implement batch processing, one being batch processing individual jobs, and the other to do exactly the same procedure many times. It is obvious that I implemented the first one.

I'll confess I don't understand that. I'd interpret "batch processing individual jobs" as adding jobs to a queue individually, then running the job queue, much as gMKVExtractGUI does now. I'd have thought "doing exactly the same procedure many times" would be the definition of not batch processing.

Anyway.... my idea would be to have a pane which lists multiple files, and under each file would be a list of it's tracks. There'd be a way to select "video" or "audio 1" or "subtitle track 1" etc which would automatically check the appropriate track for each file. If you select "audio 1" for example, the first audio track for each file is checked, but before starting the batch extraction job there'd be the opportunity to change the selection manually. For file number three I might want to de-select audio 1 and select audio 2 instead. That sort of thing.

AMZMA
20th November 2014, 16:41
Yes, you can right click on the track list and you will see a context menu with many selection options. ;)

hohohohoho
never realize that before :thanks:

dade49
29th December 2014, 03:18
I've been looking for an easy way to read MKV metadata in my own C# app. Most of the libraries are compiled in C++ (libebml, libmatroska) and aren't easily usable for me. While the source code for mkvtoolnix is available, I cannot compile it in Visual Studio and am a Windows developer. I started trying to parse mkvinfo's output and was looking for a C# library to use. Your gMKVToolnix.dll gives me exactly what I need and I can now parse all my mkv's and read the metadata I need. Thank you very much for your hard work, as it has saved me lots of time doing it myself. :)

dade49
29th December 2014, 03:44
For those interested, create a new C# console app (or another C# app), add a reference to the DLL and then use the following:
using gMKVToolnix;

gMKVInfo mkvInfo = new gMKVInfo(gMKVHelper.GetMKVToolnixPathViaRegistry());
List<gMKVSegment> mkvSegments = mkvInfo.GetMKVSegments(@"C:\Path\file.mkv");
gMKVSegmentInfo mkvHeader = (gMKVSegmentInfo)mkvSegments[0];
string app = mkvHeader.WritingApplication;
string mux = mkvHeader.MuxingApplication;
string length = mkvHeader.Duration;
string date = mkvHeader.Date;
Thanks again!

gpower2
29th December 2014, 15:34
That's exactly why I separated the GUI from the Core element of the application, though I didn't expect to see it get used so soon by another fellow developer!
Thanks for your support and if you need anything, don't hesitate to ask! ;)

dade49
29th December 2014, 19:33
That's exactly why I separated the GUI from the Core element of the application, though I didn't expect to see it get used so soon by another fellow developer!
My usage is pretty simple. I have hundreds of MKV's, all compiled by me over the past several years. I needed an easy way to determine which ones I've compressed with Handbrake and which ones I merged with mkvmerge. I was comparing file size, but that's not accurate enough depending on the length of each file. I've been looking for an easy way to parse WritingApplication from each file. While invoking mkvinfo hundreds of times via your app isn't the most efficient method, it does seem to be the easiest. Your app is the first I've seen written in C#. Again; thank you. If I can contribute down the road, please let me know. I may be able to help with the requests for batching. I think people don't want to specify options for each file, IE: extract all PGS subtitles from all MKV's in this folder.

dade49
1st January 2015, 01:47
Thanks for your support and if you need anything, don't hesitate to ask! ;)
Any chance you would consider adding the CodecPrivate property from a Video track? I'm interested in parsing the h.264 profile details if they are defined. Thanks :)

gpower2
1st January 2015, 03:48
That would be a Media Info thingy, which I don't use.
gMkvExtractGUI is based solely and exclusively on MKVToolnix tools. So unfortunately I can't help you with that... :(

dade49
1st January 2015, 09:34
Well, mkvinfo (from MKVToolnix) shows this data for me:
CodecPrivate, length 96 (h.264 profile: High @L4.1)
This is a nice to have. If you're not interested I understand.

gpower2
2nd January 2015, 13:04
You're right, I forgot about that property, since I switched to using mkvmerge's output for track information and not mkvinfo's.
I added the property to gMKVTrack class, parsed it from mkvinfo's output, and merged it with mkvmerge's information.

To make all this more developer friendly, I moved the post processing from the main form, to gMKVHelper class in the new public static function GetMergedMkvSegmentList, so now you just need to call this function and the returned list will contain the merged information from both mkvmerge and mkvinfo. ;)

You can get the source from SourceForge, since I won't be releasing a new version at this time.

P.S.
I noticed you use only the mkvinfo's output, which is not always correct, as stated here: http://forum.doom9.org/showthread.php?p=1669904#post1669904
I suggest you use the new function from gMKVHelper, and make a little loop to take the gMKVSegmentInfo segment, or use LINQ if you don't have .NET framework version limitations ;)

dade49
14th January 2015, 16:55
I suggest you use the new function from gMKVHelper, and make a little loop to take the gMKVSegmentInfo segment
I just got back to looking at this. I was able to pull the source and compile. Using this new method solves everything. Thanks for your support. I am a fan. :)

Overdrive80
5th February 2015, 00:41
Hi power2, using last version of gmkvextractgui and mkvmerge I get "55 (-400)_track2_spa_DELAY 16ms" if extract audio from matroska file with delay know (-400). IMHO, the filename should be "55 (-400)_spa_DELAY -400ms". Is one problem known?

Thanks.

EDIT: After test, mkvmerge trim frames of audio. Ignore my msg.

wanezhiling
10th February 2015, 01:28
I got an error with the file (https://www.sendspace.com/file/kxh667).

http://i2.tietuku.com/bc321de5ec434633.png

alfixdvd
10th February 2015, 15:47
I got an error with the file (https://www.sendspace.com/file/kxh667).

http://i2.tietuku.com/bc321de5ec434633.png

I updated to Mkvtoolnix 7.6.0 and I get the same error with a mkv file when I tray to open a mkv file to extract a subtitle.

MKVExtractGUI2 works fine with 7.6.0

Perhaps the trouble is in gMKVToolnix.dll?

dade49
10th February 2015, 17:29
As others have reported, it appears that the new version of mkvtoolnix 7.6.0 breaks the current version of gMKVExtractGUI 1.6.0.0. If you revert to mkvtooknix 7.5.0, this utility still works. You can still download the previous version of mkvtooknix in 64 bit (https://www.bunkus.org/videotools/mkvtoolnix/win32/mkvtoolnix-amd64-7.5.0-setup.exe) or 32 bit (https://www.bunkus.org/videotools/mkvtoolnix/win32/mkvtoolnix-7.5.0-setup.exe) while we wait for a fix from gpower2. :)

gpower2
10th February 2015, 21:02
I haven't downloaded mkvtoolix 7.6 in order to test gmkvextractgui, however, after quickly browsing the changelog, it appears that Mosu changed the exit code, so it naturally breaks gmkvextractgui.

A quick fix will be released tomorrow!

Thanks for your feedback everyone! :)

gpower2
11th February 2015, 07:28
gMKVExtractGUI 1.6.1 is out in the wild!

Mostly a bug fix release, now fully compatible with MkvToolnix 7.6.

Changelog:


Changed Log Form to refresh the log text when Activated and not when Shown (thanks kongfl888!)
Fix adding Jobs to the Job Manager after loading jobs from XML (thanks kongfl888)
Added CodecPrivate property to gMKVTrack class (thanks dade49)
Removed PostProcessing of segment lists to gMKVHelper class
Changed ExitCode check, in order to avoid error messages when only warnings are present in the output
Remove UTF-8 parameter from mkvinfo

Nebudchanezzer
11th February 2015, 08:00
gMKVExtractGUI 1.6.1 is out in the wild!

Mostly a bug fix release, now fully compatible with MkvToolnix 7.6.

Changelog:


Changed Log Form to refresh the log text when Activated and not when Shown (thanks kongfl888!)
Fix adding Jobs to the Job Manager after loading jobs from XML (thanks kongfl888)
Added CodecPrivate property to gMKVTrack class (thanks dade49)
Removed PostProcessing of segment lists to gMKVHelper class
Changed ExitCode check, in order to avoid error messages when only warnings are present in the output
Remove UTF-8 parameter from mkvinfo


Seems to be something wrong with the download, only get a "READ.ME"....

gpower2
11th February 2015, 08:33
That's just SourceForge being stubborn...
Latest file is once again the correct one, thanks for the feedback!

bin_ch
11th February 2015, 08:54
These messages are the result of explicitly setting the output charset to utf-8 while executing mkvinfo and mkvmerge.
It shouldn't matter to anyone, but I use them because of some localization problems the first versions had. Better safe than sorry, right?


Now that the corresponding code is commented out in the latest version, so it doesn't really matter, but just FYI, the code was triggering warnings because you mis-spelled UTF-8 as UFT-8, otherwise it should be fine.

gpower2
11th February 2015, 11:28
Thanks bin_ch, I will check it out!

I believe new version is working, right?

STaRGaZeR
22nd March 2015, 12:59
Hi gpower2,

just found an annoying bug which should be easy to fix. If you minimize the main window and then close the program via right click - close on the taskbar, the following gets written in the settings ini file:

Initial Window Position X:-32000
Initial Window Position Y:-32000

When you open the program again, the main window is out of the monitor and cannot be accessed. Solution is to remove those lines from the ini, causing the program to reappear again at (0, 0).

The rest is working nicely, I'm using this extensively now :)

gpower2
23rd March 2015, 19:18
Thanks for the feedback STaRGaZeR! :)
Fixed in latest trunk revision (r73)! ;)

LeXXuz
6th May 2015, 11:14
Thank you so much for this GUI! :thanks:

I wish I stumbled upon this earlier. Until today I used MKVextractGUI-2 which was a pain, especially with delayed audio tracks. :(

Right now I came across a mkv file with two audio tracks with a delay of about +8040ms.

Upon extraction the timecode files are correct (first frame timecode is 8040 as it should), however the tracklist in the GUI shows a delay of -2417483648, which looks like a buffer over/underflow in your code.

Edit: Tested this with a couple of files right now and they all show this vast delay. I use the latest mkvtoolnix build. Maybe you want to check in on this. :)

gpower2
9th May 2015, 08:42
Hi LeXXuz and thanks for the feedback!
I did test again with a lot of different delays and files, but I couldn't reproduce the overflow bug that you mention.

From your screenshot I noticed that the files you use are muxed with an ancient version of mkvtoolnix (v2.9.8) so perhaps that might be relevant.
Could you upload a sample file that triggers this behavior in order for me to check it?

gpower2
8th August 2015, 13:08
It's time for a new version, so gMKVExtractGUI 1.6.2 is out in the wild!

Mostly a bug fix release, addressing issues reported by users here and there.

Changelog:


Fix the wrong setting of the initial form position in the ini file when the form is minimized
Fix typo bug (UFT-8 instead of UTF-8) (thanks bin_ch!)
Add WindowState setting
Make Form remember the last window state
Add a fallback mechanism, in order to use the UserAppData folder for storing the app settings when the current user doesn't have read/write permissions to the app path


And remember, feedback is always welcome! :)

bin_ch
13th August 2015, 01:34
Thank you for the new version. It works perfectly.

Just FYI, mkvtoolnix author implemented a new mkvextract mode for cue extraction in Febuary:
mkvextract: implement cue extraction (https://github.com/mbunkus/mkvtoolnix/commit/fcb139a519151418cb9028f2ebbd80fa58f8c631)
mkvextract docs: document cue extraction (https://github.com/mbunkus/mkvtoolnix/commit/39d7f186030848a1681b70f7272889749e538ebb)
The feature doesn't seem to be very useful for ordinary users, but for the completeness of your GUI, you might want to have a look at it.

gpower2
13th August 2015, 06:33
Thanks for the info bin_ch, I will add it to the new version! :)

STaRGaZeR
13th August 2015, 19:12
Thanks for the new build :)

alfixdvd
19th September 2015, 18:46
With new version 8.4.0 Mkvtoolnix, gMKVExtractGUI 1.6.2 on start launch a error: The folder does not contain MkvToolnix.

best regards

gpower2
20th September 2015, 16:58
Just released v1.6.3 which is compatible with MkvToolnix v8.4 while keeping compatibility with previous versions. :)

Thanks for the feedback as always!

alfixdvd
20th September 2015, 23:35
Just released v1.6.3 which is compatible with MkvToolnix v8.4 while keeping compatibility with previous versions. :)

Thanks for the feedback as always!

Thanks, now works fine.