Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Capturing and Editing Video > New and alternative a/v containers

Reply
 
Thread Tools Search this Thread Display Modes
Old 3rd April 2004, 20:11   #1  |  Link
DarkDudae
ARCalculator Developer
 
Join Date: Jun 2003
Location: Spain
Posts: 149
Mkvextract GUI

I have programmed a GUI for MKVExtract. MKVExtract is a great tool programmed by Moritz Bunkus which can extracts tracks, attachments, chapters and tags of any MKV(Matroska) file. This GUI will help you using mkvextract.

If you can help me to find bugs, suggestions... you are welcome!
Remember you need to put this tool into the same folder than mkvmerge and mkvextract.

MKVExtract GUI 1.5.5 (changes made by Kurtnoise13)

-Added French Language.
-Added mkxuncat support (asked by RobuX4 himself to undo matroska files concatenation).
-Added dts and usf files extraction.
-Clean & improve the code.

MKVExtract GUI 1.5.4 (changes made by seth)

-MKVextractGUI can be found at CoreCodec.org.
-Added pre-selection of output path for MKVextractGUI folder, source folder or another path.
-Added new folder creation, name edition, etc in ouput path selection dialog (Browse button).
-Some tips have been translated to english/spanish.
-Add CoreCodec MKVextractGUI project ("http://corecodec.org/projects/mkvextractgui/") link in Help menu.
-Fixed "File no found" extracting bug (in rares cases) when Matroska file and output path have been selected manually.
-Some minor improvements in exceptions and internal bugs.


MKVExtract GUI 1.5.3.1 (changes made by seth)

-Fixed bug if Select Matroska File was closed without any selection.
-Drag&Drop Support.
-Reset button in File Menu.
-GUI redesigned.
-MKVextractGUI folder is the default path to extract the tracks.
-Added automatic recognition of VOBSUB subtitles.


Changelog since MKVExtract GUI 1.5.1 (changes made by seth)

-English and Spanish languages in the same exe file.
-Added XP Style.

Changelog since MKVExtract GUI 1.5.0

-Fixed chapter parser bug. (No more problems detecting different matroska streams/attachments...)

-Fixed ouput folder selection bug.

-Some help tips added.

-.mka and .mks loading added.

Changelog since MKVExtract GUI 1.2:

-Added chapters and tags extraction support. (They will be showed like the rest of tracks/attachments). Chapters can be extracted in XML and Simple(OGG)txt formats. Tags only can be extracted in xml.

-A lot of internal corrections.

-Monospace font for CommandLines.

-Added RM files extraction.(Added in latest mkvtoolnix 0.8.7)

-Added new formats system that will allow you to customize the GUI for future A/V formats actually not supported by mkvextract. For example: QUICKTIME A/V extraction is not supported by mkvtoolnix 0.8.7, but it is for sure that future versions will do. If you check in MKVExtract GUI a track like this:

Track ID 1 (V_QUICKTIME)

Then the program will ask you what output extension you want to assing to that sort of track. (In this case qtv) So the next time you find that sort of track, the program will remember it and will assing the output ext automatically. The new formats are saved into Formats.txt file, so you can edit/delete/add them easily.

(TRACK_TYPE) ext
------------------------------
Example of Formats.txt file:
(V_QUICKTIME) qtv
(A_QUICKTIME/QDM2) qta
------------------------------

You can download it HERE

EDITED: Until seth can upload Kurtnoise changes to project page, latest version (1.5.5) can be found HERE and the sources HERE.

It is programmed in Delphi under GNU License.

Greetings
__________________
Lights out!
ARCalculator 2.6.0 (Rip-Pack)
www.canalxvid.com

Last edited by DarkDudae; 27th June 2005 at 15:25.
DarkDudae is offline   Reply With Quote
Old 3rd April 2004, 22:29   #2  |  Link
DarkDudae
ARCalculator Developer
 
Join Date: Jun 2003
Location: Spain
Posts: 149
New version of the GUI 1.2Beta.

