MKVToolNix 歷史版本列表
MKVToolNix 是一套在 Linux 和 Windows 下創建,更改和檢查 Matroska 文件的工具。他們為 Matroska 做了 OGM 工具為 OGM 格式做了些什麼,然後做了一些。它支持處理幾個輸入文件,就好像它們已經被二進制級聯成一個大的輸入文件一樣.8997423 選擇版本:MKVToolNix 19.0.0(32 位)MKVToolNix 19.0.0(64 位) MKVToolNix 軟體介紹MKVToolNix (32-bit)MKVToolNix (64-bit)
更新時間:2017-11-18
更新細節:
What's new in this version:
New features and enhancement:
- build system: when building with clang v3.8.0 or newer, `configure` will no longer restrict optimization flags to `-O1` and use `-O3` again (older versions of clang suffered from excessive memory usage with higher optimization levels)
- build system: when building with mingw 7.2.0 or newer, `configure` will no longer restrict optimization flags to `-O2` and use `-O3` again (older versions of mingw suffered from bugs such as segmentation faults with higher optimization levels)
- build system: stack protection is enabled when building with clang 3.5.0 or newer on all platforms
- mkvmerge: AVC & HEVC ES parsers: performance improvements by copying much less memory around
- mkvmerge: tags: reintroduced a workaround for non-compliant files with tags
- that do not contain the mandatory `SimpleTag` element. This workaround was removed during code refactoring in release v15.0.0.
- GUI: multiplexer: the "AAC is SBR/HE-AAC/AAC+" checkbox in the "audio properties" section will be disabled if the functionality is not implemented for the selected track's codec & container
- GUI: multiplexer: the "reduce to core" checkbox in the "audio properties" section will be disabled if the functionality is not implemented for the selected track's codec
Bug fixes:
- mkvmerge: AAC ADTS parser: fixed interpretation of the `channel_configuration` header element for ADTS files that do not contain a program configuration element: value 7 means 7.1 channels
- mkvmerge: Matroska identification: the `date_local` and `date_utc`attributes will only be output if the identified Matroska file actually contains the "date" header field
- mkvmerge: WebVTT: mkvmerge did not recognize timestamp lines if the hours components were absent mkvpropedit, GUI's header editor: the `date` header field won't be added automatically anymore whenever the segment info section is edited and the `date` element is either deleted or not present in the first place
更新時間:2017-11-18
更新細節:
What's new in this version:
New features and enhancement:
- build system: when building with clang v3.8.0 or newer, `configure` will no longer restrict optimization flags to `-O1` and use `-O3` again (older versions of clang suffered from excessive memory usage with higher optimization levels)
- build system: when building with mingw 7.2.0 or newer, `configure` will no longer restrict optimization flags to `-O2` and use `-O3` again (older versions of mingw suffered from bugs such as segmentation faults with higher optimization levels)
- build system: stack protection is enabled when building with clang 3.5.0 or newer on all platforms
- mkvmerge: AVC & HEVC ES parsers: performance improvements by copying much less memory around
- mkvmerge: tags: reintroduced a workaround for non-compliant files with tags
- that do not contain the mandatory `SimpleTag` element. This workaround was removed during code refactoring in release v15.0.0.
- GUI: multiplexer: the "AAC is SBR/HE-AAC/AAC+" checkbox in the "audio properties" section will be disabled if the functionality is not implemented for the selected track's codec & container
- GUI: multiplexer: the "reduce to core" checkbox in the "audio properties" section will be disabled if the functionality is not implemented for the selected track's codec
Bug fixes:
- mkvmerge: AAC ADTS parser: fixed interpretation of the `channel_configuration` header element for ADTS files that do not contain a program configuration element: value 7 means 7.1 channels
- mkvmerge: Matroska identification: the `date_local` and `date_utc`attributes will only be output if the identified Matroska file actually contains the "date" header field
- mkvmerge: WebVTT: mkvmerge did not recognize timestamp lines if the hours components were absent mkvpropedit, GUI's header editor: the `date` header field won't be added automatically anymore whenever the segment info section is edited and the `date` element is either deleted or not present in the first place
更新時間:2017-10-16
更新細節:
What's new in this version:
Important notes:
- The word "timecode" has been changed to "timestamp" everywhere it was used in MKVToolNix. This affects program output (including mkvinfo's), GUI controls, command line parameters (e.g. `mkvmerge --timestamp-scale …`) and file formats. All programs remain backwards compatible insofar as they still accept "timecode" in all those places (e.g. `mkvmerge --timecode-scale …`)
- The reason for the change is wrong usage. What both the Matroska specification and MKVToolNix used "timecode" for is normally called a "timestamp" in audio & video domains. A "timecode" on the other hand has a specific meaning. As the Matroska specification is moving towards implementing real timecodes, it will also move towards correcting the verbiage. MKVToolNix is following this change
- mkvextract's command line interface has been changed to allow extraction of multiple items at the same time. The first argument must now be the source file's name. All following arguments either set the mode (e.g. `tracks`) or specify what to extract in the currently active mode
- Those items that were written to the standard output (chapters, tags and cue sheets) are now always written to files instead. Therefore the respective modes require an output file name
For example, extracting two tracks, the chapters and the tags can be done with the following command:
- `mkvextract input.mkv tracks 0:video.h265 1:audio.aac chapters chapters.xml tags tags.xml`
- The old interface (specifying the mode first and the source file name second) remains working and supported. However, it is now deprecated and will be removed at the end of 2018
New features and enhancements:
- mkvmerge: AC-3: during identification regular AC-3 and E-AC-3 tracks will now be identified differently for most container formats (exception: AVI, Real Media, Ogg/OGM). The codec will be reported as `AC-3` for regular AC-3 and as `E-AC-3` for E-AC-3 tracks instead of the combined `AC-3/E-AC-3`
- mkvextract: the command line interface has been changed to allow extraction of multiple items at the same time. See section "Important notes" for details
Bug fixes:
- mkvmerge: AAC ADTS parser: mkvmerge will now parse the `program_config_element` if it is located at the start of an AAC frame in order to determine the actual number of channels. This overrides invalid channel configurations in the ADTS headers, for example
- mkvmerge: fixed AC-3 being misdetected as encrypted MPEG program streams under certain conditions
- mkvmerge: Dirac: under certain conditions (e.g. only muxing a single Dirac track without any other tracks) mkvmerge was always setting the pixel width & height to 123. The frame rate was wrong, too
- mkvmerge: E-AC-3 in Matroska: if AC-3 cores and their corresponding E-AC-3 extension are located in two different Matroska blocks, then mkvmerge will now re-assemble them into a single block and only use the first block's timestamp
- mkvmerge: SRT reader: fixed calculating the duration of entries starting with at a negative timestamp
- mkvmerge: VC-1: under certain conditions (e.g. only muxing a single VC-1 track without any other tracks) mkvmerge was always setting the pixel width & height to 123. The frame rate was wrong, too
- mkvmerge: command line options: an error message will be output if the single-value-form of the `--sync` option is used and it isn't a number (e.g. `--sync 0:asd`)
- mkvpropedit, GUI's header editor: both programs will now show proper error messages instead of crashing when certain kinds of data corruption is found when reading a file
更新時間:2017-10-16
更新細節:
What's new in this version:
Important notes:
- The word "timecode" has been changed to "timestamp" everywhere it was used in MKVToolNix. This affects program output (including mkvinfo's), GUI controls, command line parameters (e.g. `mkvmerge --timestamp-scale …`) and file formats. All programs remain backwards compatible insofar as they still accept "timecode" in all those places (e.g. `mkvmerge --timecode-scale …`)
- The reason for the change is wrong usage. What both the Matroska specification and MKVToolNix used "timecode" for is normally called a "timestamp" in audio & video domains. A "timecode" on the other hand has a specific meaning. As the Matroska specification is moving towards implementing real timecodes, it will also move towards correcting the verbiage. MKVToolNix is following this change
- mkvextract's command line interface has been changed to allow extraction of multiple items at the same time. The first argument must now be the source file's name. All following arguments either set the mode (e.g. `tracks`) or specify what to extract in the currently active mode
- Those items that were written to the standard output (chapters, tags and cue sheets) are now always written to files instead. Therefore the respective modes require an output file name
For example, extracting two tracks, the chapters and the tags can be done with the following command:
- `mkvextract input.mkv tracks 0:video.h265 1:audio.aac chapters chapters.xml tags tags.xml`
- The old interface (specifying the mode first and the source file name second) remains working and supported. However, it is now deprecated and will be removed at the end of 2018
New features and enhancements:
- mkvmerge: AC-3: during identification regular AC-3 and E-AC-3 tracks will now be identified differently for most container formats (exception: AVI, Real Media, Ogg/OGM). The codec will be reported as `AC-3` for regular AC-3 and as `E-AC-3` for E-AC-3 tracks instead of the combined `AC-3/E-AC-3`
- mkvextract: the command line interface has been changed to allow extraction of multiple items at the same time. See section "Important notes" for details
Bug fixes:
- mkvmerge: AAC ADTS parser: mkvmerge will now parse the `program_config_element` if it is located at the start of an AAC frame in order to determine the actual number of channels. This overrides invalid channel configurations in the ADTS headers, for example
- mkvmerge: fixed AC-3 being misdetected as encrypted MPEG program streams under certain conditions
- mkvmerge: Dirac: under certain conditions (e.g. only muxing a single Dirac track without any other tracks) mkvmerge was always setting the pixel width & height to 123. The frame rate was wrong, too
- mkvmerge: E-AC-3 in Matroska: if AC-3 cores and their corresponding E-AC-3 extension are located in two different Matroska blocks, then mkvmerge will now re-assemble them into a single block and only use the first block's timestamp
- mkvmerge: SRT reader: fixed calculating the duration of entries starting with at a negative timestamp
- mkvmerge: VC-1: under certain conditions (e.g. only muxing a single VC-1 track without any other tracks) mkvmerge was always setting the pixel width & height to 123. The frame rate was wrong, too
- mkvmerge: command line options: an error message will be output if the single-value-form of the `--sync` option is used and it isn't a number (e.g. `--sync 0:asd`)
- mkvpropedit, GUI's header editor: both programs will now show proper error messages instead of crashing when certain kinds of data corruption is found when reading a file
更新時間:2017-10-02
更新細節:
What's new in this version:
New features and enhancements:
- mkvmerge: MP4 reader: added support for Vorbis
Bug fixes:
- configure: the checks for libEBML and libMatroska have been fixed to require libEBML 1.3.5 and libMatroska 1.4.7 as intended
- mkvmerge: AAC reader: mkvmerge will now emit an error message for AAC files whose header fields imply a sampling frequency or number of channels of 0
- mkvmerge: AVC/h.264 ES parser: fixed the calculation of reference information for P and B frames. This also fixes some P frames being marked as B frames and vice versa
- mkvmerge: AVC/h.264 ES parser: only non-key frames that have the NALU header field `nal_ref_idc` set to 0 will be marked as "discardable" in SimpleBlock` elements
- mkvmerge: HEVC/h.265: the generation of the HEVCC structure stored in CodecPrivate` was wrong in two places: 1. the position of the number of sub-layers was swapped with reserved bits and 2. the VPS/SPS/PPS/SEI lists did not start with a reserved 1 bit
- mkvmerge: output: the `doc type version` will be set at least to 2 if certain elements are written (`CodecState`, `CueCodecState`, FlagInterlaced`)
- mkvmerge: output: the track header attributes `MinCache` and `MaxCache` will not be written anymore
- mkvmerge: Matroska reader: the "key" and "discardable" flags of SimpleBlock elements will be kept as they are
- mkvmerge: Matroska reader: if present in the file, the "white colour coordinate x" track header attribute was written to both "white colour coordinate x" and "white colour coordinate y" in the output file
- mkvmerge: Opus output: mkvmerge will now put all frames with discard padding into their own block group
- MKVToolNix GUI: header editor: removed the check for external modification when saving the file
- MKVToolNix GUI: job queue: fixed calculation of total progress when automatic removal of completed is enabled
Build system changes:
- libEBML v1.3.5 and libMatroska v1.4.8 are now required. In fact v15.0.0 already requires libEBML v1.3.5 and libMatroska v1.4.7 but did not include proper version checks for them (nor was there a NEWS.md entry for the new
- libMatroska requirement). New is the requirement for libMatroska v1.4.8 due to it fixing writing block groups for tracks with the track number 128 (see 2103)
更新時間:2017-10-02
更新細節:
What's new in this version:
New features and enhancements:
- mkvmerge: MP4 reader: added support for Vorbis
Bug fixes:
- configure: the checks for libEBML and libMatroska have been fixed to require libEBML 1.3.5 and libMatroska 1.4.7 as intended
- mkvmerge: AAC reader: mkvmerge will now emit an error message for AAC files whose header fields imply a sampling frequency or number of channels of 0
- mkvmerge: AVC/h.264 ES parser: fixed the calculation of reference information for P and B frames. This also fixes some P frames being marked as B frames and vice versa
- mkvmerge: AVC/h.264 ES parser: only non-key frames that have the NALU header field `nal_ref_idc` set to 0 will be marked as "discardable" in SimpleBlock` elements
- mkvmerge: HEVC/h.265: the generation of the HEVCC structure stored in CodecPrivate` was wrong in two places: 1. the position of the number of sub-layers was swapped with reserved bits and 2. the VPS/SPS/PPS/SEI lists did not start with a reserved 1 bit
- mkvmerge: output: the `doc type version` will be set at least to 2 if certain elements are written (`CodecState`, `CueCodecState`, FlagInterlaced`)
- mkvmerge: output: the track header attributes `MinCache` and `MaxCache` will not be written anymore
- mkvmerge: Matroska reader: the "key" and "discardable" flags of SimpleBlock elements will be kept as they are
- mkvmerge: Matroska reader: if present in the file, the "white colour coordinate x" track header attribute was written to both "white colour coordinate x" and "white colour coordinate y" in the output file
- mkvmerge: Opus output: mkvmerge will now put all frames with discard padding into their own block group
- MKVToolNix GUI: header editor: removed the check for external modification when saving the file
- MKVToolNix GUI: job queue: fixed calculation of total progress when automatic removal of completed is enabled
Build system changes:
- libEBML v1.3.5 and libMatroska v1.4.8 are now required. In fact v15.0.0 already requires libEBML v1.3.5 and libMatroska v1.4.7 but did not include proper version checks for them (nor was there a NEWS.md entry for the new
- libMatroska requirement). New is the requirement for libMatroska v1.4.8 due to it fixing writing block groups for tracks with the track number 128 (see 2103)
更新時間:2017-08-19
更新細節:
What's new in this version:
Important notes:
- mkvmerge, mkvpropedit, GUI's header and chapter editors: the programs will no longer add most missing Matroska elements that are mandatory but have a default value in the Matroska specification (e.g. the `TagLanguage` element with a value of `und` if it isn't present in its `SimpleTag` parent). Due to this change libEBML v1.3.5 is now required
New features and enhancements:
- MKVToolNix GUI: multiplex tool: added a new entry to the "source files" context menu labeled "Set destination file name from selected file's name". It will force the GUI to consider the selected file to be the reference for automatically setting the file name, no matter which file was originally added as the first file. It will also force setting the destination file name once if automatic destination file name generation is turned off in the preferences. Implements part of
- MKVToolNix GUI: multiplex tool: added an option in the preferences on "Multiplexer" → "Output" labeled "Only use the first source file that contains a video track". If enabled, only source files containing video tracks will be used for setting the destination file name. Other files that are added are ignore. Implements the rest of
- MKVToolNix GUI: header editor: added support for editing the video colour attributes. Implements the second half of
- MKVToolNix GUI: header editor: added support for the "video projection" track header attributes. Part of the implementation of
- MKVToolNix GUI: job queue: selected jobs can now be move up and down by pressing the `Ctrl+Up` and `Ctrl+Down` keys. Additionally, push buttons to move them up & down are shown if the corresponding option is enabled in the preferences
- mkvmerge: added support for the "video projection" track header attributes. Part of the implementation of
- mkvinfo: added support for the "video projection" track header attributes. Part of the implementation of
- mkvpropedit: added support for editing the video colour attributes. Implements one half of
- mkvpropedit: added support for the "video projection" track header attributes. Part of the implementation of
Bug fixes:
- all: selecting the program's language (e.g. via the `--ui-language` command-line option or via the GUI's preferences) did not work on Linux & Unix if the `LANGUAGE` environment variable was set and didn't include the desired language
- MKVToolNix GUI: removed the keyboard shortcuts for switching between the different tools (e.g. `Ctrl+Alt+1` for the multiplexer). They overlapped with basic functionality on keyboards that use an `AltGr` key, e.g. German ones, where `AltGr+7` emits `{`. As `AltGr+key` is implemented as `Ctrl+Alt+key` under the hood, this means that `AltGr+7` is really `Ctrl+Alt+7` which the GUI now took to mean "switch to the job queue" instead of "insert `{`"
- MKVToolNix GUI: header editor: after saving the file the GUI wasn't updating its internal file modification timestamp. That lead to the GUI wrongfully claiming that the file had been modified externally when the user wanted to save the file once more, requiring a reload of the file losing all modifications made since saving the first time mkvmerge: DTS 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 on frame duration after frame number `n - 1` (the second audio timestamp read from the source file was used one output frame too early)
- mkvinfo: fixed a null pointer dereference if an `EbmlBinary` element's data pointer is a null pointer
Build system changes:
- configure: added option `--disable-update-check`. If given, the code checking online for available updates will be disabled. The update check is enabled and included in the GUI by default.
- libEBML v1.3.5 is now required
Other changes:
mkvmerge: the option `--colour-matrix` has been renamed to `--colour-matrix-coefficients` in order to match the specification more closely. The old option name will continue to be recognized as well
更新時間:2017-08-19
更新細節:
What's new in this version:
Important notes:
- mkvmerge, mkvpropedit, GUI's header and chapter editors: the programs will no longer add most missing Matroska elements that are mandatory but have a default value in the Matroska specification (e.g. the `TagLanguage` element with a value of `und` if it isn't present in its `SimpleTag` parent). Due to this change libEBML v1.3.5 is now required
New features and enhancements:
- MKVToolNix GUI: multiplex tool: added a new entry to the "source files" context menu labeled "Set destination file name from selected file's name". It will force the GUI to consider the selected file to be the reference for automatically setting the file name, no matter which file was originally added as the first file. It will also force setting the destination file name once if automatic destination file name generation is turned off in the preferences. Implements part of
- MKVToolNix GUI: multiplex tool: added an option in the preferences on "Multiplexer" → "Output" labeled "Only use the first source file that contains a video track". If enabled, only source files containing video tracks will be used for setting the destination file name. Other files that are added are ignore. Implements the rest of
- MKVToolNix GUI: header editor: added support for editing the video colour attributes. Implements the second half of
- MKVToolNix GUI: header editor: added support for the "video projection" track header attributes. Part of the implementation of
- MKVToolNix GUI: job queue: selected jobs can now be move up and down by pressing the `Ctrl+Up` and `Ctrl+Down` keys. Additionally, push buttons to move them up & down are shown if the corresponding option is enabled in the preferences
- mkvmerge: added support for the "video projection" track header attributes. Part of the implementation of
- mkvinfo: added support for the "video projection" track header attributes. Part of the implementation of
- mkvpropedit: added support for editing the video colour attributes. Implements one half of
- mkvpropedit: added support for the "video projection" track header attributes. Part of the implementation of
Bug fixes:
- all: selecting the program's language (e.g. via the `--ui-language` command-line option or via the GUI's preferences) did not work on Linux & Unix if the `LANGUAGE` environment variable was set and didn't include the desired language
- MKVToolNix GUI: removed the keyboard shortcuts for switching between the different tools (e.g. `Ctrl+Alt+1` for the multiplexer). They overlapped with basic functionality on keyboards that use an `AltGr` key, e.g. German ones, where `AltGr+7` emits `{`. As `AltGr+key` is implemented as `Ctrl+Alt+key` under the hood, this means that `AltGr+7` is really `Ctrl+Alt+7` which the GUI now took to mean "switch to the job queue" instead of "insert `{`"
- MKVToolNix GUI: header editor: after saving the file the GUI wasn't updating its internal file modification timestamp. That lead to the GUI wrongfully claiming that the file had been modified externally when the user wanted to save the file once more, requiring a reload of the file losing all modifications made since saving the first time mkvmerge: DTS 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 on frame duration after frame number `n - 1` (the second audio timestamp read from the source file was used one output frame too early)
- mkvinfo: fixed a null pointer dereference if an `EbmlBinary` element's data pointer is a null pointer
Build system changes:
- configure: added option `--disable-update-check`. If given, the code checking online for available updates will be disabled. The update check is enabled and included in the GUI by default.
- libEBML v1.3.5 is now required
Other changes:
mkvmerge: the option `--colour-matrix` has been renamed to `--colour-matrix-coefficients` in order to match the specification more closely. The old option name will continue to be recognized as well
更新時間:2017-07-23
更新細節:
What's new in this version:
New features and enhancements:
- mkvmerge: AAC: implemented support for AAC with 960 samples per frame
- mkvmerge: identification: if the encoding/character set of a text subtitle track is known (e.g. because a byte order mark is present in the file), then it will be output during identification as the `encoding` property
- mkvmerge: WAV reader: added support for Wave64 files
- mkvmerge, mkvpropedit, MKVToolNix GUI (chapter editor): added support for chapters in WebM files that is spec-compliant by removing all tag elements not supported by the WebM spec
- mkvpropedit: added support for tags in WebM files that is spec-compliant by removing all tag elements not supported by the WebM spec
- MKVToolNix GUI: multiplexer: if the encoding/character set of a subtitle track cannot be changed, the GUI will deactivate the "subtitle character set" drop-down box and ignore changes to it when multiple tracks are selected. Additionally, if the track's encoding is known and cannot be changed (e.g. due to a byte order mark in the file), that encoding will be selected in the drop down box automatically. Both changes signal to the user that she doesn't have to take care of the encoding herself
- MKVToolNix GUI: chapter editor: added a function to the "additional modifications" dialog for calculating and setting the end timestamps
- MKVToolNix GUI: changed the shortcuts for switching between the various tools from `Alt+number` (e.g. `Alt+1` for the multiplexer tool) to Ctrl+Alt+number` in order to avoid clashing with Windows' input method for arbitrary characters (pressing and holding `Alt` and typing the codepoint on the number pad)
- MKVToolNix GUI: added a "Window" menu and entries with shortcuts for selecting the next (`Ctrl+F6`) respectively previous tab (`Ctrl+Shift+F6`) in the current tool
- MKVToolNix GUI: on Windows the GUI will now determine the default font to use by querying Windows for the default UI/message box font instead of using the hardcoded `Segoe UI`. This might fix issues such as #2003 (unverified). translations: added a Romanian translation of the programs by Daniel (see AUTHORS)
Bug fixes:
- mkvmerge: AVC/h.264 parser: fixed wrong frame order & timestamp calculation in certain situations when SPS (sequence parameter sets) or PPS (picture parameter sets) change mid-stream
- mkvmerge: HEVC/h.265 parser: fixed wrong frame order & timestamp calculation in certain situations when SPS (sequence parameter sets) or PPS (picture parameter sets) change mid-stream
- mkvmerge: MPEG-1/-2 video: the "remove stuffing bytes" feature introduced in v5.8.0 (feature request #734) was broken. In a lot of situations it did not detect the end of a slice correctly and removed 0 bytes that were actually part of the slice structure. Often there were no visual problems as decoders were able to ignore such errors, but in other cases there are visual artifacts upon decoding. As detecting the slice end properly requires parsing the whole slice structure, this feature has been removed again
- mkvmerge: MPEG PS reader: fixed mkvmerge trying to handle an "end" code the same way as a "program stream map" code
- mkvmerge: MPEG TS reader: mkvmerge won't emit warnings if the system's iconv` library doesn't support the ISO 6937 character set
- mkvmerge: when appending fails the error message details (e.g. "the number of channels differs: 1 and 2") were often not output
- MKVToolNix GUI: multiplex tool: implemented a workaround for a crash that could occur during drag & drop if at least one of the columns is hidden
- MKVToolNix GUI: multiplex tool: appended tracks can no longer be enabled selected for multiplexing) if the track they're going to be appended to is not enabled
- MKVToolNix GUI: multiplex tool: if the GUI is set to ensure unique output file names, it will now verify that right before starting to multiplex/adding the job to the queue, too
- MKVToolNix GUI: fixed the total progress reverting to 0% instead of staying at 100% when all jobs have finished. This was introduced by the attempt at fixing the computation of the value of total progress bar for multiple jobs running. Fixes #2005. configure: fixed DocBook detection if `/bin/sh` is `dash`
Build system changes:
- Boost: the minimum required version has been bumped to 1.49.0. Earlier releases fail to build on my current systems and will therefore not be supported anymore. configure: when looking for the "nlohnmann JSON" include files configure will now try the path "nlohmann/json.hpp" first, "json.hpp" second (only "json.hpp" was tried before). If neither is found, the copy included in the MKVToolNix sources will be used
更新時間:2017-07-23
更新細節:
What's new in this version:
New features and enhancements:
- mkvmerge: AAC: implemented support for AAC with 960 samples per frame
- mkvmerge: identification: if the encoding/character set of a text subtitle track is known (e.g. because a byte order mark is present in the file), then it will be output during identification as the `encoding` property
- mkvmerge: WAV reader: added support for Wave64 files
- mkvmerge, mkvpropedit, MKVToolNix GUI (chapter editor): added support for chapters in WebM files that is spec-compliant by removing all tag elements not supported by the WebM spec
- mkvpropedit: added support for tags in WebM files that is spec-compliant by removing all tag elements not supported by the WebM spec
- MKVToolNix GUI: multiplexer: if the encoding/character set of a subtitle track cannot be changed, the GUI will deactivate the "subtitle character set" drop-down box and ignore changes to it when multiple tracks are selected. Additionally, if the track's encoding is known and cannot be changed (e.g. due to a byte order mark in the file), that encoding will be selected in the drop down box automatically. Both changes signal to the user that she doesn't have to take care of the encoding herself
- MKVToolNix GUI: chapter editor: added a function to the "additional modifications" dialog for calculating and setting the end timestamps
- MKVToolNix GUI: changed the shortcuts for switching between the various tools from `Alt+number` (e.g. `Alt+1` for the multiplexer tool) to Ctrl+Alt+number` in order to avoid clashing with Windows' input method for arbitrary characters (pressing and holding `Alt` and typing the codepoint on the number pad)
- MKVToolNix GUI: added a "Window" menu and entries with shortcuts for selecting the next (`Ctrl+F6`) respectively previous tab (`Ctrl+Shift+F6`) in the current tool
- MKVToolNix GUI: on Windows the GUI will now determine the default font to use by querying Windows for the default UI/message box font instead of using the hardcoded `Segoe UI`. This might fix issues such as #2003 (unverified). translations: added a Romanian translation of the programs by Daniel (see AUTHORS)
Bug fixes:
- mkvmerge: AVC/h.264 parser: fixed wrong frame order & timestamp calculation in certain situations when SPS (sequence parameter sets) or PPS (picture parameter sets) change mid-stream
- mkvmerge: HEVC/h.265 parser: fixed wrong frame order & timestamp calculation in certain situations when SPS (sequence parameter sets) or PPS (picture parameter sets) change mid-stream
- mkvmerge: MPEG-1/-2 video: the "remove stuffing bytes" feature introduced in v5.8.0 (feature request #734) was broken. In a lot of situations it did not detect the end of a slice correctly and removed 0 bytes that were actually part of the slice structure. Often there were no visual problems as decoders were able to ignore such errors, but in other cases there are visual artifacts upon decoding. As detecting the slice end properly requires parsing the whole slice structure, this feature has been removed again
- mkvmerge: MPEG PS reader: fixed mkvmerge trying to handle an "end" code the same way as a "program stream map" code
- mkvmerge: MPEG TS reader: mkvmerge won't emit warnings if the system's iconv` library doesn't support the ISO 6937 character set
- mkvmerge: when appending fails the error message details (e.g. "the number of channels differs: 1 and 2") were often not output
- MKVToolNix GUI: multiplex tool: implemented a workaround for a crash that could occur during drag & drop if at least one of the columns is hidden
- MKVToolNix GUI: multiplex tool: appended tracks can no longer be enabled selected for multiplexing) if the track they're going to be appended to is not enabled
- MKVToolNix GUI: multiplex tool: if the GUI is set to ensure unique output file names, it will now verify that right before starting to multiplex/adding the job to the queue, too
- MKVToolNix GUI: fixed the total progress reverting to 0% instead of staying at 100% when all jobs have finished. This was introduced by the attempt at fixing the computation of the value of total progress bar for multiple jobs running. Fixes #2005. configure: fixed DocBook detection if `/bin/sh` is `dash`
Build system changes:
- Boost: the minimum required version has been bumped to 1.49.0. Earlier releases fail to build on my current systems and will therefore not be supported anymore. configure: when looking for the "nlohnmann JSON" include files configure will now try the path "nlohmann/json.hpp" first, "json.hpp" second (only "json.hpp" was tried before). If neither is found, the copy included in the MKVToolNix sources will be used