НАЗВА
mkvextract - витягування доріжок з файлів Matroska до інших файлів
КОРОТКИЙ ОПИС
mkvextract {source-filename} {mode1} [options] [extraction-spec1] [mode2] [options] [extraction-spec2] [...] |
ОПИС
Ця програма витягує певні частини з файлу Matroska в інші корисні формати. Першим аргументом є ім'я вихідного файлу, яким має бути файл Matroska.
Усі інші аргументи або перемикаються в певний режим витягування, змінюють параметри для поточного активного режиму або вказують, що витягувати в який файл. Під час одного виклику mkvextract можна використовувати декілька режимів, що дозволяє витягувати декілька частин за один крок. Більшість параметрів можна використовувати лише в певних режимах, а деякі параметри застосовуються до всіх режимів.
В даний час підтримується витягування доріжок, тегів, вкладеннь, глав, CUE листів, міток часу і cue.
Загальні
параметри
Нижчевказані
параметри
доступні
у всіх
режимах і
тому лише
раз
описуються
в данному
розділі.
-f, --parse-fully
Встановлює режим аналізу як 'full'. За допомогою типового режиму не аналізується увесь файл, а використовуються елементи метапошуку для виявлення необхідних елементів вхідного файла. В 99% випадків цього достатньо. Але для аналізу файлів, що не містять елементів метапошуку або є пошкодженими треба використовувати цей режим. Повне сканування файлу може тривати кілька хвилин, в той час як швидке - кілька секунд.
--command-line-charset character-set
Встановлює набір символів заданого в командному рядку для конвертації. Типово використовується набір символів згідно поточної локалі системи.
--output-charset character-set
Встановлює вихідний набір символів заданого в командному рядку для конвертації. Типово використовується набір символів згідно поточної локалі системи.
-r, --redirect-output file-name
Всі повідомлення записуються до файлу file-name замість консолі. Хоча це можна зробити через переспрямування виводу, є деякі випадки, коли необхідно застосовувати саме даний параметр: коли термінал інтерпретує в інший спосіб вивід перед записом до файлу. Набір символів, заданий через --output-charset враховується.
--flush-on-close
Повідомляє програмі перенести до сховища кешовані в пам’яті дані під час закриття файлів, що були відкриті на запис. Це можна використовувати, щоб запобігти втраті даних при відключенні електроенергії або обійти певні проблеми в операційній системі чи драйверах. Недоліком є те, що мультиплексування займе більше часу, оскільки mkvmerge буде чекати, поки всі дані будуть записані в сховище, перш ніж вийти. Дивіться проблемы 2469 і 2480 баг-трекера MKVToolNix щоб дізнатися про переваги та недоліки.
--ui-language code
Використовується примусовий переклад для мови code (наприклад, 'de_DE' для німецького перекладу). Після введення list' як code програма відобразить список доступних перекладів.
--abort-on-warnings
Повідомляє програмі припинити роботу після першого попередження. Код виходу з програми буде 1.
--debug topic
Увімкнути налагодження для певної функції. Цей параметр корисний лише для розробників.
--engage feature
Увімкнути експериментальні функції. Список доступних функцій можна запросити за допомогою mkvextract --engage list. Ці функції не призначені для використання у звичайних ситуаціях.
--gui-mode
Вмикає режим графічного інтерфейсу. У цьому режимі можуть бути виведені спеціально відформатовані рядки, які можуть повідомляти керуючому графічному інтерфейсу, що відбувається. Ці повідомлення мають формат '#GUI#message'. За повідомленням можуть слідувати пари ключ/значення, як у '#GUI#message#key1=value1#key2=value2...'. Ані повідомлення, ані ключі ніколи не перекладаються і завжди виводяться англійською.
-v, --verbose
Задає відображення розширеної інформації про важливі елементи Matroska.
-h, --help
Відображається інформація про використання додатку і відбувається завершення роботи додатку.
-V, --version
Відображається інформація про версію додатку і відбувається завершення роботи додатку.
@options-file.json
Читає додаткові аргументи командного рядка з файлу options-file. Повне пояснення про підтримувані формати для таких файлів див. розділ "Файли параметрів" у посібнику користувача mkvmerge(1).
Режим
витягування
доріжок
Синтаксис:
mkvextract source-filename tracks
[options] TID1:dest-filename1
[TID2:dest-filename2 ...]
Наступні параметри командного рядка доступні для кожної доріжки в режимі витягування 'tracks'. Вони мають бути присутні після вказання доріжки (див. нижче), до якої будуть застосовуватись.
-c character-set
Задається набір символів, який має містити наступна доріжка субтитрів після конвертації. Застосовується лише тоді, коли ID наступної доріжки вказує на доріжку субтитрів. Типовим набором символів є UTF-8.
--blockadd level
Залишати лише BlockAdditions до цього рівня. Типово враховуються усі рівні. Даний параметр може вплинути лише на деякі кодеки, як то WAVPACK4.
--cuesheet
Відбувається витягування списків CUE з інформацією про глави і дані тегів даної доріжки у файл, ім’я якого є вихідною назвою доріжки з додаванням розширення '.cue'.
--raw
Відбувається витягування необраблених даних до файлу без контейнера. На відміну від прапорця --fullraw даний параметр не призводить до запису складових елементу CodecPrivate до файлу. Даний режим може працювати з усіма CodecIDs, навіть з тими, які mkvextract(1) не підтримує, але це може призвести до створення пошкодженого файлу.
--fullraw
Відбувається витягування необроблених даних до файлу без контейнера. Складові елементу CodecPrivate будуть записуватися до файлу першими, якщо доріжка містить такий елемент заголовку. Даний режим може працювати з усіма CodecIDs, навіть з тими, які mkvextract(1) не підтримує, але це може призвести до створення пошкодженого файлу.
TID:outname
Відбувається витягування доріжки з ID TID до файлу outname за умови, якщо така доріжка міститься у вхідному файлі. Даний параметр можна задавати декілька разів. ID доріжок мають бути такі самі як і при виведенні інформації командою mkvmerge(1) з параметром --identify.
Кожна назва вихідного файлу має використовуватися лише раз. Виняток становлять доріжки RealAudio і RealVideo. Якщо використовувати однакові назви для різних доріжок, то вони будуть збережені до одного й того самого файлу. Наприклад:
$ mkvextract input.mkv tracks 0:video.h264 2:output-two-vobsub-tracks.idx 3:output-two-vobsub-tracks.idx
Режим
витягування
вкладень
Синтаксис:
mkvextract source-filename attachments
[options] AID1:outname1
[AID2:outname2 ...]
AID:outname
Відбувається витягування вкладення з ID AID до файлу outname за умови, якщо таке вкладення міститься у вхідному файлі. Якщо ж залишити outname пустим, то буде використовуватися назва вкладення з вхідного файла Matroska. Даний параметр можна задавати декілька разів. ID вкладень мають бути такі самі як і при виведенні інформації командою mkvmerge(1) з параметром --identify.
Режим
витягування
глав
Синтаксис:
mkvextract source-filename chapters
[options] output-filename.xml
-s, --simple
Витягується інформація про глави у простому форматі, що використовується в інструментарії для роботи з OGM (CHAPTER01=..., CHAPTER01NAME=...). В цьому режимі деяка інформація пропускається. За замовчуванням глави витягуються у форматі XML.
--simple-language language
Якщо ввімкнено простий формат, mkvextract(1) виведе лише один запис для кожного зустріченого атома глави, навіть якщо атом глави містить більше однієї назви глави. За замовчуванням mkvextract(1) використовуватиме назву першої глава, знайдену для кожного атома, незалежно від його мови.
Використання цього параметра дозволяє користувачеві визначити, які назви глав виводяться, якщо атоми містять більше однієї назви глави. Параметр language має бути кодом ISO 639-1 або ISO 639-2.
Глави записуються у вказаний вихідний файл. За замовчуванням використовується зрозумілий mkvmerge(1) формат XML. Якщо у файлі не знайдено жодних глав, вихідний файл не створюється.
Режим
витягування
тегів
Синтаксис:
mkvextract source-filename tags
[options] output-filename.xml
Теги записуються у вказаний вихідний файл у зрозумілий mkvmerge(1) формат XML. Якщо у файлі не знайдено тегів, вихідний файл не створюється.
Режим
витягування
списків Cue
Синтаксис:
mkvextract source-filename cuesheet
[options] output-filename.cue
Список cue записується у вказаний вихідний файл. Якщо у файлі не знайдено жодних глав або тегів, вихідний файл не створюється.
Режим
витягування
міток
часу
Синтаксис:
mkvextract source-filename timestamps_v2
[options] TID1:dest-filename1
[TID2:dest-filename2 ...]
TID:outname
Відбувається витягування міток часу доріжок з ID TID до файлу outname за умови, якщо така доріжка міститься у вхідному файлі. Даний параметр можна задавати декілька разів. ID доріжок мають бути такі самі як і при виведенні інформації командою mkvmerge(1) з параметром --identify.
Наприклад:
$ mkvextract input.mkv timestamps_v2 1:ts-track1.txt 2:ts-track2.txt
Режим
витягування
списків Cue
Синтаксис:
mkvextract source-filename cues
[options] TID1:dest-filename1
[TID2:dest-filename2 ...]
TID:dest-filename
Відбувається витягування списків cue для доріжки з ID TID до файлу outname за умови, якщо така доріжка міститься у вхідному файлі. Даний параметр можна задавати декілька разів. ID доріжок мають бути такі самі як і при виведенні інформації командою mkvmerge(1) з параметром --identify, а не числа, що містяться в елементі CueTrack.
Формат виведення є простим текстовим форматом: один рядок на елемент CuePoint з парами key=value. Якщо необов’язковий елемент відсутній у CuePoint (наприклад, CueDuration), тоді у якості значення буде виведено тире.
Наприклад:
timestamp=00:00:13.305000000 duration=- cluster_position=757741 relative_position=11
Можливі ключі:
мітка часу
Мітка часу точки списка cue з наносекундною точністю. Формат: HH:MM:SS.nnnnnnnnn. Цей елемент завжди встановлений.
тривалість
Тривалість точки списка cue з наносекундною точністю. Формат: HH:MM:SS.nnnnnnnnn.
позиція_кластеру
Абсолютна позиція в байтах всередині файла Matroska, де починається кластер що містить посилання на елемент.
Примітка
Всередині
файла Matroska
CueClusterPosition є
відносним
зміщенням
початку
даних
сегмента.
Однак
значення,
виведене
mkvextract(1) у
режимі
витягування
списка cue,
вже
містить
це
зміщення
і воно є
абсолютним
зміщенням
від
початку
файлу.
відносна_позиція
Відносна позиція в байтах всередині кластера, звідки починається елемент BlockGroup або SimpleBlock, на який посилається точка списка cue.
Примітка
Всередині
файла Matroska
CueRelativePosition є
відносним
зміщенням
початку
даних
кластера.
Однак
значення,
виведене
mkvextract(1) у
режимі
витягування
списка cue, є
відносним
до ID
кластера.
Абсолютну
позицію
всередині
файлу
можна
обчислити
додавши
cluster_position і relative_position.
Наприклад:
$ mkvextract input.mkv cues 1:cues-track1.txt 2:cues-track2.txt
ПРИКЛАДИ
Витягування глав і тегів у відповідні XML формати одночасно:
$ mkvextract movie.mkv chapters movie-chapters.xml tags movie-tags.xml
Витягування кількох доріжок і відповідних міток часу одночасно:
$ mkvextract "Another Movie.mkv" tracks 0:video.h265 "1:main audio.aac" "2:director's comments.aac" timestamps_v2 "0:timestamps video.txt" "1:timestamps main audio.txt" "2:timestamps director's comments.txt"
Витягування глав у форматі Ogg/OGM і перекодування доріжки текстових субтитрів в інший набір символів:
$ mkvextract "My Movie.mkv" chapters --simple "My Chapters.txt" tracks -c MS-ANSI "2:My Subtitles.srt"
ТЕКСТОВІ ФАЙЛИ ТА ПЕРЕТВОРЕННЯ НАБОРУ СИМВОЛІВ
Для детального ознайомлення з тим, як усі інструменти в пакеті MKVToolNix виконують перетворення набору символів, кодування введення/виводу, кодування командного рядка та консольне кодування, будь ласка, перегляньте розділ з ідентичною назвою в посібнику користувача mkvmerge(1)
ФОРМАТИ ФАЙЛІВ НА ВИХОДІ
Рішення щодо формату файлу на виході обирається, базуючись на типі доріжки, а не на типі файлу, що буде записаний. У даний час підтримуються наступні типи доріжок:
A_AAC/MPEG2/*, A_AAC/MPEG4/*, A_AAC
Усі файли AAC будуть записані до файлів AAC з заголовками ADTS перед кожним пакетом. Заголовки ADTS не будуть містити застарілого поля особливого призначення.
A_AC3, A_EAC3
Це буде витягнуто до необроблених файлів AC-3.
A_ALAC
Доріжки ALAC записуються до файлів CAF.
A_DTS
Це буде витягнуто до необроблених файлів DTS.
A_FLAC
Доріжки FLAC записуються до необроблених файлів FLAC.
A_MPEG/L2
Потоки MPEG-1 Audio Layer II будуть витягнуті до необроблених файлів MP2.
A_MPEG/L3
Це буде витягнуто до необроблених файлів MP3.
A_OPUS
Доріжки Opus записуються до файлів OggOpus.
A_PCM/INT/LIT, A_PCM/INT/BIG
Необроблені PCM дані будуть записані до файлу WAV. В процесі big-endian цілі дані будуть перетворені в little-endian дані.
A_REAL/*
Доріжки RealAudio записуються до файлів RealMedia.
A_TRUEHD, A_MLP
Це буде витягнуто до необроблених файлів TrueHD/MLP.
A_TTA1
ДоріжкиTrueAudio записуються до файлів TTA. Майте на увазі, що через обмежену точність міток часу Matroska, витягнуті заголовки файлів будуть різними, що зазначено у двох полях: data_length (сумарна кількість семплів у файлі) і CRC.
A_VORBIS
Файли аудіо Vorbis будуть записані до файлу OggVorbis.
A_WAVPACK4
Доріжки WavPack записуються до файлів WV.
S_HDMV/PGS
PGS субтитри будуть записані до файлів SUP.
S_HDMV/TEXTST
Субтитри TextST будуть записані у вигляді спеціального формату файлу, винайденого для mkvmerge(1) та mkvextract(1)
S_KATE
Потоки Kate будуть записані до контейнеру Ogg.
S_TEXT/SSA, S_TEXT/ASS, S_SSA, S_ASS
Текстові субтитри SSA і ASS будуть записані до файлів SSA/ASS відповідно.
S_TEXT/UTF8, S_TEXT/ASCII
Прості текстові субтитри будуть записані до файлів SRT.
S_VOBSUB
Субтитри VobSub будуть записані як файли SUB разом із відповідними файлами індексу, як файли IDX.
S_TEXT/USF
USF текстові субтитри будуть записані до файлів USF.
S_TEXT/WEBVTT
USF текстові субтитри будуть записані до файлів USF.
V_MPEG1, V_MPEG2
Відеодоріжки MPEG-1 і MPEG-2 будуть записані як елементарні потоки MPEG.
V_MPEG4/ISO/AVC
H.264 / AVC доріжки відео записуються до елементарних потоків H.264, які можуть надалі бути оброблені за допомогою, наприклад, MP4Box зі збірки GPAC.
V_MPEG4/ISO/HEVC
Доріжки відео H.265/HEVC записуються до елементарних потоків H.265, які можуть надалі бути оброблені за допомогою, наприклад, MP4Box зі збірки GPAC.
V_MS/VFW/FOURCC
Доріжки відео з виправленим FPS з таким CodecID записуються до файлів AVI.
V_REAL/*
Доріжки RealVideo записуються до файлів RealMedia.
V_THEORA
Потоки Theora будуть записані до контейнеру Ogg.
V_VP8, V_VP9
Доріжки VP8 / VP9 записуються до файлів IVF.
Теги
Теги конвертуються до формату XML. Цей формат є тим самим, який mkvmerge(1) підтримує для читання тегів.
Вкладення
Вкладення записуються як є до файлу на виході. Ніяких перетворень не виконується.
Глави
Глави конвертуються до формату XML. Цей формат є тим самим, який mkvmerge(1) підтримує для читання глав. Як альтернатива, можна витягувати глави до спрощеного стильового формату OGM.
Мітки часу
Мітки часу спочатку сортуються і потім виводяться у сумісному файловому форматі міток часу версії 2 для використання mkvmerge(1). Витягування до інших форматів (версій 1, 3 і 4) не підтримується.
КОДИ ЗАВЕРШЕННЯ
mkvextract(1) завершує роботу одним з трьох кодів завершення:
• 0 -- Цей код означає, що витягування пройшло успішно.
• 1 -- В цьому випадку mkvextract(1) було видано хоча б одне попередження, проте витягування продовжувалось. Попередженню передує текст 'Warning:'. В залежності від помилок, що сталися, результуючі файли можуть бути або цілими, або пошкодженими. Користувачу рекомендується як звернути увагу на саме попередження, так і перевірити результуючі файли.
• 2 -- Цей код завершення використовується у випадку помилки. mkvextract(1) припиняє роботу одразу після виведення повідомлення про помилку. Помилки виникають через невірні параметри командного рядка, помилки читання/запису або через з самого початку пошкоджені файли.
ЗМІННІ СЕРЕДОВИЩА
mkvextract(1) використовує змінні за замовчуванням, які визначають локаль системи (наприклад, LANG і сімейство LC_*). Додаткові змінні:
MKVEXTRACT_DEBUG, MKVTOOLNIX_DEBUG і їх коротка форма MTX_DEBUG
Вміст розглядається так, ніби його було передано за допомогою параметра --debug.
MKVEXTRACT_ENGAGE, MKVTOOLNIX_ENGAGE і їх коротка форма MTX_ENGAGE
Вміст розглядається так, ніби його було передано за допомогою параметра --engage.
ДИВІТЬСЯ ТАКОЖ
mkvmerge(1), mkvinfo(1), mkvpropedit(1), mkvtoolnix-gui(1)
WWW
Остання версія завжди може бути знайдена на веб-сторінці MKVToolNix [1] .
АВТОР
Moritz Bunkus <moritz [AT] bunkus.org>
Розробник
ПРИМІТКИ
1. |
MKVToolNix |