| MKVEXTRACT(1) | User Commands | MKVEXTRACT(1) |
نام (NAME)
mkvextract - استخراج قطعهها از فایلهای ماتروشکا (Matroska(TM)) به فایلهای دیگر
خلاصه دستور (SYNOPSIS)
mkvextract {source-filename} {mode1} [options] [extraction-spec1] [mode2] [options] [extraction-spec2] [...]
توضیحات (DESCRIPTION)
این برنامه بخشهای مشخصی را از یک فایل Matroska(TM) به قالبهای مفید دیگر استخراج میکند. اولین آرگومان، نام فایل منبع است که باید یک فایل Matroska(TM) باشد.
سایر آرگومانها یا به یک حالت استخراج مشخص تغییر وضعیت میدهند، یا گزینههای حالت فعال فعلی را تغییر میدهند، یا مشخص میکنند چه چیزی در کدام فایل استخراج شود. در یک فراخوانی mkvextract میتوان از چندین حالت استفاده کرد که امکان استخراج چندین مورد را در یک نوبت پردازش فراهم میکند. بیشتر گزینهها فقط در حالتهای خاصی قابل استفاده هستند و تعداد کمی از گزینهها برای همه حالتها کاربرد دارند.
در حال حاضر استخراج موارد زیر پشتیبانی میشود: قطعهها (tracks)، برچسبها (tags)، پیوستها (attachments)، فصلها (chapters)، برگههای نشانه (CUE sheets)، مهرهای زمانی (timestamps) و نشانهها (cues).
گزینههای عمومی (Common options)
گزینههای زیر در تمامی حالتها در دسترس هستند و تنها یک بار در این بخش توضیح داده شدهاند.
-f, --parse-fully
--command-line-charset character-set
--output-charset character-set
-r, --redirect-output file-name
--no-bom
--flush-on-close
--ui-language code
--abort-on-warnings
--debug topic
--engage feature
--gui-mode
-v, --verbose
-h, --help
-V, --version
@options-file.json
حالت استخراج قطعهها (Track extraction mode)
نحو: mkvextract source-filename tracks [options] TID1:dest-filename1 [TID2:dest-filename2 ...]
گزینههای خط فرمان زیر برای هر قطعه در حالت استخراج 'tracks' در دسترس هستند. آنها باید پیش از مشخصات قطعهای (در زیر ببینید) که قرار است روی آن اعمال شوند، قرار گیرند.
-c character-set
--blockadd level
--cuesheet
--raw
--fullraw
TID:outname
هر نام خروجی باید تنها یک بار استفاده شود. استثنا در این مورد، قطعههای RealAudio و RealVideo هستند. اگر از یک نام یکسان برای قطعههای مختلف استفاده کنید، آن قطعهها در همان فایل ذخیره خواهند شد. مثال:
$ mkvextract input.mkv tracks 0:video.h264 2:output-two-vobsub-tracks.idx 3:output-two-vobsub-tracks.idx
حالت استخراج پیوستها (Attachments extraction mode)
نحو: mkvextract source-filename attachments [options] AID1:outname1 [AID2:outname2 ...]
AID:outname
حالت استخراج فصلها (Chapters extraction mode)
نحو: mkvextract source-filename chapters [options] output-filename.xml
-s, --simple
--simple-language language
استفاده از این گزینه به کاربر امکان میدهد تعیین کند که در صورت وجود بیش از یک نام برای هر اتم فصل، کدام نامهای فصل خروجی داده شوند. پارامتر language باید یک کد ISO 639-1 یا ISO 639-2 باشد.
فصلها در فایل خروجی مشخصشده نوشته میشوند. به طور پیشفرض از قالب XML که برای mkvmerge(1) قابل فهم است استفاده میشود. اگر هیچ فصلی در فایل یافت نشود، فایل خروجی ایجاد نمیگردد.
حالت استخراج برچسبها (Tags extraction mode)
نحو: mkvextract source-filename tags [options] output-filename.xml
-T, --no-track-tags
برچسبها در قالب XML قابل فهم برای mkvmerge(1) در فایل خروجی مشخصشده نوشته میشوند. اگر هیچ برچسبی در فایل یافت نشود، فایل خروجی ایجاد نخواهد شد.
حالت استخراج برگه نشانه (Cue sheet extraction mode)
نحو: mkvextract source-filename cuesheet [options] output-filename.cue
برگه نشانه در فایل خروجی مشخصشده نوشته میشود. اگر هیچ فصل یا برچسبی در فایل یافت نشود، فایل خروجی ایجاد نخواهد شد.
حالت استخراج مهر زمانی (Timestamp extraction mode)
نحو: mkvextract source-filename timestamps_v2 [options] TID1:dest-filename1 [TID2:dest-filename2 ...]
TID:outname
مثال:
$ mkvextract input.mkv timestamps_v2 1:ts-track1.txt 2:ts-track2.txt
حالت استخراج نشانهها (Cues extraction mode)
نحو: mkvextract source-filename cues [options] TID1:dest-filename1 [TID2:dest-filename2 ...]
TID:dest-filename
قالب خروجی یک قالب متنی ساده است: یک خط به ازای هر عنصر CuePoint با جفتهای key=value (کلید=مقدار). اگر یک عنصر اختیاری در یک CuePoint وجود نداشته باشد (مانند CueDuration)، یک خط تیره به عنوان مقدار خروجی داده خواهد شد.
مثال:
timestamp=00:00:13.305000000 duration=- cluster_position=757741 relative_position=11
کلیدهای ممکن عبارتند از:
timestamp
duration
cluster_position
نکته
در داخل فایل Matroska(TM)، عنصر CueClusterPosition نسبت به آفست شروع دادههای قطعه (segment) محاسبه میشود. با این حال، مقدار خروجی حالت استخراج نشانه در mkvextract(1) از قبل شامل آن آفست بوده و یک آفست مطلق از ابتدای فایل است.
relative_position
نکته
در داخل فایل Matroska(TM)، عنصر CueRelativePosition نسبت به آفست شروع دادههای خوشه است. با این حال، مقدار خروجی حالت استخراج نشانه در mkvextract(1) نسبت به شناسه خوشه است. موقعیت مطلق در داخل فایل را میتوان با جمع زدن cluster_position و relative_position محاسبه کرد.
مثال:
$ mkvextract input.mkv cues 1:cues-track1.txt 2:cues-track2.txt
مثالها (EXAMPLES)
استخراج همزمان فصلها و برچسبها در قالبهای 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"
فایلهای متنی و تبدیل مجموعههای نویسه (TEXT FILES AND CHARACTER SET CONVERSIONS)
برای بررسی دقیق درباره نحوه مدیریت تبدیل مجموعههای نویسه، کدگذاری ورودی/خروجی، کدگذاری خط فرمان و کدگذاری کنسول در تمامی ابزارهای مجموعه MKVToolNix، لطفاً بخشی با همین نام را در صفحه راهنمای mkvmerge(1) مشاهده کنید.
قالبهای فایل خروجی (OUTPUT FILE FORMATS)
تصمیمگیری درباره قالب خروجی بر اساس نوع قطعه انجام میشود، نه بر اساس پسوند بهکاررفته برای نام فایل خروجی. در حال حاضر انواع قطعههای زیر پشتیبانی میشوند:
A_AAC/MPEG2/*, A_AAC/MPEG4/*, A_AAC
A_AC3, A_EAC3
A_ALAC
A_DTS
A_FLAC
A_MPEG/L2
A_MPEG/L3
A_OPUS
A_PCM/INT/LIT, A_PCM/INT/BIG
A_REAL/*
A_TRUEHD, A_MLP
A_TTA1
A_VORBIS
A_WAVPACK4
S_HDMV/PGS
S_HDMV/TEXTST
S_KATE
S_TEXT/SSA, S_TEXT/ASS, S_SSA, S_ASS
S_TEXT/UTF8, S_TEXT/ASCII
S_VOBSUB
S_TEXT/USF
S_TEXT/WEBVTT
V_MPEG1, V_MPEG2
V_MPEG4/ISO/AVC
V_MPEG4/ISO/HEVC
V_MS/VFW/FOURCC
V_REAL/*
V_THEORA
V_VP8, V_VP9
برچسبها (Tags)
پیوستها (Attachments)
فصلها (Chapters)
مهرهای زمانی (Timestamps)
کدهای خروج (EXIT CODES)
دستور mkvextract(1) با یکی از سه کد خروج زیر به کار خود پایان میدهد:
متغیرهای محیطی (ENVIRONMENT VARIABLES)
دستور mkvextract(1) از متغیرهای پیشفرضی که تعیینکننده محلیسازی سیستم هستند (مانند LANG و خانواده LC_*) استفاده میکند. متغیرهای اضافی:
MKVEXTRACT_DEBUG, MKVTOOLNIX_DEBUG و شکل کوتاه آن MTX_DEBUG
MKVEXTRACT_ENGAGE, MKVTOOLNIX_ENGAGE و شکل کوتاه آن MTX_ENGAGE
همچنین ببینید (SEE ALSO)
WWW
همیشه میتوانید جدیدترین نسخه را در وبگاه MKVToolNix[1] پیدا کنید.
نویسنده (AUTHOR)
Moritz Bunkus <moritz@bunkus.org>
نکات (NOTES)
- 1.
- وبگاه MKVToolNix
| 2026-08-24 | MKVToolNix 101.0 |