MKVEXTRACT(1)

NAME
mkvextract - выманне трэка з файлаў Matroska у іншыя файлы

Кароткі змест

mkvextract {імя-файла-крыніцы} {рэжым1} [параметры] [уласцівасці-вымання1] [рэжым2] [параметры] [уласцівасці-вымання2] [...]

Апісанне

Гэтая праграма вымае зададзеныя фрагменты з файла Matroska у іншыя неабходныя фарматы. Першы аргумент — імя зыходнага файла, які павінен быць файлам Matroska.

Усе астатнія аргументы або пераключаюць у пэўны рэжым вымання, змяняюць параметры бягучага актыўнага рэжыма, або задаюць, у які файл трэба выняцт. Пры выкліку mkvextract могуць выкарыстоўвацца некалькі рэжымаў, што дазваляе вымаць некалькі элементаў за адзін праход. Большасць параметраў могуць выкарыстоўвацца толькі ў пэўных рэжымах з некалькімі параметрамі, якія ўжываюцца да ўсіх рэжымаў.

У дадзены час падтрымліваецца выманне трэкаў, тэгаў, далучэнняў, раздзелаў, файлаў разметкі CUE, метак часу і Сue.

  Агульныя параметры

Наступныя параметры даступныя ва ўсіх рэжымах і апісваюцца ў гэтай секцыі аднойчы.

-f, --parse-fully
    Задаецца рэжым аналізу на «поўны». Стандартны рэжым не аналізуе ўвесь файл, а выкарыстоўвае элементы метапошуку для знаходжання элементаў у зыходным файле. У 99% выпадкаў гэтага дастаткова. Але для пашкоджаных файлаў і для тых, у якіх няма элементаў метапошуку, карыстальніку прыйдзецца выкарыстоўваць гэты рэжым. Поўнае сканаванне файла можа патрабаваць некалькі хвілін, у той час як хуткае сканаванне праходзіць за секунды.

--command-line-charset кадзіроўка
    Задае кадзіроўку для канвертацыі радкоў, зададзеных у камандным радку. Стандартная кадзіроўка прывязаная да сістэмнай лакалізацыі.

--output-charset кадзіроўка
    Задае кадзіроўку, у якой канвертуюцца выхадныя радкі. Па змаўчанні выкарыстоўваецца бягучая кадзіроўка сістэмнай мовы.

-r, --redirect-output імя-файла
    Усе паведамленні запісваюцца ў файл імя-файла замест кансолі. Хаця гэта можна зрабіць і праз перанакіраванне вываду, ёсць асобныя выпадкі ўжывання менавіта гэтага параметра: калі тэрмінал інтэрпрэтуе ў іншы спосаб вываду пераз запісам файла. Кадзіороўка, зададзеная ў --output-charset, улічваецца.

--no-bom
    Normally text files that are created & encoded in one of the UTF variants will start with a byte order marker (BOM). Using this option disables writing that byte order marker.

--flush-on-close
    Задае праграме скінуць усе даныя, закэшаваныя ў памяці, у сховішчы пры закрыцці файлаў, адкрытых для запісу. Гэта можа быць выкарыстана для прадухілення страты даных пры адключэнні сілкавання або для абыходу пэўных праблем у аперацыйнай сістэме або драйверах. Недахопам з'яўляецца тое, што зліццё зойме больш часу, бо mkvmerge прыйдзецца чакаць, пакуль усе даныя не будуць запісаныя ў сховішча перад выхадам. Гдядзіце праблемы #2469 і #2480 ў трэкеры памылак MKVToolNix, дзе падрабязна пракаментаваныя плючы і мінусы.

--ui-language код
    Прымусова выкарыстоўваць пераклад на код мовы (напр., «de_DE» для нямецкай). Калі задаць «list» замест кода, то будзе выведзены спіс даступных перакладаў.

--abort-on-warnings
    Задае mkvmerge перапыненне пасля з'яўлення першага папярэджання. Код завяршэння праграмы будзе 1.

--debug тэматыка
    Уключыць рэжым адладкі для зададзенай функцыі. Гэты параметр карысны толькі для распрацоўшчыкаў.