-Fixed some bugs in extracting attachment files whith blanks on their names.

-Fixed extraction of more than 2 attachment files.

The link is the same.

Greetings
__________________
Lights out!
ARCalculator 2.6.0 (Rip-Pack)
www.canalxvid.com
DarkDudae is offline   Reply With Quote
Old 4th April 2004, 02:22   #3  |  Link
P0l1m0rph1c
h4x0r5 0n teh yu0r pC?
 
Join Date: Nov 2003
Posts: 156
Nice util, man!

This is very useful, as mkvextract is the only one that can handle some formats supported by Matroska.

Thanks for this app.
P0l1m0rph1c is offline   Reply With Quote
Old 4th April 2004, 02:31   #4  |  Link
Affar
chatarrero
 
Join Date: Jun 2003
Location: Spain
Posts: 35
Wooow

Great job Dark
Affar is offline   Reply With Quote
Old 4th April 2004, 12:15   #5  |  Link
ChristianHJW
Matroska Team
 
ChristianHJW's Avatar
 
Join Date: Nov 2002
Location: Bavaria - Germany
Posts: 1,341
Mosu ! We need this in the mkvtoolnix pack for win32 !!
ChristianHJW is offline   Reply With Quote
Old 4th April 2004, 13:52   #6  |  Link
scrat
Registered User
 
scrat's Avatar
 
Join Date: Jul 2002
Location: Austria
Posts: 36
Hey!

I got an CRC-error and could not extract your GUI. Could you please check if the archive is broken? I have the newest version of Winrar...


cu, scrat
scrat is offline   Reply With Quote
Old 4th April 2004, 15:15   #7  |  Link
DarkDudae
ARCalculator Developer
 
Join Date: Jun 2003
Location: Spain
Posts: 149
@scrat

Yeah, I checked it and it works perfectly

Anyways, I uploaded a zip mirror, you can download it HERE
__________________
Lights out!
ARCalculator 2.6.0 (Rip-Pack)
www.canalxvid.com

Last edited by DarkDudae; 4th April 2004 at 17:53.
DarkDudae is offline   Reply With Quote
Old 4th April 2004, 15:37   #8  |  Link
scrat
Registered User
 
scrat's Avatar
 
Join Date: Jul 2002
Location: Austria
Posts: 36
Hey!

Thanks. The .zip-version works fine. Great job!


cu, scrat
scrat is offline   Reply With Quote
Old 4th April 2004, 18:00   #9  |  Link
DarkDudae
ARCalculator Developer
 
Join Date: Jun 2003
Location: Spain
Posts: 149
Hi again, I have uploaded the source code (delphi language) and MKVEXTRACTGUI 1.2 final version witch contains cosmetic fixes like:

-Warnings messages if mkvextract or mkvmerge are not detected in the same folder.

-Extract button will only be enabled if one or more files are checked.

-Program window will appear in the center of the screen.

-Some minor internal fixes.

You can download them in the main post.

Greetings
__________________
Lights out!
ARCalculator 2.6.0 (Rip-Pack)
www.canalxvid.com
DarkDudae is offline   Reply With Quote
Old 5th April 2004, 06:07   #10  |  Link
Blkbird
Registered User
 
Join Date: Sep 2002
Posts: 32
I have a few comments about the interface. First, why the permanent "warning" box there? Why not check the existence of the files required (in current dir and in PATH) at program start and bring a *modal* warning dialog if not found?

Second, the three "options" are not really options, they are actions. The "option" box is not really necessary.

And you may want to use a monospace font for the command lines.

Finally, the code you use to excute the commandline programs are somewhat problematic. Maybe the following sample could inspire you a bit:

Code:
function ExecConsoleApp(CommandLine: string; var Output: string): Cardinal;
const
  BufferSize = $4000;
