mediafragmenter — инструмент для работы с фрагментами файлов.
Указателем на фрагмент является JSON-файл
с расширением «.fp.json», который хранит описание границ фрагмента,
путь к исходному файлу, его тип и другие данные.

Работа программы напрямую связана с рядом внешних программ,
которые используются для открытия фрагментов.
В текущей версии доступна работа с фрагментами файлов видео-, аудиозаписей,
обычных текстовых документов (txt, xml, исходники программного кода и пр.),
а также (ограниченно) PDF и DJVU.

---

Формат команды для создания указателя на фрагмент:

mediafragmenter -f <файл> [-t|--type <тип файла>] \
                          [-b <тип границ>] \
                          [-s|--start <начало>] \
                          [-e|--end <конец>] \
                          [-o|--output <выходной файл>]
    Обязателен только путь к файлу, указатель на фрагмент которого создаётся,
    прочие параметры необязательны.

    Опцией -t (--type) можно указать тип файла:
    video, audio, text, pdf, djvu.
    Если флаг не указан, тип определяется автоматически.

    Опцией -b можно задать тип границ:

        для типов «audio» и «video» доступен вариант «by-time»;

        для типа «text» доступны два варианта:
        «by-line-and-column» (по умолчанию) и «by-phrase»;

        для типов «pdf» и «djvu» доступен вариант «by-page».

    Опциями -s (--start) и -e (--end) указываются границы фрагмента:

        для типов «audio» и «video» такими границами являются временные отметки
        в формате ЧЧ:ММ:СС (часы, минуты, секунды с двоеточием);
        секунды могут иметь дробную часть до четырёх знаков после точки;

        для типа «text» границами по умолчанию являются номер строки и
        номер столбца через запятую без пробела; границы закрытые,
        т.е. фрагменты включают в себя указанные границы;
        столбец (т.е. номер символа в строке) может быть пропущен,
        т.е. можно указать только номер строки;
        альтернатива: границами могут быть фразы из текста, при этом
        поиск конца фрагмента будет происходит после начала фрагмента,
        для данного варианта нужно указать опцию «-b by-phrase»

        для типов «pdf» и «djvu» доступно только позиционирование
        по номеру страницы, т.е. конец фрагмента не задаётся;

        отсутствие значения начала и/или конца фрагмента означает
        соответствующее отсутствие границ(ы).

    Флаг -o (--output) позволяет указать путь и имя выходного указателя
    на фрагмент. По умолчанию создаётся указатель на фрагмент с именем
    оригинального файла и расширением «.fp.json» в текущей директории.

    Примеры:

    mediafragmenter -f ~/Concert.mkv -s 01:43:14 -e 01:47:38 -o song.fp.json
        Будет создан указатель на фрагмент видеозаписи с именем "song.fp.json".

    mediafragmenter -f ~/Заметки.txt -s 45,4 -e 59
        Будет создан указатель на фрагмент с именем "Заметки.fp.json"
        в интервале от 4-го символа 45-й строки до 59-й строки включительно.

    mediafragmenter -f ~/cartoon.avi -e 00:00:59 -o intro.fp.json
        Будет создан указатель на фрагмент от начала видео до отметки в 59 секунд.

    mediafragmenter -f /mnt/stor/Book.pdf -s 15 -o chapter4.fp.json
        Будет создан указатель на фрагмент PDF-файла, начиная с 15-й страницы.

---

Формат команды для воспроизведения указателя на фрагмент:

mediafragmenter -p <указатель_на_фрагмент> [-a|--app <программа>]
    Воспроизводит/открывает фрагмент файла.
    По умолчанию видео- и аудиофайлы открываются с помощью mpv,
    также можно использовать vlc или ffplay.
    Программа для текстовых файлов определяется утилитой ufo,
    но можно задать явно нужную программу.
    Файлы форматов pdf и djvu открываются с atril,
    также доступны evince, okular, zathura.

---

Другие команды:

mediafragmenter --version
    Выводит версию программы.

mediafragmenter --help
    Вывод этой справки.