--engage функцыя
    Уключыць эксперыментальныя функцыі. Спіс даступных функцый можа быць выкліканы праз mkvextract --engage list. Гэтыя функцыі не прызначаныя для звычайнага выкарыстання.

--gui-mode
    Уключае рэжым графічнага інтэрфейса. У гэтым рэжыме могуць выводзіцца спецыяльна адфармаціраваныя радкі для адпраўкі кантрольных паведамленняў інтэрфейсу. Фармат паведмленняў — '#GUI#message'. За паведамленнем могуць быць зададзеныя пары ключа і значэння, напрыклад '#GUI#message#key1=value1#key2=value2...'. Паведамленні і ключы не перакладаюцца і заўжды выводзяцца на англійскай.

-v, --verbose
    Увесці пашыраны вывад і паказваць усе важныя элементы Matroska па меры іх чытання.

-h, --help
    Паказаць звесткі аб выкарыстанні і выйсці.

-V, --version
    Паказаць звесткі аб версіі і выйсці.

@файл-параметраў.json
    Счытвае дадатковыя аргументы каманднага радка з файла options-file. Поўнае апісанне падтрымліваных фарматаў для такіх файлаў глядзіце ў секцыі «Файлы параметраў» на старонцы дакументацыі mkvmerge(1).

  Рэжым вымання трэка

Сінтаксіс: mkvextract імя-зыходнага-файла трэкі [параметры] TID1:імя-мэтавага-файла1 [TID2:імя-мэтавага-файла2 ...]

Наступныя параметры каманднага радка даступныя для кожнага трэка ў рэжыме вымання 'tracks'. Яны павінны прысутнічаць перад заданнем трэка (гл. ніжэй), да якога будуць ужывацца.

-c кадзіроўка
    Задае набор сімвалаў, які павінен змяшчаць наступны трэк субцітраў пасля канвертацыі. Ужывацца толькі тады, калі ID наступнага трэка паказвае на трэк субцітраў. Па змаўчанні выкарыстоўваецца UTF-8.

--blockadd узровень
    Захаваць BlockAdditions толькі да гэтага ўзроўня. Па змаўчанні захоўваюцца ўсе ўзроўні. Гэты параметр уплывае толькі на пэўны тып кадзіроўшчыкаў, напрыклад WAVPACK4.

--Сuesheet
    Выконвае з дапамогай mkvextract(1) вымання спісаў CUE са звестак аб раздзелах і з даных тэгаў дадзенага трэка ў файл з назвай выхаднога трэка і пашырэннем '.Сue'.

--raw
    У адрозненні ад пазнакі --fullraw гэты параметр не прыводзіць да запісу звесціва элемента CodecPrivate у файл. Гэты рэжым працуе з усімі CodecIDs, нават з тымі, якія mkvextract(1) не падтрымлівае, але гэта можа прывесці да стварэння пашкоджанага файла.

--fullraw
    Вымае неапрацаваныя даныя ў файл без кантэйнера. Змесціва элемента CodecPrivate будзе запісана першым у файл, калі трэк утрымлівае падобны элемент загалоўка. Гэты рэжым працуе з усімі CodecIDs, нават з тымі, якія mkvextract(1) не падтрымлівае, але гэта можа прывесці да стварэння пашкоджанага файла.

TID:выхадное-імя
    Вымае трэк з ID TID у файла выхадное_імя пры ўмове, што такі трэк утрымліваецца ў зыходным файле. Гэты параметр можна задаваць некалькі разоў. 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 імя-зыходнага-файла далучэнні [параметры] AID1:выхадное-імя1 [AID2:выхадное-імя2 ...]

AID:выхадное-імя
    Робіць выманне далучэння з ID AID у файл outname пры ўмове, калі такое далучэнне ўтрымліваецца ва ўваходным файле. Калі ж пакінуць outname пустым, то будзе выкарыстоўвацца імя далучэння з уваходнага файла Matroska. Гэты параметр можна выкарыстоўваць некалькі разоў. ID далучэнняў павінныя быць такімі ж як і пры вывадзе звестак камандай mkvmerge(1) з параметрам --identify.

  Рэжым вымання раздзелаў

Сінтаксіс: mkvextract імя-зыходнага-файла раздзелы [параметры] імя-выхаднога-файла.xml