var
  SecurityAttr: TSecurityAttributes;
  ReadHandle, WriteHandle: THandle;
  StartupInfo: TStartupInfo;
  ProcessInfo: TProcessInformation;
  ReadBuffer: PChar;
  BytesRead: DWord;
begin
  SecurityAttr.nLength := SizeOf(TSecurityAttributes);
  SecurityAttr.bInherithandle := True;
  SecurityAttr.lpSecurityDescriptor := nil;
  if CreatePipe (ReadHandle, WriteHandle, @SecurityAttr, 0) then
  begin
    FillChar(StartupInfo, Sizeof(StartupInfo), 0);
    ReadBuffer := AllocMem(BufferSize + 1);
    StartupInfo.cb := SizeOf(StartupInfo);
    StartupInfo.dwFlags := STARTF_USESTDHANDLES + STARTF_USESHOWWINDOW;
    StartupInfo.hStdInput := ReadHandle;
    StartupInfo.hStdOutput := WriteHandle;
    StartupInfo.hStdError := WriteHandle;
    StartupInfo.wShowWindow := SW_HIDE;
    if CreateProcess(nil, PChar(CommandLine), @SecurityAttr, @SecurityAttr,
      True, DETACHED_PROCESS or NORMAL_PRIORITY_CLASS, nil, nil,
      StartupInfo, ProcessInfo)
    then begin
      WaitForSingleObject(ProcessInfo.hProcess, INFINITE);
      (* If you want to do a running update of the output of the console app,
      you would not block here. Instead you could loop while GetExitCodeProcess
      returned STILL_ACTIVE all the while calling ReadFile on the pipe. *)
      // Output := '';
      // Without clearing Output before, its content will be expanded.
      repeat
        BytesRead := 0;
        ReadFile(ReadHandle, ReadBuffer[0], BufferSize, BytesRead, nil);
        ReadBuffer[BytesRead] := #0;
        Output := Output + ReadBuffer;
      until (BytesRead < BufferSize);
      // OemToAnsi(Output, Output);
      // OemToAnsi only works for PChar.
      GetExitCodeProcess(ProcessInfo.hProcess, Result);
    end
    else Result := Cardinal(-1);
    FreeMem(ReadBuffer);
    CloseHandle(ProcessInfo.hProcess);
    CloseHandle(ProcessInfo.hThread);
    CloseHandle(ReadHandle);
    CloseHandle(WriteHandle);
  end;
end;
Blkbird is offline   Reply With Quote
Old 5th April 2004, 11:10   #11  |  Link
Mosu
MKVToolNix author
 
Mosu's Avatar
 
Join Date: Sep 2002
Location: Braunschweig, Germany
Posts: 3,764
Quote:
Originally posted by ChristianHJW
Mosu ! We need this in the mkvtoolnix pack for win32 !!
No, not really. I will place a link on my web page to it, certainly, but including it would only make things problematic. First, it's not my program, it's his. Second, I'd have to update the mkvtoolnix package each time the MEG is updated. Third, it'll cause all kinds of confusion - which version is newer and stuff like that.

Hmm, I still haven't looked at it... this->slap(2);
__________________
Latest MKVToolNix is v35.0.0

If I ever ask you to upload something, please use my file server.
Mosu is offline   Reply With Quote
Old 5th April 2004, 15:45   #12  |  Link
DarkDudae
ARCalculator Developer
 
Join Date: Jun 2003
Location: Spain
Posts: 149
@Blkbird

Thanks for the tips, I will follow your advices. About my "execute commandline function", I donīt see significative differences respect the one you post. Just that mine waits proccess finish to read stdout of mkvmerge. Anyways, I am thinking at implementing a running stdout of mkvextract in real time for logging purposes, and your lines will be helpful. For example, quicktime tracks extraction is not supported in actual mkvextract.exe, and a realtime log would help a lot with that.

@Mosu

I understand you perfectly, this is a small app that I programmed because I really needed a friendly GUI working with mkv files. I just uploaded it trying to help. I will add some little features, like described before, and I wonīt follow with this. I just wait my code can help in future versions of mkvtoolnix tools or other oficial mkvextracts GUIs.

