View Full Version : MKVToolNix v24.0.0 released
ndjamena
1st January 2016, 07:14
You should check out a file muxed with global tags/tags for track 0 on the WDTV then. After 5 min max it stops playing and only remuxing will fix this.
When did that start? I filled all my files with an abundance of tags before I discovered how unreadable the specs were and my WDTV SMP never even flinched.
(most files stopped playing part way through (mp4 or mkv) using the latest firmware, that's why I'm back to using the previous firmare, which apparently I'm stuck with now til death do us part.)
Chetwood
2nd January 2016, 06:31
Don't know. Since the tags were introduced I've been muxing without them to insure standalone compatibility (and it's not that I actually need them, I've been doing fine all the time before), so I never realized this. It was only till the other day when a friend came over and we watched one of his MKVs.
SeeMoreDigital
2nd January 2016, 11:01
Don't know. Since the tags were introduced I've been muxing without them to insure standalone compatibility (and it's not that I actually need them, I've been doing fine all the time before), so I never realized this. Same here. Since none of my hardware playback devices make use of the tags, I mux without them...
Mosu
3rd January 2016, 14:49
Hey,
today I've implemented a third optional layout for the track properties: again to the right of the "files" and "tracks" lists but all groups in two fixed columns. This results in a somewhat wider window but also provides a better overview over all settings. You can switch between the layouts in the "merge" section of the preferences.
I'd like some feedback on this feature which is available in pre-builds 1099 (32bit) and 1100 (64bit) (https://mkvtoolnix.download/windows/pre/), especially regarding two different aspects:
Most of you here are what I'd call power users. Do you personally like it? If not, why not?
Now consider the average user or a user new to MKVToolNix. Which of the three layouts available would you consider best when a user starts the GUI for the first time?
Thanks :)
sneaker_ger
3rd January 2016, 15:47
I like the first setting ("scrollable column on the right of the files and tracks") best.
Why?
I usually don't maximize the window because drag&drop et al. are easier when I can see both the mkvtoolnix GUI and the explorer with my files in the background. Does it mean I have to scroll the track options? Actually, no. The options I need 99% of the time are visible without scrolling anyways. This is the biggest plus compared to the old MMG, IMHO. Naturally, the third option is not for me, unless I want to edit files with long track names etc.
I think the new (second) layout is probably well suited for people who maximize the window (usually with dual displays?). Not for me, but I can see when it might come in handy.
As for new users:
The biggest problem for them is the pure mass of options they get to see. It can be overwhelming. Not sure which of the three layouts would be best suited for them, though. I think the scrolling one might still look the cleanest.
AYColumbia
4th January 2016, 01:42
It's hard to say for new users other than, if they're using MKVToolNix, they're advanced enough to deal with either interface.
Personally, I like how you have it currently. I prefer to see as much info as possible. So order of preferences for me:
- two fixed columns
- tabs below
- scrollable list
For me, the scrollable list is a big waste of "real estate" as labels, inputs, combos, etc. don't need to be that wide. Maybe consider, in that view, to take a 3rd of it and add more to the left side. Just a thought. :)
Also, would love to see these "layouts" available in a pull-down list on the UI or maybe in a "Layout" menu between Merge and Help to change the layout instantly. Thanks a lot for continuing to improve this app. :D
Mosu
4th January 2016, 11:33
For me, the scrollable list is a big waste of "real estate" as labels, inputs, combos, etc. don't need to be that wide. Maybe consider, in that view, to take a 3rd of it and add more to the left side. Just a thought. :)
There are splitters between the left side (files & tracks) and the properties as well as between the files and the tracks lists. You can adjust their position manually (within limits; all controls have a certain minimum size). This means that you could give the tracks list twice the space the files list has and assign the left side tripple the space of the track properties if the window is large enough.
Boulder
4th January 2016, 12:15
If you want to make an easy way for newbies to use the program, why not create a simple wizard for simple (re)muxing tasks? I have to admit that the first time I saw the GUI long ago, I was very unsure of what I should do :)
Mosu
4th January 2016, 12:55
I don't want to make it really easy for newbies. That's not my mission. Creating files correctly isn't trivial, and a wizard would only help so much. For example: adding text subtitles requires the user knows stuff about character sets and encodings.
I'd rather produce more tutorial videos (https://www.youtube.com/user/mbunkus/videos) (probably with audio this time around). That allows one to focus on certain topics, e.g. the handling of subtitles.
A wizard would become pretty complicated pretty quickly. Sure, the basics are trivial: "first select a file to add. Oh, I see you have an audio track here. Do you want to set its language? Give it a description maybe? And what about the whole movie – a title perhaps? You could add more files, you know." But as soon as subtitles come into the picture it gets complicated. "Here's a 200 word introduction to character sets and encodings. Understood everything? Great, now select the correct character set."
And where does "simple remuxing" end? "Yo, my ACME Corporation TV doesn't play this Matroska file! Your wizard sucks!" Yeah… now you need the full power of all those settings. "You've added a file that might belong to a Blu-ray disc. Want me to scan the whole disc?" That's something that the GUI does already, but everything would have to integrated into one huge, complex wizard. More or less two separate implementations for the "merge" tool.
I'm not saying it couldn't work. It surely could. But it would be a chore for me, definitely not fun, and I'm not even certain it would have that much of an advantage over simple, short introduction videos.
sneaker_ger
4th January 2016, 15:16
For me, the scrollable list is a big waste of "real estate" as labels, inputs, combos, etc. don't need to be that wide. Maybe consider, in that view, to take a 3rd of it and add more to the left side. Just a thought. :)
Which pre-version are you using?
For me the right bar of the first layout would sometimes get stuck being way too big. I was just about to file a bug report but it seems Mosu already fixed it in the newest pre.
What I currently don't like is how the track info columns all get reset once you add another file. Really annoying, especially the default/forced track columns become extremely wide because of their names although they only have these little red/green signs. It would be nice to directly edit in the columns, btw. Like double-click the "forced" sign and it would switch to the other value. A small drop-down for languages, at least the common ones.
Mosu
4th January 2016, 17:00
Re "track properties in scroll area too wide": this was indeed the case in the very first pre-build that included the change. It only happened when you switched from the two-column layout to the scroll area layout. As soon as you restarted the program you could make the scroll area layout narrower again. It's also been fixed in the meantime as you've mentioned.
Re "re-sizing the columns": This is something I've been struggling with for the past couple of months (from the perspective of the developer). Ideally the program would remember the sizes of all columns if the user changes them manually. However, detecting this is really difficult. Qt provides a signal that is emitted whenever column widths change, but that change can occur for multiple reasons: the user has manually changed it, or its size has been forced by the GUI itself. The signal is even emitted when the control is set up and still completely empty!
Therefore I cannot save the column widths the moment they're changed (at least I haven't found a reliable way to distinguish between user-triggered resizing and program-triggered).
What I could do is to save them when the program exits. This has the drawback then anything in between uses the old values. For example, you have a merge tab open, add some files, change some column widths, then open another merge tag. At that point the changed column widths haven't been saved yet, hence the new tab will user other values. And even if I saved on exiting the program – which values would I use if multiple tabs are open? The first tab's? The last one's?
Another problem is that if I don't adjust the column widths automatically then the default width will be used (100 pixels if I'm not mistaken). So the first time the user starts the program and adds files (s)he will see a very dense view that's not easily readable.
So you see the problem isn't that easy to solve :( I'd really like to; I just don't know how exactly.
Re "editing values directly in the track list": I'm pretty undecided and have been for a long while. There are arguments in favor and some against. It's also not so easy to implement properly if you want it to be editable via keyboard as well, and that would be a must for me. I won't implement this mouse-only.
Mosu
4th January 2016, 17:01
BTW: Thanks for all the feedback so far, everyone. Keep it coming :)
Boulder
4th January 2016, 17:23
I have an input file from which the TrueHD track doesn't seem to be recognized by mkvmerge. I'm still recovering my videos from my media player archives so this one is a two-part MKV file which has been split using the Link files option.
This is what mkvinfo says about the second part:
+ EBML head
|+ EBML version: 1
|+ EBML read version: 1
|+ EBML maximum ID length: 4
|+ EBML maximum size length: 8
|+ Doc type: matroska
|+ Doc type version: 2
|+ Doc type read version: 2
+ Segment, size 834433118
|+ Seek head (subentries will be skipped)
|+ EbmlVoid (size: 4029)
|+ Segment information
| + Timecode scale: 1000000
| + Muxing application: libebml v1.2.3 + libmatroska v1.3.0
| + Writing application: mkvmerge v5.7.0 ('The Whirlwind') built on Jul 10 2012
18:39:26
| + Duration: 1072.489s (00:17:52.489)
| + Date: Thu Aug 02 03:05:51 2012 UTC
| + Segment UID: 0x9b 0x79 0xc1 0x91 0x1c 0xc1 0x0c 0x16 0x83 0xa9 0xc5 0xf3 0x
c 0xcf 0x1c 0x2f
| + Next segment UID: 0xaa 0x61 0x48 0x63 0x9b 0x32 0x9c 0x30 0xb3 0x90 0x28 0x
f 0xb7 0xec 0x1a 0x9c
| + Previous segment UID: 0xaf 0xdf 0xc1 0xcf 0x03 0xc5 0x5a 0xa2 0x9b 0x23 0xf
0xde 0x1a 0x2c 0x7b 0xd3
|+ Segment tracks
| + A track
| + Track number: 1 (track ID for mkvmerge & mkvextract: 0)
| + Track UID: 8173216859290468522
| + Track type: video
| + Lacing flag: 0
| + MinCache: 1
| + Codec ID: V_MPEG4/ISO/AVC
| + CodecPrivate, length 46 (h.264 profile: High @L4.1)
| + Default duration: 41.708ms (23.976 frames/fields per second for a video tr
ck)
| + Language: und
| + Video track
| + Pixel width: 1280
| + Pixel height: 528
| + Display width: 1280
| + Display height: 528
| + A track
| + Track number: 2 (track ID for mkvmerge & mkvextract: 1)
| + Track UID: 8191596950013731458
| + Track type: audio
| + MinCache: 1
| + Codec ID: A_TRUEHD
| + Audio track
| + Sampling frequency: 48000
| + Channels: 6
| + A track
| + Track number: 3 (track ID for mkvmerge & mkvextract: 2)
| + Track UID: 15392436905305701051
| + Track type: subtitles
| + Lacing flag: 0
| + Codec ID: S_HDMV/PGS
| + Language: fin
| + Content encodings
| + Content encoding
| + Content compression
|+ EbmlVoid (size: 1132)
|+ Chapters
| + EditionEntry
| + EditionFlagHidden: 0
| + EditionFlagDefault: 0
| + EditionUID: 4572585569313503892
| + ChapterAtom
| + ChapterUID: 10256582477866524061
| + ChapterTimeStart: 01:40:06.959000000
| + ChapterFlagHidden: 0
| + ChapterFlagEnabled: 1
| + ChapterDisplay
| + ChapterString: 01:39:44.228
| + ChapterLanguage: eng
| + ChapterAtom
| + ChapterUID: 9039299565280919211
| + ChapterTimeStart: 01:49:59.218000000
| + ChapterFlagHidden: 0
| + ChapterFlagEnabled: 1
| + ChapterDisplay
| + ChapterString: 01:49:59.218
| + ChapterLanguage: eng
|+ EbmlVoid (size: 795)
|+ Cluster
If I try to append the two parts, the second one seems to be missing the audio track. At least it doesn't appear in the list of tracks even if I just add the MKV file separately. I've not come across this kind of an issue before.
sneaker_ger
4th January 2016, 17:50
I just splitted and re-merged a TrueHD file without problems so it does not appear to be a general problem. I suggest you upload samples.
Mosu
4th January 2016, 18:28
@Boulder: yes, I'll need a file for which this fails, please.
Boulder
4th January 2016, 18:30
How large files can you host on your FTP server? The file in question in 795 MB, I probably cannot cut it because mkvmerge doesn't recognize the TrueHD track :)
Mosu
4th January 2016, 19:03
Don't worry, I have more than a TB of space left :)
Boulder
4th January 2016, 19:04
Don't worry, I have more than a TB of space left :)OK, I'll upload the file right away..
Boulder
4th January 2016, 19:28
It's done, hope you'll find out something useful.
Mosu
4th January 2016, 19:33
Thank you very much.
Mosu
4th January 2016, 21:14
@Boulder: fixed in the latest pre-builds (https://mkvtoolnix.download/windows/pre/). Thanks again for the file.
Boulder
4th January 2016, 21:47
No problem, happy to help as always. I'll put the pre-build into good use as there's still a lot of videos to process :)
AYColumbia
5th January 2016, 00:56
There are splitters between the left side (files & tracks) and the properties as well as between the files and the tracks lists. You can adjust their position manually (within limits; all controls have a certain minimum size). This means that you could give the tracks list twice the space the files list has and assign the left side tripple the space of the track properties if the window is large enough.
Yup, I noticed that, however, as you say, it was limited in how far it goes to the right. Either way, I like having the layout options. :)
Which pre-version are you using?
For me the right bar of the first layout would sometimes get stuck being way too big. I was just about to file a bug report but it seems Mosu already fixed it in the newest pre.
...
I used the one linked to by Mosu initially, i.e., 1100. I should have grabbed the latest but wasn't sure and didn't have a lot of time then. I'll pull down the latest if I have some time to look tonight or tomorrow night.
AYColumbia
6th January 2016, 00:15
Latest pre-build scrollable looks great. I still prefer the two-column though. :)
BTW, it would be nice to have a UI reset of some sort that resets the UI back to default settings without having to manually deleting the INI file. Thanks for considering it.
Overdrive80
6th January 2016, 14:19
#Cosmetics Request.
* Name of tabs on 'merge' option is independent of output name´s. For files with large names is very hard look for one job/task. Like that:
http://s6.postimg.org/7vmcyu6rl/Captura_de_pantalla_2016_01_06_14_10_01.png
Boulder
6th January 2016, 14:25
I've also one request for the GUI: it would be nice if you could change the language of track via a right mouse button quick menu or a drop-down selection in the "Tracks, chapters.." sheet. Currently you need to select the track and then head over to the Properties sheet to change the language.
Mosu
6th January 2016, 20:40
BTW, it would be nice to have a UI reset of some sort that resets the UI back to default settings without having to manually deleting the INI file. Thanks for considering it.
Won't do it, sorry. First of all it's a lot of work, second users would then want to reset only certain parts but not others etc. I also don't think it's of much use (meaning nothing a lot of users would use regularly).
Mosu
6th January 2016, 20:43
Name of tabs on 'merge' option is independent of output name´s. For files with large names is very hard look for one job/task.
Won't do that either, sorry. Naming them only after an arbitrary number would become confusing quickly. And annoying: "which tab was the one with Star Trek? *click* nope *click other* neither this one *click* ah found it". And what happens when you close tab 1? Would tab 2 suddenly be renamed tab 1 (of course not, it would be even more confusing)? So leave numbers empty? Nah, I don't like it at all.
Mosu
6th January 2016, 20:44
I've also one request for the GUI: it would be nice if you could change the language of track via a right mouse button quick menu or a drop-down selection in the "Tracks, chapters.." sheet. Currently you need to select the track and then head over to the Properties sheet to change the language.
As I've said earlier in a response to Sneaker_ger: maybe, but not any time soon.
mariner
10th January 2016, 11:18
Problem loading large ac3 file
Greetings mosu.
Appreciate if you could kindly help with the issue of mkvmerge hanging when loading large ac3 files. These are ffmpeg generated 2 channel 48k 640k ac3 files, with duration greater than 4hrs.
Many thank and best regards.
Mosu
10th January 2016, 11:31
Hey,
a new year, a new release – v8.8.0. Only ten days since 8.7.0, but a lot of users are hitting a regression in 8.7.0 that makes mkvmerge crash. The user-visible result is that the GUI (wrongfully) claims that the mkvmerge executable couldn't be found. The underlying cause is a bug in the TrueHD detection code wrongfully thinking a file is indeed a TrueHD file while it actually isn't – e.g. it's happened with MPEG 2 video files, DTS files, h.264/AVC files etc.
Still, several enhancements and new features have been implemented in these ten days as well. Therefore this release is 8.8.0 and not 8.7.1.
Nothing has changed for package maintainers compared to v8.7.0.
Here are the usual links: the MKVToolNix home page (https://mkvtoolnix.download/), the Windows installer and portable version (http://www.fosshub.com/MKVToolNix.html) and the source code (https://mkvtoolnix.download/source.html).
The Windows and Mac OS binaries are available. Most of the Linux binaries are still being built and will be available in a couple of hours.
Here's the full ChangeLog (https://mkvtoolnix.download/doc/ChangeLog) since the previous release:
2016-01-10 Moritz Bunkus <moritz@bunkus.org>
* Released v8.8.0.
2016-01-09 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: "run program after XYZ" enhancement: added a button for executing the program right now as a test run. See #1570 (https://github.com/mbunkus/mkvtoolnix/issues/1570).
* MKVToolNix GUI: "run program after XYZ" enhancement: an error message is shown if the program couldn't be executed. See #1570 (https://github.com/mbunkus/mkvtoolnix/issues/1570).
* MKVToolNix GUI: "run program after XYZ" enhancement: any leading spaces in the executable path are removed in order to make copying & pasting less error-prone.
* MKVToolNix GUI: "run program after XYZ" bug fix: the paths used in the variables and the executable are converted to the platforms native path separators. This fixes compatibility with Windows applications that don't support the use of forward slashes in path names like e.g. VLC. See #1570 (https://github.com/mbunkus/mkvtoolnix/issues/1570).
2016-01-08 Moritz Bunkus <moritz@bunkus.org>
* mkvpropedit: enhancement: mkvpropedit will accept terminology variants of ISO 639-2 language codes and convert them to the bibliographic variants automatically. Implements #1565 (https://github.com/mbunkus/mkvtoolnix/issues/1565).
2016-01-06 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: enhancement: the GUI's default font's size is now scaled with the screen's DPI and is at least 9 points high (up from 8). Additionally on Windows "Segoe UI", which is Windows' default user interface font, is used instead of the default provided by Qt, "MS Shell Dlg 2".
* MKVToolNix GUI: enhancement: the user can select the font family and size for the GUI in the preferences.
2016-01-04 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: fixed TrueHD detection both as raw streams as well as inside other contains if the stream does not start with a TrueHD sync frame.
2016-01-03 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: new merge tool feature: added a layout for the track properties where they're on the right of the files/tracks lists in two fixed columns. Implements #1526 (https://github.com/mbunkus/mkvtoolnix/issues/1526).
2016-01-02 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: fixed a mis-detection of an MPEG-2 video elementary stream as a TrueHD file which then caused a segmentation fault. Fixes #1559 (https://github.com/mbunkus/mkvtoolnix/issues/1559).
* mkvmerge: bug fix: Matroska attachments with the same name, size and MIME type were not output during file identification.
* MKVToolNix GUI: merge tool enhancement: added a column to the "attachments" tab containing the file size.
* MKVToolNix GUI: enhancement: pressing the insert key when the focus is on the merge tool's source files or attachments list, on the chapter editor's chapter list or on the header editor's list will invoke the corresponding action for adding elements to that list.
2016-01-01 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: merge tool bug fix: when using one of the "select all tracks (of type…)" actions the "properties" column didn't show the selection.
* MKVToolNix GUI: new feature: implemented adding, changing and removing attachments in existing Matroska files as part of the header editor. Implements #1533 (https://github.com/mbunkus/mkvtoolnix/issues/1533).
Have fun :)
LeMoi
10th January 2016, 12:10
Windows SmartScreen doesn't allow the setup file to be opened, first time i have this bug^^
Mosu
10th January 2016, 12:13
*shrug* Nothing I can do about it…
nevcairiel
10th January 2016, 12:17
*shrug* Nothing I can do about it…
Signing the executable with a valid digital signature generally prevents it from doing that, so... Yes there is! ;)
LeMoi
10th January 2016, 12:44
Windows automatically updated some days ago, maybe it's a new security feature for downloaded executabe files, I just chose execute anyway and it worked fine
Mosu
10th January 2016, 13:28
@nevairiel: true, of course, so let me re-phrase: nothing I'm willing to do at the moment :)
foxyshadis
11th January 2016, 14:58
Windows automatically updated some days ago, maybe it's a new security feature for downloaded executabe files, I just chose execute anyway and it worked fine
Windows is just a bit schizophrenic about what to allow; as long as its untrusted zone stream is removed, it will never pop up that message, but when it does and doesn't apply it seems a bit random. The nightlies from the FTP seem to pick it up most of the time (but not always!) and the official downloads never do, on 8.1.
AYColumbia
13th January 2016, 06:21
Windows SmartScreen doesn't allow the setup file to be opened, first time i have this bug^^
If you get the message in the banner across the screen, there's I believe a "Read More" or "More Info" (i can't recall exact wording) link in the message. If you click it, it opens/shows another part where a "Run anyway" button is available to allow you to run the program. You're basically acknowledging that you know the install is from a trusted source.
LeMoi
13th January 2016, 07:31
Thanks, that's what I said I did ;)
ndjamena
13th January 2016, 14:07
Riddle me this:
|+ EbmlVoid (size: 2550) at 6251
|+ Cluster at 8804
| + Cluster timecode: 0.029s at 8811
| + SimpleBlock (key, track number 1, 1 frame(s), timecode 0.029s = 00:00:00.029) at 8814
| + Frame with size 9236
| + SimpleBlock (track number 1, 1 frame(s), timecode 0.071s = 00:00:00.071) at 18057
| + Frame with size 5
| + SimpleBlock (key, track number 2, 8 frame(s), timecode 0.071s = 00:00:00.071) at 18068
| + Frame with size 2560
| + Frame with size 2560
| + Frame with size 2560
| + Frame with size 2560
| + Frame with size 2560
| + Frame with size 2560
| + Frame with size 2560
| + Frame with size 2560
| + SimpleBlock (key, track number 3, 8 frame(s), timecode 0.071s = 00:00:00.071) at 38557
| + Frame with size 768
| + Frame with size 768
| + Frame with size 768
| + Frame with size 768
| + Frame with size 768
| + Frame with size 768
| + Frame with size 768
| + Frame with size 768
The first episode of Supernatural, taken straight from it's original M2TS file. For some reason the first VC-1 frame, and therefore the file, begins at 29ms, then the second frame and all the audio tracks begin at 71ms. The problem being, if I point eac3to, tsmuxer or MediaInfo at the original m2ts file, none of them report a delay in it. If I extract the Play All using MakeMKV it doesn't add a delay either. If I remux the m2ts file using TSMuxer and ADD a delay to the audio, MediaInfo, EAC3To, TSMuxer AND MakeMKV will all happily report the new delay. It's a similar story with the first episode of Falling Skies, although it actually starts at 00:00:00.000 and therefore lacks the 29ms void in the beginning. Using that I assumed there was a bug in MKVMerge, but as a final test I decided to point FFMPEG at the things and remux them. The complication is FFMPEG added the same delays as MKVMerge (ie, all the audio frames began at the same timecode as the second video frame) although even it didn't add the 29ms void to the beginning of Supernatural.
So there's a problem here. Either MediaInfo, Eac3to, TSMuxer and MakeMKV are buggy, MKVMerge and FFMPEG are buggy, or there's something going on here that I don't understand.
(If I remux the TSMuxer 96ms delayed m2ts file with MKVMerge I wind up with a 138ms delay. The MakeMKV and MKVMerge files at least have the same number of frames and judging by the frame sizes the frames are in the same positions countwise, they just have the differing timecodes.)
Thunderbolt8
16th January 2016, 12:49
is anyone able to explain how the command line input has changed with the emergence of the new GUI? I put some files into mkvmerge, copied the cmd line and tried to modify it so that I can do batch work with it. first of all, which of the ways the cmd line can be displayed do I have to use with a batch file? the cmd one? the "dont escape" one?
this worked with the old version of mkvmerge:
for %%a in (*.mkv) do ("C:\Program Files (x86)\MKVToolNix\mkvmerge.exe" -o "test%%a" "--language" "0:eng" "--default-track" "0:yes" "--forced-track" "0:no" "-s" "0" "-D" "-A" "-T" "--no-global-tags" "--no-chapters" "(" "%%~na.ass" ")" "--language" "0:eng" "--default-track" "0:yes" "--forced-track" "0:no" "-a" "0" "-D" "-S" "-T" "--no-global-tags" "--no-chapters" "(" "%%~na.dtsma" ")" "--default-track" "0:yes" "--forced-track" "0:no" "--display-dimensions" "0:1920x1080" "-d" "0" "-A" "-S" "-T" "--no-global-tags" "--no-chapters" "(" "%%a" ")" "--track-order" "2:0,1:0,0:0")
so how can I modify the current way the cmd line is displayed in order to have the same result I get from the old one?
this is my template I want to use with for %%a in (*.mkv) do (...)
windows (cmd.exe) format: "C:/Program Files/MKVToolNix\mkvmerge.exe" ^"--ui-language^" ^"en^" ^"--output^" ^"testTVShowS01E01.mkv^" ^"--language^" ^"0:und^" ^"--default-track^" ^"0:yes^" ^"--compression^" ^"0:none^" ( ^"TVShowS01E01.mkv^" ) ^"--language^" ^"0:ita^" ^"--default-track^" ^"0:yes^" ^"--compression^" ^"0:none^" ( ^"TVShowS01E01.flac^" ) ^"--language^" ^"0:eng^" ^"--default-track^" ^"0:yes^" ^"--forced-track^" ^"0:yes^" ^"--compression^" ^"0:none^" ( ^"TVShowS01E01.ass^" ) ^"--track-order^" ^"0:0,1:0,2:0^"
dont't escape format: C:/Program Files/MKVToolNix\mkvmerge.exe --ui-language en --output testTVShowS01E01.mkv --language 0:und --default-track 0:yes --compression 0:none ( TVShowS01E01.mkv ) --language 0:ita --default-track 0:yes --compression 0:none ( TVShowS01E01.flac ) --language 0:eng --default-track 0:yes --forced-track 0:yes --compression 0:none ( TVShowS01E01.ass ) --track-order 0:0,1:0,2:0
simply replacing the file names
testTVShowS01E01.mkv
TVShowS01E01.mkv
TVShowS01E01.flac
TVShowS01E01.ass
with
test%%a
%%a
%%~na.flac
%%~na.ass
does not seem to work any more because I get error messages when I try to run that modified cmd line (perhaps the error is due to something else though)
ndjamena
16th January 2016, 12:58
If there are spaces in the files' path names you need to surround them with double quotes.
"test%%a"
"%%a"
"%%~na.flac"
"%%~na.ass"
And you should probably make sure you're in the right directory or use "%%~dpna", "%%~fa" instead of just "%%a".
Getting the command line working isn't hard, it's all I ever use and I create mine from scratch. I don't know how much you know about it though.
sneaker_ger
16th January 2016, 13:04
If you do a FOR loop with parantheses you need to escape the parantheses of the mkvmerge command.
http://www.robvanderwoude.com/escapechars.php
Thunderbolt8
16th January 2016, 13:11
Ill try again. but which of these two cmd templates should I use now? do both work in the batch file?
ndjamena
16th January 2016, 13:30
If you're just issuing a single command you don't need the parantheses at all, then you won't need to escape them in the command.
Mosu
16th January 2016, 13:31
mkvmerge's syntax and escaping rules have NOT changed when the new GUI was introduced. The reason the new GUI uses something different than the old one is that the method used by the old GUI was incomplete/buggy if the file name in question contains "quotation marks" or ^carets^. cmd.exe's escaping together with how the C library interprets command line arguments is convoluted.
If your file names contain neither quotation marks nor carets then your old way should still work.
You can use the new GUI's cmd.exe escaping variant in batch files, too. Simply replace the whole argument that contains the file name (including all the escape characters) with the variable in quotation marks as ndjamena has shown.
Just don't use the totally unescaped variant.
Thunderbolt8
16th January 2016, 13:38
It works now for me:
for %%a in (*.mkv) do ("C:/Program Files/MKVToolNix\mkvmerge.exe" "--ui-language" "en" "--output" "test%%a" "--language" "0:und" "--default-track" "0:yes" "--compression" "0:none" "(" "%%a" ")" "--language" "0:ita" "--default-track" "0:yes" "--compression" "0:none" "(" "%%~na.flac" ")" "--language" "0:eng" "--default-track" "0:yes" "--forced-track" "0:yes" "--compression" "0:none" "(" "%%~na.ass" ")" "--track-order" "0:0,1:0,2:0")
I put everything into quotation marks, then it was fine.
for %%a in (*.mkv) do ("C:/Program Files/MKVToolNix\mkvmerge.exe" "--output" "test%%a" "--language" "0:und" "--default-track" "0:yes" "--compression" "0:none" "(" "%%a" ")" "--language" "0:ita" "--default-track" "0:yes" "--compression" "0:none" "(" "%%~na.flac" ")" "--language" "0:eng" "--default-track" "0:yes" "--forced-track" "0:yes" "--compression" "0:none" "(" "%%~na.ass" ")" "--track-order" "0:0,1:0,2:0")
edit:
actually this was enough already, yes: for %%a in (*.mkv) do ("C:/Program Files/MKVToolNix\mkvmerge.exe" --ui-language en --output "test%%a" --language 0:und --default-track 0:yes --compression 0:none "(" "%%a" ")" --language 0:ita --default-track 0:yes --compression 0:none "(" "%%~na.flac" ")" --language 0:eng --default-track 0:yes --forced-track 0:yes --compression 0:none "(" "%%~na.ass" ")" --track-order 0:0,1:0,2:0)
Mosu
16th January 2016, 13:45
BTW, I just noticed a bug. I have code in the GUI's escaping for Windows that checks whether an argument actually needs to be escaped or not. The idea was to have a simplified escaped view, e.g. arguments like --track-language or 1:ger don't need escaping after all.
Unfortunately that code is wrong, so everything's escaped making the whole thing look much more daunting than necessary. I'll fix that.
Thunderbolt8
16th January 2016, 13:47
I was already suspicious of much "^ stuff like that there was :p
Mosu
16th January 2016, 13:50
They're not wrong. They're just superfluous for most arguments.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.