Scroll to navigation

MKVEXTRACT(1) Карыстальніцкія каманды 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, улічваецца.

--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:выхадное-імя

Вымае трэк з IDTID у файла выхадное_імя пры ўмове, што такі трэк утрымліваецца ў зыходным файле. Гэты параметр можна задаваць некалькі разоў. 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:выхадное-імя

Робіць выманне далучэння з IDAID у файл 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

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

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

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

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

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

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

TID:выхадное-імя

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

Вымае трэк з IDTID у файла выхадное_імя пры ўмове, што такі трэк утрымліваецца ў зыходным фале. Гэты параметр можна задаваць некалькі разоў. 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
Унутры файлаMatroskaCueClusterPositionзнаходзіцца адносна пачатковага змяшчэння дадзеных сегмента. Аднак значэнне, якое выводзіцца ў рэжыме вымання Сuemkvextract(1), ўжо ўтрымлівае гэтае змяшчэнне і з'яўляецца абслаютным змяшчэннем ад пачатка файла.

relative_position

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


Note
Унутры файлаMatroskaCueRelativePositionадносна пачатковага змяшчэння дадзеных кластара. Аднак значэнне, якое выводзіцца рэжымам вымання меткі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
2025-04-26 MKVToolNix 92.0