Regards
__________________
Lights out!
ARCalculator 2.6.0 (Rip-Pack)
www.canalxvid.com
DarkDudae is offline   Reply With Quote
Old 6th April 2004, 08:58   #13  |  Link
Kurtnoise
Swallowed in the Sea
 
Kurtnoise's Avatar
 
Join Date: Oct 2002
Location: Aix-en-Provence, France
Posts: 5,183
A suggestion for the next release : adding support to extract chapters.

10x
Kurtnoise is offline   Reply With Quote
Old 6th April 2004, 17:24   #14  |  Link
jjseth
Registered User
 
jjseth's Avatar
 
Join Date: Aug 2003
Location: Spain
Posts: 83
Oh yeah DarkDudae!
__________________
SethNet.tk
MKVextractGUI

Smile, tomorrow will be worst

Sorry my poor english
jjseth is offline   Reply With Quote
Old 6th April 2004, 23:56   #15  |  Link
ssjkakaroto
Registered User
 
ssjkakaroto's Avatar
 
Join Date: Oct 2001
Location: River of Flame
Posts: 198
nice one DarkDudae, thx
__________________
CCCP
ssjkakaroto is offline   Reply With Quote
Old 10th April 2004, 00:50   #16  |  Link
ashyak
Registered User
 
Join Date: Dec 2003
Location: somewhere in europe
Posts: 7
Hi,

very great tool

Quote:
Originally posted by Kurtnoise13
A suggestion for the next release : adding support to extract chapters.
i think this not possible with mkvextract.exe, but with mkvinfo.exe, here a sample:

Code:
D:\Programme\mkvtoolnix-0.7.9>mkvinfo "G:\pearl jam - unplugged.mkv"
+ EBML head
+ Segment, size 203020766
|+ Seek head (subentries will be skipped)
|+ EbmlVoid (size: 4012)
|+ Segment information
| + Muxing application: libebml v0.6.4 + libmatroska v0.6.3
| + Writing application: mkvmerge v0.8.5 built on Feb 22 2004 12:17:21
| + Duration: 1270.708s (00:21:10.708)
| + Date: Fri Apr 09 15:23:05 2004 UTC
| + Segment UID: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x0
0 0x00 0x00 0x00
|+ Segment tracks
| + A track
|  + Track number: 1
|  + Track UID: 3615884962
|  + Track type: video
|  + MinCache: 1
|  + Timecode scale: 1.000000
|  + Codec ID: V_MS/VFW/FOURCC
|  + CodecPrivate, length 40 (FourCC: XVID, 0x44495658)
|  + Default duration: 40.000ms (25.000 fps for a video track)
|  + Default flag: 1
|  + Language: eng
|  + Video track
|   + Pixel width: 512
|   + Pixel height: 384
|   + Display width: 512
|   + Display height: 384
|  + Lacing flag: 0
| + A track
|  + Track number: 2
|  + Track UID: 4253427506
|  + Track type: audio
|  + MinCache: 0
|  + Timecode scale: 1.000000
|  + Codec ID: A_AAC/MPEG4/LC/SBR
|  + Default duration: 42.667ms (23.438 fps for a video track)
|  + Default flag: 1
|  + Language: eng
|  + Audio track
|   + Sampling frequency: 24000.000000
|   + Channels: 2
|   + Output sampling frequency: 48000.000000
|+ EbmlVoid (size: 1024)
|+ Chapters
| + Edition entry
|  + Chapter atom
|   + UID: 1975521926
|   + Start: 00:00:00.000
|   + Display
|    + String: state of love and trust
|    + Language: eng
|  + Chapter atom
|   + UID: 4066679778
|   + Start: 00:03:56.000
|   + Display
|    + String: alive
|    + Language: eng
|  + Chapter atom
|   + UID: 2282679044
|   + Start: 00:09:20.000
|   + Display
|    + String: jeremy
|    + Language: eng
|  + Chapter atom
|   + UID: 788539922
|   + Start: 00:14:40.000
|   + Display
|    + String: porch
|    + Language: eng
|+ Cluster
and this simple chapter list cames from, this ogg Chapterfile