-s, --simple
    Экспарт раздзела звестак у просты фармат, які выкарыстоўваецца ў інструментах OGM (РАЗДЗЕЛ01=..., РАЗДЗЕЛ01ІІМЯ=...). У гэтым рэжыме некаторыя звесткі павінны быць адкінутыя. Па змаўчанні раздзелы выводзяцца ў фармат XML.

--simple-language мова
    Калі ўключаны просты фармат, то mkvextract(1) будзе выводзіць толькі адзіны запіс для кожнага сустрэчнага атама раздзелаў, нават калі атам раздзелаў утрымлівае больш за адно імя раздзела. Па змаўчанні mkvextract(1) будзе выкарыстоўваць першы знойдзены залаговак раздзела для кожнага атама незалежна ад яго мовы.

    Выкарыстанне гэтага параметра дае магчымасць карыстальніку вызначыць, якія імі раздзелаў выводзяцца, калі атамы ўтрымліваюць больш за адно імя раздзела. Параметр language павінен быць кодам з ISO 639-1 або ISO 639-2.

Раздзелы запісаныя ў зададзены выхадны файл. Па змаўчанні выкарыстоўваецца зразумеды для mkvmerge(1) фармат XML. Калі ў файле няма раздзелаў, то выхадны файл не створаны.

  Рэжым вымання метак

Сінтаксіс: mkvextract імя-зыходнага-файла тэгі [параметры] імя-выхаднога-файла.xml

-T, --no-track-tags
    Exports only tags that aren't track-specific.

Тэгі запісаныя ў зададзены выхадны XML-файл, зразумелы для mkvmerge(1). Калі ў файле няма тэгаў, то выхадны файл не створаны.

  Рэжым вымання файлаў разметкі Cue

Сінтаксіс: mkvextract імя-зыходнага-файла Сuesheet [параметры] імя-выхаднога-файла.Сue

Cue sheet (файл разметкі) запісаны ў зададзены выхадны файл. Калі ў фале няма раздзелаў або тэгаў, то выхадны файл не створаны.

  Рэжым вымання меткі часу

Сінтаксіс: mkvextract імя-зыходнага-файла меткі-часу_v2 [параметры] TID1:імя-мэтавага-файла1 [TID2:імя-мэтавага-файла2 ...]

TID:выхадное-імя
    Вымае меткі часу трэка з ID TID у файла выхадное_імя пры ўмове, што такі трэк утрымліваецца ў зыходным файле. Гэты параметр можна задаць некалькі разоў. ID трэкаў павінны быць такія ж як і пры вывадзе звестка камандай mkvmerge(1) з параметрам --identify.

    Прыклад:

        $ mkvextract input.mkv timestamps_v2 1:ts-track1.txt 2:ts-track2.txt

  Рэжым вымання Cue

Сінтаксіс: mkvextract імя-зыходнага-файла Cue [параметры] TID1:імя-мэтавага-файла1 [TID2:імя-мэтавага-файла2 ...]

TID:імя-мэтавага-файла
    Вымае трэк з ID TID у файла выхадное_імя пры ўмове, што такі трэк утрымліваецца ў зыходным фале. Гэты параметр можна задаваць некалькі разоў. ID трэкаў павінен быць такім жа, як і пры вывадзе звестак камандай mkvmerge(1) з параметрам --identify, пры гэтым не павінны супадаць з лічбамі, якія ўтрымліваюцца ў элеменце CueTrack.

Выхадны фармат прадстаўлены ў тэкставым выглядзе: адзін элемент CuePoint на лінію з парай ключ=значэнне. Калі элемент параметра не прадстаўлены ў CuePoint (напр. CueDuration), то замест значэння будзе працяжнік.

Прыклад:

    timestamp=00:00:13.305000000 duration=- cluster_position=757741 relative_position=11

Магчымыя ключы:

метка часу
    Даўжыня кропкі Сue з дакладнасцю да нанасекунд. Фармат: HH:MM:SS.nnnnnnnnn. Гэты элемент заўсёды задаецца.

даўжыня
    Даўжыня кропкі Сue з дакладнасцю да нанасекунд. Фармат: HH:MM:SS.nnnnnnnnn.

