Инструменты для работы с файлами формата MKV tools
Дата публикации:
moJoman, 26.10.2008 - 8:09
MKVToolnix
MKVToolnix - кроссплатформенное приложение, представляющее собой функциональный набор инструментов для работы с файлами формата MKV (Matroska). Программа позволяет добавлять, извлекать, удалять звуковые дорожки и субтитры, редактировать (разбивать/объединять) видео файлы, а также осуществлять конвертацию файлов в формате DivX и AVI в MKV. Поддерживается работа с наиболее популярными кодеками и форматами субтитров. MKVToolNix is a set of tools to create, alter and inspect Matroska files under Linux, other Unices and Windows.
Since May 1st 2003, the Matroska libraries themselves and my Matroska tools are officially available. I urge you to download the software, use it and report any errors you encounter to me. I'm always grateful for good bug reports because I make mistakes and you guys normally find them.
» Нажмите, для открытия спойлера | Press to open the spoiler «
2010-09-04 Moritz Bunkus
* Released v4.3.0.
* mkvmerge: bug fix: Appending tracks which would normally be compressed (e.g. with header removal compression) and turning off compression for those tracks with "--compression TID:none" (or the corresponsing option in mmg) was resulting in the second and all following appended tracks to be compressed all the same.
2010-09-01 Moritz Bunkus
* mkvextract: bug fix: Errors such as 'file does not exist' did not cause mkvextract to quit. Instead it continued and exited with the result code 0.
2010-08-28 Moritz Bunkus
* mkvmerge: bug fix: Certain frames in certain h.264/AVC raw tracks were handled wrong, e.g. files created by x264 versions starting with revision 1665. The situation occured if an IDR slice comes immedtiately after a non-IDR slice and the IDR slice has its frame_num and pic_order_count_lsb fields set to 0.
2010-08-26 Moritz Bunkus
* mkvmerge: enhancement: Attachments will be rendered at the beginning of the file again. Fix for bug 516.
2010-08-24 Moritz Bunkus
* mkvpropedit, mmg's header editor: Fixed a crash corrupting files in certain situations. If the updated header fields required filling exactly one byte with an EbmlVoid element and if the next Matroska element's "size" was already written with its maximum length (8 bytes) then the crash would occur. Such files are written by e.g. lavf. Fix for bug 536.
2010-08-17 Moritz Bunkus
* All: bug fix: Fixed a couple of format strings in translations which could cause the programs to crash.
2010-08-14 Moritz Bunkus
* mkvinfo: new feature: mkvinfo will show the h.264 profile and level for AVC/h.264 tracks along with the CodecPrivate element.
2010-08-10 Moritz Bunkus
* mkvmerge: bug fix: Video tracks with a width or height of 0 are not read from AVI files anymore. Fix for bug 538.
2010-08-05 Moritz Bunkus
* mkvmerge: bug fix: Fixed an error with losing packets (error message "packet queue not empty") when reading IVF (VP8) files using --default-duration on it.
* mkvmerge: bug fix: Fixed access to uninitialized memory in the MPEG-2 ES parser.
» Нажмите, для открытия спойлера | Press to open the spoiler «
* mmg: bug fix: mmg will no longer print false warnings about a chapter UID not being unique. Fixes #760. * mkvmerge, mkvpropedit, mmg: bug fix: All tools can now deal with 64bit UID values (chapter UIDs, edition UIDs etc). * mkvmerge: new feature: If "splitting by parts" is active and the last split part has a finite end point then mkvmerge will finish muxing after the last part has been completed. Implements #768.
»» Нажмите, для закрытия спойлера | Press to close the spoiler ««
Released v6.9.0. * all: new feature: added a Brazilian Portuguese translation of the programs by Thiago KУМhn (see AUTHORS). * mkvpropedit, mmg's header editor: bug fix: fixed a failed assertion in libEBML when writing the same changes twice to certain files (those for which a seek head with a single entry pointing to the elements modified by mkvpropedit/mmg's header editor; e.g. x264 creates such files). Fixes #1007.
»» Нажмите, для закрытия спойлера | Press to close the spoiler ««
* all: bug fix: Fixed file seeking code for ТЛseek relative to end of fileТЋ case. Fixes #1035. * mmg: bug fix: Selecting the root of the chapter editor tree will disable the language/country inputs properly as changing those fields doesn't make sense for the root.
»» Нажмите, для закрытия спойлера | Press to close the spoiler ««
* MKVToolNix GUI: included a first preview version in the Windows installer and portable releases. 2014-09-08 Moritz Bunkus * mkvmerge: bug fix: Fixed calculating AC3 delay from garbage dat when reading AC3 from AVIs. This stopped working in release 5.4.0 due to commit 97cc2121. 2014-09-06 Moritz Bunkus * mkvextract: bug fix: SSA/ASS files with sections after "[Events]" in their CodecPrivate are now handled correctly. Fixes #1057. 2014-09-05 Moritz Bunkus * mkvmerge: bug fix: Fixed handling certain edit list types in MP4 files that are used for positive track delays. Fixes #1059. 2014-08-09 Moritz Bunkus * source: Fixed compilation with Boost 1.56.0 which changed the ТЛindexedТЋ range adaptor in an incompatible way. * mkvpropedit, mmg's header editor: bug fix: when editing files with missing track UID elements such an element will be generated automatically instead of crashing and leaving the file in an unplayable state. Part of a fix for #1050. * mkvmerge: bug fix: Reading Matroska files with missing track UID elements will no longer cause mkvmerge to abort with an error. A warning is printed and a new unique track ID generated instead. Part of a fix for #1050.
»» Нажмите, для закрытия спойлера | Press to close the spoiler ««
Released v8.1.0. * mmg: bug fix: fixed handling of the characters [ and ] in container and track properties. * MKVToolNix GUI: merge tool enhancement: moved the ┬╗output file name┬л controls below the three tabs so they're always visible. Also added an option in the preferences to move them back inside the ┬╗output┬л tab. Implements #1266. 2015-06-26 Moritz Bunkus * MKVToolNix GUI: new chapter editor feature: added a function for generating a certain number of evenly spaced sub-chapter. Implements #1291. * MKVToolNix GUI: merge tool bug fix: fixed various menu entries not working correctly after closing a tab or switching to another one. Fixes #1301. 2015-06-25 Moritz Bunkus * MKVToolNix GUI: new chapter editor feature: implemented loading chapter entries from Blu-ray playlists. * MKVToolNix GUI: job queue enhancement: added menu entries for acknowledging both warnings and errors at the same time. 2015-06-24 Moritz Bunkus * MKVToolNix GUI: merge tool bug fix: if ┬╗automatically set the file title┬л is enabled then the title field will be cleared after all source files have been removed. * MKVToolNix GUI: new watch jobs tool feature: the first tab showing the output of the current job has been changed to show the output of all jobs that have been run since the GUI's been started. This can be turned off in the preferences so that only the output of the currently running job is shown again. Implements #1263. * MKVToolNix GUI: merge tool bug fix: fixed a crash when enabling/disabling chapters coming from an appended file. Fixes #1293. * MKVToolNix GUI: new merge tool feature: added an option to set a directory relative to the first input file as the default output directory. Implements #1261. * MKVToolNix GUI: merge tool bug fix: it was possible to set the ┬╗default track flag┬л to ┬╗yes┬л for multiple tracks of the sam type. Fixes #1289. * MKVToolNix GUI: enhancement: the ┬╗open file┬л dialogs for the chapter and header editor tools will use the same directory that was last used in the merge tool. Fixes #1290. 2015-06-23 Moritz Bunkus * MKVToolNix GUI: bug fix: fixed reading the ┬╗default track┬л flag of tracks from added Matroska files. Fixes #1281. * MKVToolNix GUI: new feature: added a check box to the track/chapters/tags/attachments list. This offers an additional way of toggling the ┬╗mux this┬л state of entries, same as the drop down box on the right and as double-clicking on the item already did. Implements #1277. * MKVToolNix GUI: merge tool bug fix: when appending files with multiple tracks of a type (e.g. multiple audio tracks) then all tracks of that kind would get assigned to the first track of that kind of the file they're appended to. Now the second audio track from the appended file is appended to the second audio track of the existing file, the third to the third etc. Fixes #1257. * MKVToolNix GUI: merge tool bug fix: fixed automatic output file name re-generation when the mux status of tracks changes. Fixes #1253. * MKVToolNix GUI: new feature: added an option for always using the suggested description and not asking the user when adding a job to the queue. Implements #1288. * MKVToolNix GUI: job queue enhancement: added the shortcut Ctrl+R for the menu entry ┬╗start all pending jobs┬л. Implements #1287. * MKVToolNix GUI: new feature: added an option to always treat files dragged & dropped external applications as being added circumventing the question what to do with them (add, append or add as additional parts). This option is enabled by default changing the default behavior from release 8.0.0. Implements #1259. * MKVToolNix GUI: new feature: added an optional action after starting a job or adding one to the queue. This can be either to create whole new settings or to only remove all input files. Implements #1254. * mmg: bug fix: the deprecation warning will only be shown once. Fixes #1252. * Installer for Windows: enhancement: associated the .mtxcfg files with MKVToolNix GUI. Implements #1258. * MIME and desktop files: enhancement: added file associations for .mtxcfg with MKVToolNix GUI. Implements #1258. 2015-06-22 Moritz Bunkus * MKVToolNix GUI: new feature: implemented command line handling. You can open configuration files, add files to merge jobs, open files in the chapter or header editors. Implements #1209. 2015-06-21 Moritz Bunkus * mkvmerge: bug fix: fixed recognition of (E)AC3 audio tracks using a FourCC of ┬╗ec-3┬л. Fixes #1272. * MKVToolNix GUI: merge tool bug fix: fixed attachments not being merged into the file in certain situations. Fixes #1260. * MKVToolNix GUI: merge tool bug fix: fixed showing existing attachments present in source files in the ┬╗tracks, chapters, tags and attachments┬л list. Fixes #1256. * MKVToolNix GUI: merge tool bug fix: the jobs created when appending files were incorrect resulting in an error message from mkvmerge. Fixes #1271. * mkvpropedit: bug fix: fixed a warning about ┬╗edit specifications resolving to the same track┬л when changing the track properties and setting tags for the same track simultaneously. Fixes #1247. * MKVToolNix GUI: merge tool bug fix: the output/destination file name is cleared when all files are removed. Fixes #1265. * MKVToolNix GUI: merge tool bug fix: fixed command line escaping for empty arguments. Fixes #1270. * MKVToolNix GUI: merge tool bug fix: fixed creating files without a title if one of the input files contains a file title. Fixes #1264. * MKVToolNix GUI: bug fix: if the job removal policy is set to ┬╗remove even if there were warnings┬л then jobs that were muxed without warnings weren't removed. Fixes #1262. 2015-06-20 Moritz Bunkus * Build system: fixed inclusion of desktop files for the two GUIs for Debian/Ubuntu packages. Fixes #1255.
»» Нажмите, для закрытия спойлера | Press to close the spoiler ««
* MKVToolNix GUI: chapter editor enhancement: pressing return will cause the next appropriate chapter control to be selected depending on where the focus currently is: from a chapter input to the first chapter name, from a chapter name to the next chapter name and from the last chapter name to the next chapter entry's start time. Implements #1358. 2015-08-14 Moritz Bunkus * MKVToolNix GUI: enhancement: the number of running jobs is shown in the status bar. Implements #1381. * MKVToolNix GUI: new job queue feature: added a context menu for force-starting selected jobs. This allows for running more than one job at the same time. Implements #1395. * MKVToolNix GUI: new merge tool feature: added an option for automatically setting the В»default trackВ« flag to В»noВ« for all subtitle tracks when they're added. Implements #1339. 2015-08-12 Moritz Bunkus * MKVToolNix GUI: new merge tool feature: dragging & dropping files onto line edit controls that expect file names (e.g. the В»chapter fileВ« control) will set that line edit's text to the dropped file name. Implements #1344. * mkvmerge: bug fix: track statistics tags can be kept with the option В»--engage keep_track_statistics_tagsВ«. This allows outputting them in verbose identification mode for easier parsing. Fixes #1351. 2015-08-11 Moritz Bunkus * MKVToolNix GUI: new feature: jobs in the queue can now be edited again. For that they're re-opened in the corresponding tool and removed from the queue. Implements #1296. * build system: stack protection is enabled when building with gcc on all platforms. For Windows DEP and ASLR is enabled. Implements #1370. 2015-08-09 Moritz Bunkus * build system: the Boost detection macros were updated from
_www.gnu.org
resulting in better compatibility with bare-bones shells like dash. * MKVToolNix GUI: enhancement: the format of the setting and queue files has been changed from INI style to JSON documents. Reading older setting files in INI style remains supported, but saving will convert them to JSON. Together with the other three changes mentioned below this results in a noticeable reduction in the time needed for writing the queue files, e.g. when pressing В»start muxingВ« or when quitting the application. * MKVToolNix GUI: enhancement: the way the job queue is stored has been changed. Earlier all jobs were stored in the same file (or registry on Windows) as the preferences. Now they're stored in a sub directory called В»jobQueueВ« with one file per queue entry. * MKVToolNix GUI: enhancement: on Windows the preferences are not stored in the registry anymore, not even if the application has been installed. Instead they're stored in an INI file in the user's AppData\Local directory tree. * MKVToolNix GUI: enhancement: the number of times the queue files are saved has been reduced. The queue files are also loaded only once on startup, not twice. * MKVToolNix GUI: bug fix: fixed various crashes when dragging & dropping in all of the tree views (merge tool: files view, tracks view, attachments view; chapter editor: edition/chapter tree, chapter name list; job queue). Fixes #1365. 2015-08-08 Moritz Bunkus * MKVToolNix GUI: enhancement: if an instance is already running when the application is started a second time then the GUI requests that the already-running instance will be activated. Implements #1379. * MKVToolNix GUI: new feature: added an option in the preferences for automatically switching to the job output tool whenever the user starts a job (e.g. by pressing В»start muxingВ«). Implements #1376. * MKVToolNix GUI: new job output and job queue feature: added a function for opening the output folder. Implements #1342. * MKVToolNix GUI: new job output tool feature: added a way to clear the output, warnings and errors views. Implements #1356. * MKVToolNix GUI: merge tool bug fix: attachments: sometimes changing values didn't apply the changes to all selected attachments depending on how they were selected. Fixes #1373. * MKVToolNix GUI: merge tool bug fix: the automatically suggested description for new jobs contained the file name twice, even in the directory portion. Fixes #1378. * MKVToolNix GUI: merge tool bug fix: if В»set output file name automaticallyВ« is enabled then file names ending with a number in parenthesis (e.g. В»Berlin (1962).mkvВ«) will keep their number in the generated output file name. Fixes #1375. * MKVToolNix GUI: merge tool bug fix: the GUI will keep manual changes to the output file name even if В»set output file name automaticallyВ« is enabled. Fixes #1372. * MKVToolNix GUI: bug fix: fixed the stereoscopy drop down box not being re-translated when the GUI language is changed. Fixes #1224. 2015-07-22 Moritz Bunkus * MKVToolNix GUI: chapter editor bug fix: it was possible to drop chapter entries on the top-level reserved for editions. Fixes #1369. 2015-07-21 Moritz Bunkus * MKVToolNix GUI: Windows: if the application has been installed then its settings will no longer be saved in the registry but in an INI file in the user's data application folder (e.g. C:\Users\mbunkus\AppData\Local\bunkus.org\mkvtoolnix-gui). 2015-07-20 Moritz Bunkus * MKVToolNix GUI: merge tool enhancement: added В»Simple OGM-style chapter files (*.txt)В« to the file selection dialog when selecting a chapter file. Implements #1269. 2015-07-18 Moritz Bunkus * MKVToolNix GUI: bug fix: fixed compilation when building without curl support. Fixes #1359.
»» Нажмите, для закрытия спойлера | Press to close the spoiler ««
Released v9.0.0 "Power to progress". 2016-03-25 Mike * build system: implemented support for explicit pre-compiled headers for Linux and Mac OS. 2016-03-25 Moritz Bunkus * Installer: fixed support for silent installation and uninstallation. 2016-03-24 Moritz Bunkus * mkvmerge: bug fix: fixed two more issues in the conversion of teletext subtitles to SRT subtitles: 1. Packets belonging to pages that don't contain subtitles were used as valid end points for subtitles causing entries to become very short (e.g. 40ms). 2. Sometimes the timestamps of wrong packets were used as entry's start and end points causing start timestamps and durations that were slightly off. Second part of the fix for #1623. 2016-03-22 Moritz Bunkus * mkvmerge: MP4/QuickTime reader: audio tracks with the FourCC 'lpcm' are muxed as A_PCM/INT/LIT instead of A_QUICKTIME. * mkvmerge: bug fix: MP4/QuickTime reader: audio tracks can contain two instances of certain header fields (channel count, bits/sample & channel, sample rate) in the STSD atom: one instance in the version 0 header and one in the version 2 header parts. So far mkvmerge has used those from the version 0 header only and ignored the ones from the version 2 header. This has been changed to match the behavior of other players and MP4 readers like ffmpeg. If the STSD atom contains a version 2 structure then the fields from it will be used. Otherwise the fields from the version 0 part will be used. Fixes #1633. 2016-03-21 Moritz Bunkus * all: new feature: added a new translation of both the programs and the man pages to Korean by Potato (see AUTHORS). * MKVToolNix GUI: chapter editor enhancement: added a button next to the 'segment UID' controls that enable the user to select a Matroska file. The GUI reads that file's segment UID and enters its value into the input field. 2016-03-20 Moritz Bunkus * build system: added an option to configure В»--without-qt-pkg-configВ«. Normally configure uses pkg-config for detecting Qt and setting QT_CFLAGS and QT_LIBS. With this option configure won't use pkg-config and rely on the user having set both variables before running configure. This enables using Qt on systems where no pkg-config files are generated (e.g. Qt 5.6.0 on MacOS with frameworks enabled). 2016-03-18 Moritz Bunkus * mkvinfo: change: on Windows and Mac OS mkvinfo will now launch the GUI by default unless the option В»--no-guiВ« (or В»-GВ«) has been given. This is due to the fact that on both OS users often use portable versions respectively disk images and launch the executable directly and not via start menu entries. In those situations adding command line options for launching the GUI is unnecessarily difficult. 2016-03-16 Moritz Bunkus * mkvmerge: bug fix: fixed two issues in the conversion of teletext subtitles to SRT subtitles: 1. Consecutive teletext packets with the same content are now merged into a single entry instead of resulting in multiple entries. 2. The calculation of a packet's duration was wrong in certain situations. Part of the fix for #1623. 2016-03-14 Moritz Bunkus * MKVToolNix GUI: merge tool (playlist selection dialog) enhancement: the playlist items are sorted by their position within the playlist by default. * MKVToolNix GUI: merge tool (playlist selection dialog) enhancement: double-clicking on a playlist will select and add that playlist. 2016-03-12 Moritz Bunkus * mkvmerge: enhancement: added the number of bits per sample to the verbose/JSON identification output for FLAC files. 2016-03-11 Moritz Bunkus * mkvextract: bug fix: fixed the duplication of VPS, SPS, PPS and SEI NALUs when extracting h.265/HEVC tracks. See #1076 and #1621. * mkvmerge: bug fix: reverted the patch by VladimГr PilnГЅ that made the h.265/HEVC not store SEI NALUs with the frames during muxing. It was supposed to prevent having the SEI NALUs present twice when extracting HEVC due to some SEI information also being stored in the codec private data, but it dropped a lot of other SEI NALUs irrevocably. Fixes #1621. 2016-03-09 Moritz Bunkus * mkvmerge: bug fix: the --sub-charset option is now ignored for text subtitle files that start with a byte-order mark (BOM) bringing the behavior in line with the documentation. Fixes #1620. 2016-03-07 Moritz Bunkus * mkvextract: new feature: implemented the extraction of Big Endian PCM (codec ID A_PCM/INT/BIG) to WAV files. The content will be byte-swapped into Little Endian PCM in the process. * mkvmerge: enhancement: Big Endian PCM tracks will now be byte-swapped into Little Endian PCM, and the codec ID A_PCM/INT/LIT will be used. This was done due to a lot of players not supporting Big Endian PCM inside Matroska. 2016-03-01 Moritz Bunkus * mkvmerge, MKVToolNix GUI: new feature: added switches (В»--generate-chaptersВ« and В»--generate-chapter-name-templateВ«) and their corresponding UI items for generating chapters while muxing. Two modes are currently supported: В»when-appendingВ« which creates one chapter at the beginning and an additional one each time a file is appended and В»interval:…« which generates chapters in fixed intervals. Implements mkvmerge's and the GUI's part of #1586. 2016-02-28 Moritz Bunkus * MKVToolNix GUI: job queue enhancement: completed jobs will now be removed from the queue automatically on exit if the job has been added more than 14 days ago in order not to let the queue grow arbitrarily large. This feature can be turned off and the number of days can be adjusted in the preferences. 2016-02-27 Moritz Bunkus * mkvpropedit, MKVToolNix GUI's header editor: bug fix: fixed the handling of files where the last level 1 element has an unknown size. The programs will now either fix this element to have a known size or abort the process with an appropriate error message but without modifying the file. Fixes #1601. 2016-02-25 Moritz Bunkus * mkvextract: enhancement: when extracting chapters in the simple format the user can use the new option В»--simple-language …« for selecting the chapter names that are output. Normally the first chapter name found in each atom is used. With this option mkvextract looks for a chapter name whose language matches the specified one. Implements the feature enhancement part of #1610. * mkvextract: several issues regarding the extraction of chapters in the simple format have been fixed: if multiple names with different languages were present then an entry had been written for each name; the total number of entries written was wrong; the wrong entries were written. The new code only writes the first name found from the top-most chapter atoms of all editions. Chapters flagged as hidden or as not enabled are not extracted at all. Fixes the bug part of #1610. 2016-02-24 Moritz Bunkus * MKVToolNix GUI: new chapter editor feature: added an option to multiply all chapter timecodes by a factor to the "additional modifications" dialog. Implements #1609..
»» Нажмите, для закрытия спойлера | Press to close the spoiler ««
Released v9.0.1 "Obstacles". * mkvmerge: bug fix: regression in v9.0.0: the text subtitle packetizer was wrongfully assuming an encoding of UTF-8 if none was given instead of assuming the system's encoding. Fixes #1639. 2016-03-27 Moritz Bunkus * mkvmerge: bug fix: if too many chapters had been generated with --generate-chapters then mkvmerge created a bogus entry in the meta seek element and did not actually write the chapters to the file. * mkvmerge: bug fix: the DTS packetizer was setting the number of channels wrong sometimes when reducing to the DTS core. It was using the number of channels including the extensions instead of the channels of the core only.
»» Нажмите, для закрытия спойлера | Press to close the spoiler ««
Released v9.2.0 "Photograph". 2016-05-20 Moritz Bunkus * MKVToolNix GUI: merge tool enhancement: the action "select all attached files" in the popup menu actions for the attached files view has been split up into "enable all attached files" and "disable all attached files". Implements #1698. 2016-05-15 Moritz Bunkus * MKVToolNix GUI: bug fix on Windows: removing the drive letter does not cause the colon to be removed automatically anymore. Fixes #1692. * MKVToolNix GUI: merge tool bug fix: it's no longer possible to select "1" as the maximum number of files to split into as mkvmerge doesn't accept that value. Fixes #1695. * mkvmerge: bug fix: the "interval" chapter generation mode was always creating one chapter too many. * mkvmerge: bug fix: if a certain number of chapters had been generated with --generate-chapters then mkvmerge wasn't replacing the void placerholder with the actual chapters. Fixes #1693. 2016-05-14 Moritz Bunkus * MKVToolNix GUI: merge tool bug fix: the track column "default track in output" wasn't taking into account if the track had its "default track" flag set to "no" in the source file. This would result in the column showing "yes" in certain situations even though mkvmerge would assign "no". 2016-05-06 Moritz Bunkus * mkvmerge: bug fix: fixed detection of (E-)AC-3 in MPEG TS files with unusual stream types (e.g. 0x87) but with (E-)AC-3 PMT descriptors. Fixes #1684. 2016-05-05 Moritz Bunkus * mkvmerge, mkvextract: bug fix: fixed handling of Big Endian PCM with a bit depth other than 16, 32 or 64 bits/sample. Other formats were using the Little Endian codec ID, but their content was actually not byte-swapped to match it. Now those other bit depths are byte-swapped to Little Endian, too. Fixes #1683. * mkvinfo: the change to start the GUI by default on Windows and Mac OS has been reverted. Instead a separate executable (mkvinfo-gui) will be included for those platforms which starts the GUI by default. The newly introduced option "--no-gui" will remain valid but won't have any effect when used with mkvinfo. 2016-05-04 Moritz Bunkus * mkvinfo GUI: enhancement: the window title now includes the file name. Implements #1679. * mkvmerge: enhancement: the "bit depth" track header field will be set for DTS tracks from the first DTS core header. Implements #1680. 2016-05-02 Moritz Bunkus * mkvmerge: bug fix: the time zone portion of the "date_local" member of the JSON and verbose identification formats contained the time zone's name instead of its offset on Windows due to the Visual C++ runtime's std::strftime not being C++11 compliant. Additionally this resulted in errors about invalid UTF-8 strings for locales where the time zone's name contained non-ASCII characters.
* Released v9.1.0 "Little Earthquakes". * mkvmerge: MPEG TS/teletext enhancement: included the teletext page number in the JSON/verbose identification output as track property "teletext_page". * mkvmerge: MPEG TS bug fix: the "text_subtitles" property of the JSON/verbose identification modes was always set to true for all subtitle tracks, even for those that aren't text subtitles (VobSub, PG). * mkvmerge: MPEG TS/teletext enhancement: if a teletext track contains multiple teletext pages then mkvmerge will now recognize all of those pages as separate tracks to merge instead of only merging the first page. See #1662. 2016-04-21 Moritz Bunkus * mkvmerge: MPEG TS/teletext enhancement: mkvmerge will now ignore obviously bogus PTS values for teletext tracks and use PTS from earlier audio or video packets instead. See #1662. 2016-04-20 Moritz Bunkus * mkvmerge: MPEG TS/teletext bug fix: the language code signaled in the MPEG TS PMT is taken into account when selecting the character encoding to use during decoding of the teletext subtitles, not just the "national character set" stored in the teletext page headers. For example, a German teletext page may signal "national character set" 0 (English) whereas it's actually 4 (German). See #1662. * mkvmerge: teletext decoding bug fix: fixed dropping of certain non-ASCII characters in rare circumstances due to wrong filtering of already UTF-8 encoded strings. * mkvmerge: MPEG TS reader enhancement: teletext tracks of type 5 (hearing impaired) are recognized as subtitles, too. Implements #1662. 2016-04-16 Moritz Bunkus * MKVToolNix GUI: merge tool enhancement: characters that aren't valid in path names are automatically removed from the output file name. Implements #1647. * MKVToolNix GUI: bug fix (Windows only): the GUI didn't start if the USERNAME environment variable contained characters that aren't allowed in file names (e.g. : or ?). 2016-04-13 Moritz Bunkus * mkvmerge: AVI reader bug fix: fixed reading files where the file ends in the middle of an audio chunk. Fixes #1657. 2016-04-11 Moritz Bunkus * mkvextract: new feature: added support for extracting WebVTT subtitles. Implements the extraction part of #1592. * mkvmerge: new feature: added support for reading WebVTT subtitles from WebVTT and Matroska files. Implements the merge part of #1592. * mkvmerge: enhancement: when reading Matroska files not created by mkvmerge that contain chapters the existing edition UIDs and chapter UIDs are removed and random ones created. This is necessary as not only HandBrake but other tools assign sequential numbers starting at 1 for each file. Therefore there are two chapter entries with the UID 1, two with the UID 2 etc. and those should, strictly speaking, be treated as if they were a single chapter whereas the user expects those entries to stay separate entries. 2016-04-09 Moritz Bunkus * MKVToolNix GUI: new feature: added an option in the preferences ("Merge" → "Output") for controlling whether or not the GUI clears the "output file name" input upon removal of the last file. * MKVToolNix GUI: new feature: added an option in the preferences ("Merge" → "Default values") for controlling whether or not the GUI clears the "file title" input upon removal of the last file. * mkvmerge: bug fix: mkvmerge will no longer abort reading a Matroska file with a structural error right before the first cluster. Fixes #1654. 2016-04-03 Moritz Bunkus * mkvmerge: enhancement: added the muxing date in both local time zone and UTC to verbose/JSON identification outputs (keys "date_local" and "date_utc", formatted after ISO 8601) when identifying Matroska files. 2016-04-02 Moritz Bunkus * mkvmerge: enhancement: added the minimum timestamp for each track in verbose/JSON identification outputs (key "minimum_timestamp") when identifying Matroska files. At most the first ten seconds are probed; if no block is found for a track within that range then the key is not output for the track. Also added "muxing_application" and "writing_application" to the "container" section of the output. Currently those are only set for Matroska files. 2016-03-31 Moritz Bunkus * MKVToolNix GUI: merge tool change: attachments from source files have been moved from the "Tracks, chapters, tags and attachments" list on the "sources" tab to a new list on the "attachments" tab. That way all existing attachments and all the ones to newly add will be shown in a single tab. This makes it easier to decide which attachments will have to be added and which can be removed. * MKVToolNix: merge tool bug fix: when adding playlists the GUI won't ask the user whether or not to scan if there's only a single playlist in that directory. 2016-03-29 Moritz Bunkus * mkvmerge: bug fix: AVC/h.264: fixed handling of interlaced frames with bottom field first. * MKVToolNix GUI: bug fix: fixed huge memory consumption (e.g. allocation of 2 GB for a JSON file of 650 KB) in the JSON library by updating said JSON library. Fixes #1631.
»» Нажмите, для закрытия спойлера | Press to close the spoiler ««
* Released v9.4.1 "Black Rain". 2016-09-07 Moritz Bunkus * Note: most of the bugs fixed on 2016-09-06 and 2016-09-07 for issue #1780 are potentially exploitable. The scenario is arbitrary code execution with specially-crafted files. Updating is highly recommended. * mkvmerge: bug fix: AVC & HEVC readers: the readers will now refuse to handle files where the detected pixel width or height is equal to or less than 0. Before this fix the muxing process aborted with an assertion inside libMatroska. Fixes the last test case of #1780. * mkvmerge: bug fix: HEVC parser: fixed another invalid memory access (beyond the end of allocated space). Fixes two test cases of #1780.
»» Нажмите, для закрытия спойлера | Press to close the spoiler ««
* Released v9.4.2 "So High". * mkvmerge: bug fix: AVC & HEVC readers: release v9.4.1 contains a change to both readers so that they will refuse to handle files where the detected pixel width or height is equal to or less than 0. This check was wrong in certain cases causing mkvmerge to reject a file as an unsupported file type. This has been fixed while keeping the constraints on width & height having to be positive.
»» Нажмите, для закрытия спойлера | Press to close the spoiler ««
# Version 10.0.0 "To Drown In You" 2017-03-25 ## New features and enhancements * mkvmerge: AVC/h.264 parser: mkvmerge will now drop all frames before the first key frame as they cannot be decoded properly anyway. See #1908. * mkvmerge: HEVC/h.265 parser: mkvmerge will now drop all frames before the first key frame as they cannot be decoded properly anyway. See #1908. * mkvmerge: HEVC/h.265 parser: added a workaround for invalid values for the "default display window" in the VUI parameters of sequence parameter sets. Fixes #1907. ## Bug fixes * mkvmerge: MP4 reader: fixed track offsets being wrong in certain situations regarding the presence or absence of edit lists ('elst' atoms) & composition timestamps ('ctts' atoms). Fixes #1889. * mkvmerge: MP4 reader: offsets in "ctts" are now always treated as signed integers, even with version 0 atoms. * mkvinfo: the timestamps of SimpleBlocks with negative timestamps are now shown correctly. * mkvmerge: Matroska reader: fixed handling BlockGroups and SimpleBlocks with negative timestamps. * mkvmerge: MP3 packetizer: the MP3 packetizer will no longer drop timestamps from source containers if they go backwards. This keeps A/V in sync for files where the source was in sync even though their timestamps aren't monotonic increasing. Fixes #1909. * mkvmerge: AVC/h.264 parser: mkvmerge will now drop timestamps from the source container if no frame is emitted for that timestamp. Fixes #1908. * mkvmerge: HEVC/h.265 parser: mkvmerge will now drop timestamps from the source container if no frame is emitted for that timestamp. Fixes the HEVC equivalent of the problem with AVC described in #1908. * mkvextract: SSA/ASS: fixed extraction when the "Format" line in the "[Events]" section contains less fields than the default for SSA/ASS would indicate. Fixes #1913.
# Version 9.9.0 "Pick Up" 2017-02-19 ## New features and enhancements * GUI: chapter editor: added a character set selection in the preferences for text files. If a character set is selected there, it will be used instead of asking the user when opening text chapter files. Implements #1874. * GUI: multiplexer: added a column "character set" to the "tracks, chapters and tags" list view showing the currently selected character set for that track. Implements #1873. * mkvmerge: added an --engage option "all_i_slices_are_key_frames" for treating all I slices of an h.264/AVC stream as key frames in pathological streams that lack real key frames. Implements #1876. * GUI: running programs after jobs: added a new variable for the directory the MKVToolNix GUI executable is located in. * mkvmerge: DVB subtitle tracks whose CodecPrivate data is only four bytes long will now be fixed up to the proper five bytes by adding the subtitling type byte. * mkvmerge: MP4 reader: "ctts" version 1 atoms are now supported. ## Bug fixes * mkvmerge: AC-3 handling: some source files provide timestamps for audio tracks only once every n audio frames. In such situations mkvmerge was buffering too much data resulting in a single gap in the timestamps of one frame duration after frame number n - 1 (the second audio timestamp read from the source file was used one output frame too early). Fixes #1864. * mkvmerge: MP4 reader: mkvmerge was only reading a small part of MP4 DASH files where the first "moov" "mdat" atoms occur before the first "moof" atom. This is part of the fix for #1867. * mkvmerge: MP4 reader: edit list ("edts" atoms) that are part of the "moof" atoms used in MP4 DASH files weren't parsed. Instead the edit lists from the main track headers inside the "moov" atom were used. This is part of the fix for #1867. * mkvmerge: MP4 reader: when an MP4 DASH file contained both normal chunk offset table ("stco"/"co64" atoms) in their regular "moov" atoms, a sample-to-chunk table ("stsc" atom) whose last entry had a "samples per chunk" count greater than 1 and DASH "trun" atoms, then mkvmerge was calculating wrong positions the frame content. This is part of the fix for #1867. * mkvmerge: MP4 reader: mkvmerge couldn't deal with the key frame index table having duplicate entries. The result was that only key frames up to and including the first duplicate entry were marked as key frames in the output file. All other frames weren't, even though some of them were referenced from the key frame table after the first duplicate entry. This is part of the fix for #1867. * mkvmerge: MP4 reader: when an MP4 file contained more than one copy of the "moov" atom (the track headers etc.), mkvmerge was parsing them all adding tracks multiple times. Fix for #1877. * mkvmerge: MP4 reader: fixed an integer overflow during the timestamp calculation leading to files with wrong timestamps. Such files could not be played back properly by most players. Fixes #1883. * mkvmerge: MPEG TS reader: if the PMT lists a DVBSUB track, mkvmerge will now recognize it without having to find a packet for it within the probed range. * mkvmerge: splitting by parts (both the "timestamps" and the "frames" variants): fixed the calculation of track statistics tags. When calculating the duration the skipped portions weren't taken into account leading to a too-high duration. As a consequence the BPS tag (bits per second) was wrong, too. Fixes #1885. * mkvmerge: reading files with DVB/HDMV TextSV subtitle tracks with invalid CodecPrivate caused mkvmerge to abort with an error from boost::format about the format string not having enough arguments. Fixes #1894. * mkvmerge: fixed misdetection of certain AC-3 files as MP3 files which led to an error message that "the demultiplexer could not be initialized". * mkvmerge: fixed huge memory consumption when appending big Matroska files with sparse tracks (e.g. forced subtitle tracks). The Matroska reader will now queue at most 128 MB of data. Fixes #1893. * mkvmerge: MP4 reader: the timestamps of all multiplexed tracks will now be 0-based properly. * mkvmerge: MP4 reader: the DTS-to-PTS offsets given by the "ctts" atoms are now applied for all tracks containing a "ctts" atom, not just h.264 & h.265 tracks. ## Build system changes * Up to and including release 9.8.0 the man pages and their translations came pre-built and bundled with the source code. Those pre-built files have now been removed and must be built during the build process. Therefore the tool "xsltproc" and the DocBook XSL stylesheets for man pages are now required dependencies. Additionally the tool "po4a" must be installed for the translated man pages to be built and installed, though this is optional. In order to facilitate finding the new requirements new options have been added to confiure: "--with-xsltproc=prog", "--with-docbook-xsl-root=dir", "--with-po4a=prog" and "--with-po4a-translate=prog. * pugixml detection will be attempted via "pkg-config" first. If that fails, "configure" will fall back to the previous method of trying just to compile and link a test program with the standard include and library locations. Implements #1891.
# Version 9.8.0 "Kuglblids" 2017-01-22 ## Important notes * build system: the included version of the "drake" build tool has been removed. Since Ruby 2.1 rake has supported parallel builds, too. The MKVToolNix build system has been adjusted to enable parallel builds by default. ## New features and enhancements * mkvmerge: VobSub in Matroska: mkvmerge will now create and use a default index for VobSub tracks read from Matroska files that are missing their CodecPrivate element (which normally contains said index). Implements #1854. * GUI: added checks for several common problems with the installation. These checks will be executed when the GUI starts, and any problems will be reported to the user. * mkvmerge: added the ISO 639-2 language codes "qaa" and "qad" (both are titled "reserved for local use") as both are used often in France. See #1848 for more information. * mkvmerge: the JSON identification result now includes a track's codec delay if set (only for Matroska source files). The JSON schema version has been bumped to 6. * mkvmerge: MPEG TS: added a workaround for files where the subtitle packets are multiplexed properly, but where their timestamps are way off from the audio and video timestamps. Implements #1841. * mkvmerge: added support for Digital Video Broadcasting (DVB) subtitles (CodecID `S_DVBSUB`). They can be read from MPEG transport streams and from Matroska files. Implements #1843. ## Bug fixes * mkvmerge: MP4 reader: when an MP4 file contained fewer entries for timestamps than frames (which they never should), mkvmerge would use 0 as the timestamp for all the other frames. This resulted in effects such as the last frame of an output file having a timestamp of 0 and in split files having a much longer duration than they should have. Fixes #1847. * GUI: the cache cleanup process that's run automatically when the GUI starts no longer blocks file identification until it is finished. Additionally the process will only be run once per release of MKVToolNix. Fixes #1860. * GUI: certain failures during file identification that can be traced to broken installations (e.g. mkvmerge being too old) won't be stored in the cache anymore. Without this fix the GUI would still use the cached failed identification result even though the underlying might have already been fixed. * mkvmerge: fixed that the error message "not enough space on disk" was shown twice on some operating systems. Fixes #1850. * mkvmerge, Matroska: if a codec delay is set for a track in the input file, it is kept. Fixes #1849. * GUI: multiplexer: changing default values in the preferences (e.g. the default track language to set) did not affect files whose identification results had already been cached. * mkvmerge, MP4: fixed detection of MP3 audio when the object type ID in the ESDS signals MP2 and the track headers have invalid values for number of channels or sampling frequency. Fixes #1844. ## Build system changes * nlohman json-cpp: configure now looks for a system-wide installed version of the nlohmann json-cpp header-only library. If one is found, it is used; otherwise the included version will be used. Implements #1858. * If MKVToolNix is built with rake v10.0.0 or newer, its "multitask" feature will be turned on allowing automatic parallel builds. * CURL is no longer used by MKVToolNix and is therefore not required for building anymore. ## Other changes * GUI: the update check now uses Qt's networking classes instead of CURL. * The command line option "--check-for-updates" has been removed, even though the deprecation warning in release 9.7.0 stated that it would be removed in 2018.
# Version 9.7.1 "Pandemonium" 2016-12-27 ## Bug fixes * MKVToolNix GUI: multiplex tool bug fix: under certain circumstances the GUI was creating invalid JSON files when starting to multiplex resulting in an error message ("JSON option files must contain a JSON array consisting solely of JSON strings").
# Version 9.7.0 "Numbers" 2016-12-27 ## Important notes * Deprecation warning: Several options and features are now deprecated and will be removed at the start of 2018. These are: - mkvmerge: the options "--identify-verbose", "--identify-for-gui", "--identify-for-mmg" and "--identification-format verbose". Please convert existing users of these interfaces to use mkvmerge's JSON identification output which can be invoked with "--identification-format json --identify …". - all command line tools: the old, proprietary format used for option files. Please convert users of this interface to the new JSON option file format introduced in this release. - all command line tools: the option "--check-for-updates" (the GUI will keep its online check for updates, though). There is and will be no equivalent interface in the tools themselves. Users of this interface can switch to retrieving the information about available updates directly from the MKVToolNix website. The information is available as JSON and XML files at the following URLs:
## New features and enhancements * mkvmerge: enhancement: added a new track property in JSON/verbose identification mode called "multiplexed_tracks". It's an array of track IDs that describe which of the tracks mkvmerge reports as separate ones were originally part of the same source track (e.g. TrueHD+AC-3 in a single track in MPEG transport streams). Implements #1835. * mkvmerge: added support for skipping APE(v2) tags in TTA files. * mkvextract: enhancement: added support for reporting progress in --gui-mode the same way mkvmerge does. * all: new feature: all command line tools can now read JSON-formatted option files. Such a file's name must have an extension of ".json" (e.g. "mkvmerge @options.json"). Its content must be a valid JSON array consisting solely of JSON strings. * MKVToolNix GUI: header editor & job output enhancement: added menu entries for saving or closing all open tabs. * MKVToolNix GUI: chapter editor enhancement: added menu entries for saving or closing all open tabs. * mkvmerge: MPEG TS/MPLS reader improvements: added support for subtitle tracks that are referenced from the MPLS file as sub-paths in other M2TS files than the main tracks. * MKVToolNix GUI: multiplexer enhancement: the file identification process has been re-written to be properly multi-threaded. This allows the user to continue working with the GUI while e.g. playlists from a Blu-ray are identified. * mkvmerge: enhancement: mkvmerge can now handle Blu-ray playlists from the "BACKUP" sub-directory of a Blu-ray disc. * MKVToolNix GUI: new multiplexer feature: added a menu entry for copying the title to the destination file name. It will replace the destination file's base name but keep its path & extension. * MKVToolNix GUI: new multiplexer feature: all positive file identification results will now be cached between runs. This speeds up adding the same file a lot, especially when scanning the same Blu-ray playlists again. Cached results are invalidated automatically with newer MKVToolNix releases or when the source file changes. * MKVToolNix GUI: multiplexer enhancement: when the user tries to add one of the main Blu-ray index files (index.bdmv, MovieObject.bdmv) the GUI will automatically scan the Blu-ray playlist files and offer them for selection. * MKVToolNix GUI: multiplexer enhancement: tracks, chapters, tags, attachments not selected for multiplexing will be displayed the same way as other disabled controls. Implements #1819. ## Bug fixes * mkvmerge: bug fix: when using --track-order without specifying all tracks, the track numbers could end up in a way the user did not expect. Now mkvmerge will always assign track numbers for those tracks that are listed in --track-order first. The other tracks are assigned numbers afterwards. Fixes the second part of #1832. * mkvmerge: bug fix: when reading Matroska files the movie title was always taken from the first Matroska source file, even if that file didn't have a title set. Fixes one part of #1832. * MKVToolNix GUI: re-worked the startup code not to use lock files when trying to open a socket for communicating with an already-running instance. This aims to prevent situations with stale lock files not being cleaned up and the GUI not starting anymore as a result. This might fix or prevent issues like #1805. * mkvmerge: teletext subtitle bug fix: fixed the handling of DVB teletext subtitles signaled with data unit ID 0x02 and that contain pages from multiple magazines. * mkvmerge: bug fix: files smaller than 4 bytes were wrongly identified as MPEG transport streams. * mkvmerge: bug fix: the MPEG transport stream reader was using an outdated format for the "CodecPrivate" element for HDMV TextST subtitles. This has been updated to the current format which only contains the "dialog style element". Existing Matroska files using this outdated scheme can be fixed by running them through mkvmerge v9.6.0 itself or any later release as the old format is automatically converted to the new one when it is read from Matroska files. ## Build system changes * build system: building the GUI components of MKVToolNix now requires Qt v5.3.0 or newer. * build system: MKVToolNix now requires a compiler that supports the following features of the C++14 standard: "std::make_unique()", "digit separators", "binary literals" and "generic lambdas". For the GNU Compiler Collection (gcc) this means v4.9.x or newer; for clang it means v3.4 or newer.
# Version 9.6.0 "Slave To Your Mind" 2016-11-29 ## New features and enhancements * mkvmerge & mkvextract: added support for HDMV TextST subtitles. * MKVToolNix GUI: multiplexer enhancement: added a column "source file's directory" to the track list. Implements #1809. * MKVToolNix GUI: multiplexer enhancement: added an option for selecting all tracks of the currently selected source files in the source file context menu. Inspired by #1809. * MKVToolNix GUI: new feature: added options in the preferences to only show the list of often used languages/country codes/character sets in their respective selections instead of both the often used and the full list. Implements #1796. ## Bug fixes * mkvextract: VobSub bug fix: mkvextract will add a "langidx" line to the .idx file upon extraction. Fixes #1810. * MKVToolNix GUI: job output tool bug fix: the button for acknowledging warnings & errors wasn't properly disabled when the user used outside methods of acknowledging them (e.g. via the menu or via the job queue). Fixes #1802. * mkvmerge: MPLS parser bug fix: fixed reading the "in" & "out" timestamps for "play items". This bug resulted in mkvmerge not reading the correct range from the referenced M2TS file under certain rare circumstances. * mkvmerge: bug fix: mkvmerge was entering endless loops under certain conditions when appending files. This was a regression introduced with the fix to #1774 (using very large --sync values causing mkvmerge to abort).
# Version 9.5.0 "Quiet Fire" 2016-10-16 ## New features and enhancements * mkvmerge, mkvpropedit, MKVToolNix GUI: added support for the "field order" video track header element. * mkvinfo: added support for the "field order" video track header element. Patch by James Almer (see AUTHORS). * MKVToolNix GUI: merge tool enhancement: added menu entries that execute the "close", "save settings", "start muxing" or "add to job queue" action for all currently open tabs. * MKVToolNix GUI: merge tool enhancement: when dragging & dropping directories the GUI will process all files within those directories recursively instead. * mkvpropedit, MKVToolNix GUI's header editor: added options to modify the "muxing application" and "writing application" elements in the "segment information" container. Implements #1788. ## Bug fixes * mkvmerge, mkvextract: VobSub handling bug fix: mkvmerge and mkvextract will now update the duration stored in the SPU bitsream with the duration from the container level if it differs at least 1ms. Fixes #1771. * mkvmerge: h.264 elementary stream handling bug fix: if mkvmerge ever encounters changing SPS or PPS NALUs (ones where their ID has been encountered before with different settings) in the h.264 then it will prepend all following key frames with all currently active SPS and PPS NALUs. This enables playback from arbitrary key frames even if they require other SPS or PPS settings than the ones stored in the AVCC in CodecPrivate. Fixes #1711. * mkvmerge: MPEG transport stream reader bug fix: fixed the handling of Blu-ray PCM audio with an odd number of channels by removing their alignment bytes. * mkvmerge: MPEG transport stream reader bug fix: fixed mis-detection of certain h.264 files as MPEG transport streams. * mkvmerge: WAV reader bug fix: the track properties (channels, sample rate) for DTS and AC-3 in WAV will now be derived from the decoded bitstream headers instead of the WAV file header as the latter is often incorrect. * mkvmerge: WAV reader bug fix: fixed detection and merging of DTS in WAV that uses the 14-bytes-in-16-bytes packing method. * mkvmerge: bug fix: The Ogg/OGM reader did not recognize Opus files with comment headers anymore. This was broken by the fix to not require Ogg/OGM files to have.
»» Нажмите, для закрытия спойлера | Press to close the spoiler ««
# Version 11.0.0 "Alive" 2017-04-22 ## New features and enhancements * mkvmerge: FLAC reader: added support for handling embedded pictures as attachments. Implements #1942. * mkvmerge: MP4 reader: merged pull request #1804 adding support for parsing the "COLR" atom and including its values as track headers. * MKVToolNix GUI: watch jobs: the user can now have the GUI execute an action once as soon as the current job or the whole queue finishes. The actions are the same ones that can be configured to be run automatically after job or queue completion. * MKVToolNix GUI: implemented several built-in actions that can be executed either on special events or once via the "watch jobs" tool. These are: playing an audio file (implemented for all operating systems); hibernating, sleeping and shutting down the computer (only implemented for Windows and for Linux systems using systemd). * MKVToolNix GUI: multiplex tool: added a new option for what to do after starting to multiplex/adding to the job queue: "close current settings" will close the current multiplex settings without opening new ones.
## Bug fixes * mkvmerge: AAC parser: fixed mis-detection of certain data as valid ADTS AAC headers resulting in memory allocation failures. Fixes #1941. * mkvmerge: AVC/h.264 parser: mkvmerge will now ignore bogus timing information in the sequence parameter sets (values indicating more than 100000 progressive frames per second). Fixes #1946. * mkvmerge: AVC/h.264 & HEVC/h.265 parsers: all trailing zero bytes will now be removed from NALUs. Fixes #1952. * mkvmerge: HEVC/h.265 parser: fixed copying the `bitstream_restriction_flag` and all dependent fields in the VUI parameters of the sequence parameter sets. Fixes #1924. * mkvmerge: HEVC/h.265 parser: fixed the calculation of the number of parameter set arrays in the HEVCC data structure stored in CodecPrivate. Fixes the video-related part of #1938. * mkvmerge: HEVC/h.265 parser: fixed writing superfluous and uninitialized bytes at the end of the HEVCC data structure stored in CodecPrivate. Another fix for the video-related part of #1938. * mkvmerge: HEVC/h.265 parser: fixed the assumption that the HEVCC data structure always includes arrays for all parameter set types (VPS, SPS, PPS and SEI), and that the order is always VPS → SPS → PPS → SEI. Instead now only the arrays actually present are parsed, and they can be in any order. This fixes mkvinfo's output for Matroska files created from files such as the one from #1938. * mkvmerge: AVC/h.264 packetizer: when reading a framed track (e.g. from Matroska or MP4 files), specifying a default duration as fields (e.g. `50i`) would result in double the actual duration for each frame and the track's default duration header field. Fixes #1916. * mkvmerge: Matroska reader: invalid track language elements are now treated as if they were set to `und` = "undetermined". See #1929 for context. * mkvmerge: MPEG TS reader, AAC: mkvmerge will now require five consecutive AAC headers with identical parameters before track type determination is considered valid. This avoids false positives and consequently wrong track parameters. Fixes the audio-related part of #1938. * mkvmerge: fixed an endless loop in certain circumstances when splitting by `parts` or `parts-frames` and the start of the file is discarded. Fixes #1944. * MKVToolNix GUI: multiplexer tool: the "show command line" dialog will no longer include the mkvmerge executable's location as the first argument for the two "MKVToolNix option files" escape modes. Fixes #1949. * MKVToolNix GUI, header editor: empty track language elements are now treated the same as those set to invalid ISO 639-2 codes: as if they were set to `und` = "undetermined". See #1929 for context.
## Build system changes * bug fix: configure now looks for the `strings` binary by using the `AC_CHECK_TOOL()` autoconf macro. That way it will be found in multiarch setups, too. Fixes #1923. * bug fix: the environment variable USER_CXXFLAGS was accidentally removed from the compiler flags in release 9.8.0. It's been re-added. Fixes #1925. * The `.desktop` files have been renamed to `org.bunkus.mkvtoolnix-gui.desktop` and `org.bunkus.mkvinfo.desktop`. This allows Wayland compositors to associate the correct icons with running applications for e.g. task switchers. Fixes #1948. * Qt's multimedia component is required for compilation of the GUIs since version 11.
»» Нажмите, для закрытия спойлера | Press to close the spoiler ««
Конвертирование различных видео файлов. Редактирование аудиодорожки. Редактирование видеофайлов. Поддержка различных форматов субтитров: SRT, SSA, ASS, VobSub и др. Результирующие файлы от MKVToolnix проигрываются различными медиаплеерами.
»» Нажмите, для закрытия спойлера | Press to close the spoiler ««
Системные требования: Операционная система: Windows XP,Vista,7,8,10 (x86,x64) Процессор: 1 ГГц Оперативная память: 512 МБ Место на жестком диске: 105 МБ Язык интерфейса: русский Размер: 32 МБ
* mkvmerge: chapter generation: if the name template given by `--generate-chapters-name-template` is empty, no names (`ChapterDisplay` master elements with `ChapterString`/`ChapterLanguage` children) will be generated for the chapter atoms. Part of the implementation of #2275. * mkvmerge: chapters: chapter names generated from MPLS files will now use the name template if one is set via `--generate-chapters-name-template`. Part of the implementation of #2275. * mkvmerge: mkvmerge will no longer abort with an error message if no audio, video and subtitle tracks should be multiplexed. This allows copying of chapters from non-chapter source files (e.g. Matroska or MP4 files). * MKVToolNix GUI: the font size in the tool selector on the left will scale with the font size the user selects in the preferences. * MKVToolNix GUI: the GUI will no longer automatically resize the columns in tree and list views to match the content size. Instead it remembers and restores the widths set by the user. Implements #2353. * MKVToolNix GUI: multiplexer: the chapter name template will now be set automatically to the name template in the preferences' "chapter editor" section. Additionally the option `--generate-chapters-name-template …` will be passed to mkvmerge in situations when mkvmerge will generate chapters (either because automatic generation is enabled or if chapters are generated for MPLS playlists). Part of the implementation of #2275. * MKVToolNix GUI: chapter editor: if the chapter name template is empty, chapters will be generated without names. Part of the implementation of #2275. * MKVToolNix GUI: chapter editor: added an option to remove all chapter names to the "additional modifications" dialog. Part of the implementation of #2275.
## Bug fixes
* mkvmerge: Matroska reader: fixed wrong timestamps when appending Matroska files where the second Matroska file's first timestamp is bigger than 0. Fixes #2345. * mkvmerge: MP4 reader: fixed division by zero errors during file identification if the timescale is 0 in the `MVHD` atom. * mkvmerge: Windows Television DVR files are now recognized as an unsupported file type. This prevents mis-detection as MPEG-2 with an accompanying flood of error messages. Fixes #2347. * MKVToolNix GUI: info tool: under certain circumstances "cues" were shown at the wrong level (inside the previous master element instead of on level 1). Fixes #2361. * MKVToolNix GUI: job queue: fixed invalid memory handling and consequent crashes when using the "edit in corresponding tool & remove from job queue" option if one of the files in that job contained attached files. Fixes #2368.
## Build system changes
* An AppStream metadata file will be installed in `$prefix/share/metainfo`.
## New features and enhancements * mkvmerge: AV1 parser: updated the code for the finalized AV1 bitstream specification. Part of the implementation of #2261. * mkvmerge: AV1 packetizer: updated the code for the finalized AV1-in-Matroska & WebM mapping specification. Part of the implementation of #2261. * mkvmerge: AV1 support: the `--engage enable_av1` option has been removed again. Part of the implementation of #2261. * mkvmerge: MP4 reader: added support for AV1. Part of the implementation of #2261. * mkvmerge: DTS: implemented dialog normalization gain removal for extension substreams. Implements #2377. * mkvmerge, mkvextract: simple text subtitles: added a workaround for simple text subtitle tracks that don't contain a duration. Implements #2397. * mkvextract: added support for extracting AV1 to IVF. Part of the implementation of #2261. * mkvextract: IVF extractor (AV1, VP8, VP9): precise values will be used for the frame rate numerator & denominator header fields for certain well-known values of the track's default duration. * mkvmerge: VP9: mkvmerge will now create codec private data according to the VP9 codec mapping described in the WebM specifications. Implements #2379. * MKVToolNix GUI: automatic scaling for high DPI displays is activated if the GUI is compiled with Qt ≥ 5.6.0. Fixes #1996 and #2383. * MKVToolNix GUI: added a menu item ("Help" → "System information") for displaying information about the system MKVToolNix is running on in order to make debugging easier. * MKVToolNix GUI: multiplexer, header editor: the user can enter a list of predefined track names in the preferences. She can later select from them in "track name" combo box. Implements #2230.
* MKVToolNix GUI: added an option in the preferences for disabling automatic scaling for high DPI displays. Implements #2415. * MKVToolNix GUI: the GUI will now prevent the system from going to sleep while the job queue is running. This feature is implemented for macOS, Windows and Linux/Unix systems where the `org.freedesktop.login1.Manager` D-Bus interface is available. Implements #2411.
## Bug fixes
* mkvmerge: chapter generation: the start timestamps of chapters generated in intervals was wrong for files whose smallest video timestamp was bigger than 0. Fixes #2432. * mkvmerge: MP4 reader: fixed handling of atoms whose size exceeds the parent atom's size. Fixes #2431. * mkvmerge, MKVToolNix GUI's chapter editor: the chapter name template will now also be used when reading Ogg-style chapter files with empty chapter names. Fixes #2441. * mkvextract: AAC: mkvextract will now write the program config element (PCE) before the first AAC raw data packet if the PCE is present in the `AudioSpecificConfig` structure in the `Codec Private` Matroska element. The PCE carries vital information about the number of channels and is required in certain cases. Fixes #2205 and #2433. * mkvpropedit, MKVToolNix GUI's header editor: in situations when a one-byte space must be covered by a new EBML void element the following element must be moved up instead. If that moved element is a cluster, the corresponding cue entries will now be updated to reflect the cluster's new position. Fixes #2408. * MKVToolNix GUI: Windows: the application manifest is now included properly so that Windows actually recognizes it. See #2415.
Цитата | Quote( MKVToolNix Version 30.0.0 "Interstellar" 2019-01-04)
## New features and enhancements
* mkvextract: WAV extractor: mkvextract will now write W64 files instead of WAV files if the file name extension is `.w64` or if the final file size is bigger than 4 GB, the file size limit for WAV files. Implements #2458. * MKVToolNix GUI: multiplexer: a new button was added next to the "destination file" controls. Clicking it shows a menu with the ten most recently used output directories. Selecting one of them will change the destination file to the selected directory keeping the file name. Implements #2468. * MKVToolNix GUI: multiplexer (preferences): the ten most recently used values for the "relative output directory" and "fixed output directory" settings are now saved. The corresponding settings have been changed into combo boxes allowing quick access to those recent values. * MKVToolNix GUI: multiplexer (preferences): the predefined split sizes and durations can now be customized in the preferences. * MKVToolNix GUI: chapter editor: added an option in the "Chapter editor" menu for appending chapters from an existing file to the currently open editor tab. Part of the implementation of #2439. * MKVToolNix GUI: chapter editor: added an action in the context menu for copying the selected entry and all of its children to another open editor tab. Part of the implementation of #2439.
## Bug fixes
* mkvmerge: all files opened for writing will now be flushed once before they're closed. This ensures the operating system actually writes all cached data to disk preventing data loss in certain situations such as power outages or buggy drivers in combination with suspending the computer. Fixes #2469. * mkvmerge: AAC: under certain conditions 8 channel audio files were taken for 7 channel ones. * MKVToolNix GUI: multiplexer: removing a file added as an "additional part" will no longer cause a crash. Fixes #2461. * source code: fixed compilation with Boost 1.69.0 after API-breaking change to the `boost::tribool` class. Fixes #2460.
» Нажмите, для открытия спойлера | Press to open the spoiler «
* build system: fixed building on non-UTF-8 locales. Fixes #2474. * MKVToolNix GUI: multiplexer: implemented a workaround for drag & drop not working on macOS with Qt 5.12 due to a bug in Qt 5.12. Fixes #2472. * MKVToolNix GUI: chapter editor: when opening a Matroska/WebM file that doesn't contain chapters and later saving chapters back to them, the editor was truncating the file down to a couple of KB in size. This was a regression introduced with the implementation of #2439 in v30.0.0 Fixes #2476.
»» Нажмите, для закрытия спойлера | Press to close the spoiler ««
## New features and enhancements * all programs: added a new option `--abort-on-warnings` that will cause the program to abort after it has emitted the first warning, similar to how it aborts after the first error. Implements #2493. * mkvmerge, mkvextract: when closing files that were opened for writing, cached data will not be flushed to storage automatically anymore. This reverts the workaround implemented for #2469. A new option was added to both programs (`--flush-on-close`) that re-enables flushing for people who are affected by data loss such as described in #2469.
The reason is that automatic flushing causes long delays in processing queues when the output by mkvmerge/mkvextract isn't the final product but just an intermediate result to be processed further.
Implements #2480. * MKVToolNix GUI: multiplexer: the dialog previewing different character sets for text subtitles will now keep the position of the displayed text when switching between character sets. Implements #2489.
* mkvinfo: when sizes are output the size of the element's data portion is output in addition to the element's total size. * MKVToolNix GUI: info tool: the element's data portion is shown as an extra column. * MKVToolNix GUI: multiplexer: added column "Delay" to the track list containing the additional delay to apply during multiplexing. Implements #2506.
Цитата | Quote( Version 33.0.0 "A Little Bit of Madness" 2019-04-12)
## Bug fixes
* mkvinfo: when using the `--size` option, mkvinfo will now report the correctly if an element has an unknown size. Part of the fix of #2530. * MKVToolNix GUI: info tool: clusters with an unknown size will now be read and displayed correctly. Part of the fix of #2530. * MKVToolNix GUI: multiplexer: Windows: trying to open Blu-ray index or playlist files failed when the path to the files contained symbolic links (e.g. when mounting a drive in a sub-folder via Windows' disk management utility). Fixes #2522. * MKVToolNix GUI: multiplexer: if a destination file names ends with a number in parenthesis (e.g. a year such as "(2017)"), that number will not be stripped anymore during the process of ensuring the destination file name is unique. Only those suffixes added automatically in prior attempts to make the file name unique will be removed. Fixes #2521. * MKVToolNix GUI: multiplexer: Windows: the GUI will let the user change the drive letter part of the destination file name freely again and only verify its validity right before starting to mux/adding to the job queue. Before it tried to force that into something valid, often resulting in unintentional paths (such as "C:\ users\ …\ DC\ files\…"). Fixes #2527.
# Version 34.0.0 "Sight and Seen" 2019-05-18 ## Bug fixes * mkvmerge: all subtitle frames are now treated as key frames in order to fix wrong data in source files. Fixes #2541. * mkvmerge: AV1: fixed frame timestamp calculation when reading bitstreams that lack timing information from IVF files. Fixes #2553. * mkvmerge: Matroska reader: fixed an infinite loop that could happen with large video frames and applied timestamp files due to too much data being buffered at the wrong time. Fixes #2550.
## New features and enhancements * mkvmerge: JSON identification: the "codec name" track property will be output as `codec_name`. The JSON schema has been bumped to v12 for this change. * MKVToolNix GUI: job queue: added a new type of action to execute after job completion: deleting source files for of multiplexer jobs. As this is a destructive operation, the action is disabled by default. Implements #869 and #2570. ## Bug fixes...
## New features and enhancements * mkvextract: chapters, tags & cue sheets will now be written to standard output if no file name is given, same as if `-` is given as the file name. * MKVToolNix GUI: job queue: added a new setting in the preferences' "job queue & job status" section that, when enabled, will cause the GUI to remove all output files created by jobs that are either aborted by the user or that end in an error. Implements #2614. ## Bug fixes...
## New features and enhancements * mkvmerge: Blu-ray: when reading an MPLS playlist mkvmerge will look up and use chapter names from the Blu-ray's "track/chapter names" meta data if it exists. Part of the implementation of 2486. * mkvmerge: MP4 reader: if present, cover art images (the `meta.udta.ilist.covr` atom) will be converted into attachments. * MKVToolNix GUI: multiplexer: when adding a playlist from a Blu-ray disc, the disc library meta data will be parsed, and the biggest thumbnail, if present, will be added as a new attachment with name `cover.jpg` (extension depends on thumbnail's extension). Implements #2644. * MKVToolNix GUI: multiplexer: when adding a playlist from a Blu-ray disc, the title from the disc library meta data will be set as the new file title if the disc library meta data contains one & no title has been set yet. * MKVToolNix GUI: multiplexer: the automatically generated destination file name will now be based on the file title if one is set at that point. This works in conjunction with the title being said from the Blu-ray disc library meta data. * MKVToolNix GUI: chapter editor: when reading chapters from an MPLS playlist the GUI will look up and use chapter names from the Blu-ray's "track/chapter names" meta data if it exists. Part of the implementation of 2486. * MKVToolNix GUI: Windows: added a dark mode that's enabled when Windows 10's dark mode is turned on. * translations: added a Bulgarian translation of the programs & the man pages by Симеон Цветков (see `AUTHORS`). ## Bug fixes...
## New features and enhancements * mkvmerge: MP4 reader: added support for BMP covert art images. * MKVToolNix GUI: multiplexer: added an option to disable deriving the destination file name from the file title. Implements #2648. * MKVToolNix GUI: multiplexer: the content of the "stereoscopy" combo box has been simplified making the box's minimum width much smaller, allowing the user to resize the GUI's whole window to a much smaller width. * MKVToolNix GUI: multiplexer: whenever the user changes the "aspect ratio" or "display dimensions" controls, the corresponding radio button will be activated automatically. Implements #2651. * MKVToolNix GUI: Windows: added a setting in the preferences to disable the GUI's dark color mode even if Windows's app color mode is set to dark. Implements #2646. * MKVToolNix GUI: Windows: replaced the dark mode introduced in v39 with another dark mode that's less wasteful with space between widgets. ## Bug fixes...
## New features and enhancements * mkvmerge: Matroska reader: Vorbis tracks: stream comments (aka Vorbis comments) will be converted to Matroska attachments (for cover arts) and Matroska track tags (for other comments). Additionally the stream comments will be removed from Vorbis headers. * mkvmerge: MP4 reader: added support for reading Opus audio from MP4 files. Part of the implementation of #2673. * mkvmerge: MP4 reader: added support for reading VP9 video from MP4 files. Part of the implementation of #2673. * mkvmerge: Ogg reader: Vorbis, Opus & VP8 streams: stream comments (aka Vorbis comments) will be converted to Matroska attachments (for cover arts) and Matroska track tags (for other comments). Additionally the stream comments will be removed from Vorbis headers. * mkvmerge: WAV reader: added support for reading RF64 files. * MKVToolNix GUI: multiplexer: the list of predefined track names is now split up into three lists, one for each track type (audio, video & subtitles). Part of the implementation of #2654. * MKVToolNix GUI: multiplexer: when trying to add thumbnails for a Blu-ray the GUI will determine the thumbnail's pixel size from the thumbnail files if the XML file doesn't contain that information. This works for JPEG and PNG files. Implements #2674. * MKVToolNix GUI: general: line edits & combo boxes will now have a "clear text" button appear whenever they're not empty. Part of the implementation of #2654. * MKVToolNix GUI: update check: the dialog showing the latest news & version information states explicitly where the links take the user (the MKVToolNix `NEWS.md` file and YouTube respectively). ## Bug fixes...
## New features and enhancements * MKVToolNix GUI: using one of the command line options `--info`, `--edit-headers` or `--edit-chapters` will make the GUI select the corresponding tool on startup even if no further file name is given. Implements #2723. * MKVToolNix GUI: multiplexer: added a setting in the preferences for changing the location of the MediaInfo executable for when the user accidentally selected the wrong one. ## Bug fixes
## New features and enhancements * mkvmerge: mkvmerge has never supported appending & splitting FLAC audio tracks. mkvmerge will now emit error messages when the user attempts either instead of continuing and creating invalid FLAC tracks. * MKVToolNix GUI: added an option in the preferences to turn on eliding text on tab headers. If enabled, tab names will be shortened so that all tab headers fit into the window's width. Implements #2768. * MKVToolNix GUI: added an option in the preferences to disable all tooltips. * MKVToolNix GUI: Windows: debug output sent via Qt's to Windows' debugging facility will use a more verbose message format including the application name, making it easier to filter for in SysInternal's "Debug View" utility. * MKVToolNix GUI: multiplexer: if the file identification fails due to a JSON parser error, the output generated by `mkvmerge` will be output via Qt's debugging facility (viewable with SysInternal's "Debug View" utility on Windows; on other systems it's output on `STDERR`) allowing insight into what's gone wrong. * MKVToolNix GUI: multiplexer: if an error occurs during file identification, the name of the processed file will be mentioned in the error message. * MKVToolNix GUI: multiplexer: if an error occurs during identification of multiple files, the GUI will ask the user whether to continue or abort the identification process. Implements #2778. * MKVToolNix GUI: job queue: added an option in the preferences for removing completed jobs when exiting the program depending on their status. Implements #2769. ## Bug fixes
## New features and enhancements * mkvmerge: when splitting, the placeholder `%c` can be used in the destination file name. It'll be replaced by the name of the first chapter in the file. Implements #2791. * mkvmerge: when reading MPLS playlists mkvmerge will include a tag named `SOURCE_ID` in the track's statistics tags that conveys the fact that the source was a Blu-ray and what the track's ID was in the source container. When reading Matroska file existing `SOURCE_ID` tags will be kept. The format used is the same format MakeMKV uses. Implements #2774. * mkvmerge: for audio-only files mkvmerge will now write a cue entry every 500ms instead of every 2s. * MKVToolNix GUI: job actions: split up the option "execute when the job finishes successfully or with warnings" into two separate options: "…when finishes successfully" and "…when exits with warnings". Implements #2798. ## Bug fixes
## New features and enhancements * mkvmerge: chapters: mkvmerge can now read chapters from DVDs if the user specifies the path to a DVD folder structure via the `--chapters …` parameter. By default chapters from the first title will be imported. This can be changed by append `:<title number>` to the file/directory name in the This feature requires mkvmerge to have been built with the `libdvdread` library. Part of the implementation of #2808. * mkvmerge: added `--engage append_and_split_flac` that enables mkvmerge to append and split FLAC tracks, restoring pre-v45 behavior. The resulting tracks will be broken: the official FLAC tools will not be able to decode them and seeking will not work as expected. * MKVToolNix GUI: multiplexer: added support for mkvmerge's new support for reading chapters from DVDs if both have been built with the `libdvdread` library. Part of the implementation of #2808. * MKVToolNix GUI: multiplexer: when deriving languages from file names the GUI will now look for simplified language names instead of the full ones (e.g. instead of looking for "Greek, Modern (1453-)" it would simply look for "Greek"). * MKVToolNix GUI: multiplexer: the options in the "additional command-line options" dialog are now sorted alphabetically. Additionally the `--append-mode` option has been added as one of the only missing global options. * MKVToolNix GUI: chapter editor: the chapter editor can now read chapters from DVDs if MKVToolNix has been build with the `libdvdread` library. Part of the implementation of #2808. * MKVToolNix GUI: header editor: added an option in the preferences for displaying all date & time values in UTC instead of the local time zone. Implements #2814. ## Bug fixes
по ссылке 73я версия. скачал 74ю перейдя на основной сайт в давнлоады.
PRYANIK, 4.06.2023 - 20:57
version 77
* mkvmerge: tracks in the destination file will now be sorted by their type automatically unless the track order is specified with the `--track-order` option. The order is as follows: video tracks first followed by audio & subtitle tracks with other rarely used types of tracks last. Tracks of the same type will be sorted in the same order as their source files occur in the command-line arguments. Note that this doesn't affect file identification. Implements #3545. * MKVToolNix GUI: multiplexer: the default list colors used for distinguishing source files does not include the darkest tier anymore (the ones where one or two components are set to the value 0x3f) as they're hard to distinguish from each other. Only affects new installations, or when the user presses the "reset to default colors" button. Implements #3533. * MKVToolNix GUI: multiplexer: the GUI will now check the state of the 'track enabled' flag of all video, audio & subtitle tracks when starting to multiplex or adding a job to the job queue. If there's no track with its flag turned on for a type, the GUI will turn on the flag for the first track of the type. This behavior can be turned off in the preferences. Implements #3535. * MKVToolNix GUI: header editor: the columns in the tracks/attachments view and the values on the "track type" page will now be updated each time a corresponding property is changed (e.g. when a track's name is changed) instead of showing what's in the file on disk. Implements #3554. * MKVToolNix GUI: macOS: when you install the application from the DMG it'll register itself as an alternate handler for its supported file types. This allows the use of the "Open with" context menu action in Finder. * MKVToolNix GUI: Windows: a new settings in the preferences lets the user chose whether to use the light or the dark color palette, or to follow the system settings. Part of the fix for #3528.