Manual DVD mode
During the DVD analysis phase MakeMKV has to make many decisions how to interpret contents of the disc - split video data to titles/chapters, remove duplicate title entries, detect and remove fake titles, skip portions of discs with mastering errors, etc. Sometimes the produced result is different from a desired one - title can be wrongly identified as fake, title order could be wrong, series episodes could show up as a single gigantic title.
Starting from version 1.9.0 MakeMKV can open a DVD disc in a so-called manual mode. The bad part about this mode is that its usage requires advanced knowledge about DVD authoring. The good part is that in this mode user has precise control over DVD layout interpretation. Any part of the disc can be assigned to any title in any order. Any title can be forced to be non-fake, titles can be split by cell (or chapter) boundaries, in any order.
During opening DVD disc in manual mode one has to enter a "title selection string". This string describes what parts of DVD should be opened and in what order. Given the proper title selection string any DVD disc can be opened, even disc with a structure protection that MakeMKV can't normally handle.
Title selection string syntax
The title selection string is a set of space-separated tokens. Each token produces one or more titles. Simplified token syntax is - XX[:[yy,yy,yy-yy][;yy]] where XX is a title number and yy is a chapter or cell number. In a simplest case only title number can be specified - in this case MakeMKV will open title in exactly the same way as it would open it normally, with exception that all fake checks would be disabled. For example, if MakeMKV incorrectly identifies a certain title as fake, all you have to do is to note the title number (any DVD player can show this information) and enter it in title selection string. As a practical example title string 15 3 2 5 would instruct MakeMKV to open titles 15,3,2,5 - in that specific order and to assume that all titles are not fake.
In addition to title number, each token can specify exact parts of title to be opened. The minimum addressable unit is a so called cell (historically named after movie film cell). Portion of the title can be specified as single chapter/cell or a range of cells/chapters. Plain number specifies chapter while number with "@" prefix specifies cell. The string 5:1-5 8:@3-@14,@16-@21 specifies that chapters 1-5 should be opened from title number 5 as a first title, and cells 3-14 followed by cells 16-21 should be opened as a second title. The string 1:1-4 1:5,6,7,8 1:9-12 1:13,14,15,16 specifies that title number 1 containing 16 chapters should be split into 4 titles, by 4 chapters in each. The same selection may be specified by a single token 1:1-4;5-8;9-12;13-16. Instead of chapters, cell numbers can be specified. Assuming that each chapter occupies a single cell the same selection string can be specified as 1:@1-@4;@5-@8;@9-@12;@13-@16.
Somewhat formal suffix for the title selection string is presented below:
title_selection string := token1 [token2 ... tokenN]
token := tile_number:part1[;part2;...;partN]
part := range1[,range2,...,rangeN]
range := point1[-point2]
point := (chapter|[pgc/]@cell])