Code:
CHAPTER01=00:00:00.000
CHAPTER01NAME=state of love and trust
CHAPTER02=00:03:56.000
CHAPTER02NAME=alive
CHAPTER03=00:09:20.000
CHAPTER03NAME=jeremy
CHAPTER04=00:14:40.000
CHAPTER04NAME=porch
I know matroska chapters can contain subchapters.



....cya
ashyak is offline   Reply With Quote
Old 10th April 2004, 10:31   #17  |  Link
Mosu
MKVToolNix author
 
Mosu's Avatar
 
Join Date: Sep 2002
Location: Braunschweig, Germany
Posts: 3,764
Quote:
Originally posted by ashyak
i think this not possible with mkvextract.exe, but with mkvinfo.exe, here a sample:
Why don't you read mkvextract's documentation at http://www.bunkus.org/videotools/mkv...kvextract.html or at least the help text it prints if you call it without arguments?
__________________
Latest MKVToolNix is v35.0.0

If I ever ask you to upload something, please use my file server.
Mosu is offline   Reply With Quote
Old 12th April 2004, 15:20   #18  |  Link
DarkDudae
ARCalculator Developer
 
Join Date: Jun 2003
Location: Spain
Posts: 149
MKVExtract GUI 1.5

Changelog since MKVExtract 1.2:

-Added chapters and tags extraction support. (They will be showed like the rest of tracks/attachments). Chapters can be extracted in XML and Simple(OGG)txt formats. Tags only can be extracted in xml.

-A lot of internal corrections.

-Monospace font for CommandLines.

-Added RM files extraction.(Added in latest mkvtoolnix 0.8.7)

-Added new formats system that will allow you to customize the GUI for future A/V formats actually not supported by mkvextract. For example: QUICKTIME A/V extraction is not supported by mkvtoolnix 0.8.7, but it is for sure that future versions will do. If you check in MKVExtract GUI a track like this:

Track ID 1 (V_QUICKTIME)

Then the program will ask you what output extension you want to assing to that sort of track. (In this case qtv) So the next time you find that sort of track, the program will remember it and will assing the output ext automatically. The new formats are saved into Formats.txt file, so you can edit/delete/add them easily.

(TRACK_TYPE) ext
------------------------------
Example of Formats.txt file:
(V_QUICKTIME) qtv
(A_QUICKTIME/QDM2) qta
------------------------------
__________________
Lights out!
ARCalculator 2.6.0 (Rip-Pack)
www.canalxvid.com
DarkDudae is offline   Reply With Quote
Old 13th April 2004, 12:50   #19  |  Link
jjseth
Registered User
 
jjseth's Avatar
 
Join Date: Aug 2003
Location: Spain
Posts: 83
I usually mux .idx subtitles in matroska but then i can't demux it.
I add .idx demux to the wish list...


Sorry my poor english.
__________________
SethNet.tk
MKVextractGUI

Smile, tomorrow will be worst

Sorry my poor english
jjseth is offline   Reply With Quote
Old 13th April 2004, 13:02   #20  |  Link
Mosu
MKVToolNix author
 
Mosu's Avatar
 
Join Date: Sep 2002
Location: Braunschweig, Germany
Posts: 3,764
Quote:
Originally posted by jjseth
I usually mux .idx subtitles in matroska but then i can't demux it.
I add .idx demux to the wish list...
This would be a wish for mkvextract, not for the GUI. But I won't implement that. At least not anytime soon.
__________________
Latest MKVToolNix is v35.0.0

If I ever ask you to upload something, please use my file server.
Mosu is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 05:31.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, vBulletin Solutions Inc.