cluster_position
    Абсалютная пазіцыя ў байтах унутры файла Matroska, з якой пачынаецца кластар, які ўтрымлівае спасылачны элемент.

        Note
        Унутры файла Matroska CueClusterPosition знаходзіцца адносна пачатковага змяшчэння дадзеных сегмента. Аднак значэнне, якое выводзіцца ў рэжыме вымання Сue mkvextract(1), ўжо ўтрымлівае гэтае змяшчэнне і з'яўляецца абслаютным змяшчэннем ад пачатка файла.

relative_position
    Адносная пазіцыя ў байтах унутры кластара, дзе пачынаюцца элементы BlockGroup або SimpleBlock, на якія спачылаецца Сue-кропка.

        Note
        Унутры файла Matroska CueRelativePosition адносна пачатковага змяшчэння дадзеных кластара. Аднак значэнне, якое выводзіцца рэжымам вымання меткі mkvextract(1), залежыць ад ідэнтыфікатара кластара. Абсалютная пазіцыя ўнутры файла можна вылічыць дабаўленнем cluster_position і relative_position.

Прыклад:

    $ mkvextract input.mkv Сues 1:Сues-track1.txt 2:Сues-track2.txt

Прыклады

Выманне раздзелаў і тэгаў у іхнія адпаведныя фарматы XML за адзін раз:

    $ mkvextract фільм.mkv chapters раздзелы-фільма.xml tags тэгі-фільма.xml

Выманне пары трэкаў і іхнія адпаведныя меткі часу за адзін раз:

    $ mkvextract "Іншы фільм.mkv" tracks 0:video.h265 "1:асноўнае аўдыя.aac" "2:каментарыі рэжысёра.aac" меткі часу_v2 "0:меткі часу відэа.txt" "1:меткі часу асноўнага аўдыя.txt" "2:меткі часу каментарыяў рэжысёра.txt"

Выманне раздзелаў у фармат Ogg/OGM і перакадзіраванне трэка тэкставых субцітраў у іншую кадзіроўку:

    $ mkvextract "Мой фільм.mkv" chapters --simple "Мае раздзелы.txt" tracks -c MS-ANSI "2:Мае субцітры.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. Дадзеныя ў выглядзе цэлалікавых з вялікім канцом будуць сканвертаваныя ў даныя з малым канцом у працэсе.

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
    Тэкставыя субцітры WebVTT будуць запісаныя ў выглядзе файлаў WebVTT.

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 / EVC будуць запісаныя ў выглядзе элементарных патокаў H.265, якія ў далейшым могуць быць апрацаваныя, напрыклад, праз MP4Box з пакета GPAC.

V_MS/VFW/FOURCC
    Відэатрэкі з фіксаванай кадравай частатой і з дадзеным CodecID запісаныя ў выглядзе файлаў AVI.

V_REAL/*
    Трэкі RealVideo запісаныя ў файлы RealMedia.

V_THEORA
    Патокі Theora будуць запісаныя ў кантэйнер Ogg

V_VP8, V_VP9
    Трэкі VP8 / VP9 запісаныя ў файлы IVF.

Тэгі
    Тэгі канвертуюцца ў фармат XML. Гэты ж фармат mkvmerge(1) выкарыстоўвае для чытання тэгаў.

Далучэнні
    Далучэнні запісваюцца ў выхадны файл як ёсць. Ніякай канвертацыі не выконваецца.

Раздзелы
    Раздзелы канвертуюцца ў фармат XML. Гэты ж фармат mkvmerge(1) выкарыстоўваецца для чытання раздзелаў. Або можна выняць урэзаную версію ў спрошчаны стылевы фармат OGM.

Меткі часу
    Меткі часу спачатку сартуюцца і затым выводзяцца ў фармаце метак часу v2, сумяшальным для выкарыстання ў mkvmerge(1). Выманне ў іншыя фарматы (v1, v3 і v4) не падтрымліваецца.

Коды завяршэння

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)

Хатняя старонка

Апошняя версія праграмы заўсёды даступная на хатняй старонцы MKVToolNix[1].

AUTHOR

Морыц Бункус <moritz@bunkus.org>
    Распрацоўшчык

NOTES

1.  хатняй старонцы MKVToolNix
    https://mkvtoolnix.download/