


Add new setting for default output directory.Fix the necessary input fields check when extracting tags and cuesheet.Quote output filename in chapters, tags and cuesheet when using the new MKVToolNix cli.Enclose language in characters in the output filename for tracks, in order for MKVToolNix GUI to be able to derive it.Stop trying to find delays in matroska files that don't contain any video tracks.Check if a file with the same filename already exists before extracting and add a counter to the output filename to avoid overwritting the original file.Added new "Options" form to support custom output filename patterns.Ask the user to create the output directory if it doesn't exist.Optimize finding delays with mkvinfo by searching only for tracks that couldn't find delays with mkvmerge.Fix finding delays with newer mkvinfo versions.Fix issue in checking for an existing job when adding a new job.Add support for new element "Language IETF".Replace invalid file characters with underscore character ('_') from output filename.Optimize algo to avoid unnecessary comparisons.Improve track selection when filter value is an empty string.Fix attachment filename for all cases.Supports custom output filename patterns (new in v2.5.0).Supports batch extraction of multiple files (new in v2.0.0).Supports all MKVToolnix versions from v4.x and newer.Supports Linux through MONO (new in v1.6.4).It incorporates a job mode for batch extracting (new in v1.6).Uses separate thread for invoking mkvextract in order to have a responsive GUI.Uses file extensions for tracks according to CODEC_ID as defined in official mkvextract documentation.It doesn't require the executable to be placed inside MKVToolnix directory, but it still checks for it if registry search fails.Automatically detects MKVToolnix installation directory from registry.Use mkvinfo to analyse mkv elements really really fast.Use almost 100% of mkvextract functionality (supports extraction of tracks, attachments, chapters in XML, OGM and CUE, timecodes, tags and CUE sheet).NET v2 (.NET v4 since v1.9.0) and it works!Ĭurrent version is v2.6.3 and you can always find the latest executable file here:įrom v1.6.4 Linux is fully supported through MONO framework.įor use with MKVToolNix v9.0.0 and later, v1.7.0 or newer is required.įrom MKVToolNix v9.6.0 and later, the JSON output from mkvmerge is used, so is required (bundled).įrom v1.9.0. So, gMKVExtractGUI was born, written in pure C#. Though there are already other GUI utilities, I found them rather slow (original MkvExtract GUI), or inefficient (MkvExtractGUI-2 does not extract attachment tracks correctly). Could not find ref with POC 5įfplay shows the above error playing the extracted bitstream, and there are visible artifacts at the start of the video.Įrror propagates when remuxing the test.hevc bitstream to Matroska with mkvmwerge, and extracting from that second Matroska with mkvextract, too.As a personal bet, I developed a small GUI utility to use mkvinfo and mkvextract cli tools from MKVToolnix pack, in order to extract tracks, chapters and CUE sheets from mkv files.

Ffplay version 4.3.1 Copyright (c) 2003-2020 the FFmpeg developers built with Apple clang version 12.0.0 (clang-1200.0.32.28) configuration: -prefix=/usr/local/Cellar/ffmpeg/4.3.1_9 -enable-shared -enable-pthreads -enable-version3 -enable-avresample -cc=clang -host-cflags= -host-ldflags= -enable-ffplay -enable-gnutls -enable-gpl -enable-libaom -enable-libbluray -enable-libdav1d -enable-libmp3lame -enable-libopus -enable-librav1e -enable-librubberband -enable-libsnappy -enable-libsrt -enable-libtesseract -enable-libtheora -enable-libvidstab -enable-libvorbis -enable-libvpx -enable-libwebp -enable-libx264 -enable-libx265 -enable-libxml2 -enable-libxvid -enable-lzma -enable-libfontconfig -enable-libfreetype -enable-frei0r -enable-libass -enable-libopencore-amrnb -enable-libopencore-amrwb -enable-libopenjpeg -enable-librtmp -enable-libspeex -enable-libsoxr -enable-videotoolbox -enable-libzmq -enable-libzimg -disable-libjack -disable-indev=jack libavutil 56.
