| MKVPROPEDIT(1) | User Commands | MKVPROPEDIT(1) |
نام (NAME)
mkvpropedit - ویرایش مشخصات فایلهای Matroska(TM) موجود بدون نیاز به بازترکیب کامل (remux)
خلاصه دستور (SYNOPSIS)
mkvpropedit [options] {source-filename} {actions}
توضیحات (DESCRIPTION)
این برنامه یک فایل موجود Matroska(TM) را تحلیل کرده و برخی از مشخصات آن را ویرایش میکند. سپس آن تغییرات را روی فایل موجود مینویسد. از جمله مشخصاتی که میتوانند تغییر کنند، عناصر اطلاعات قطعه (مانند عنوان) و سرآیندهای ترک (مانند کد زبان، پرچم «ترک پیشفرض» یا نام) هستند.
گزینهها:
-l, --list-property-names
-p, --parse-mode mode
کنشهای مربوط به مشخصات اطلاعات ترک و قطعه:
-e, --edit selector
بهطور پیشفرض mkvpropedit(1) بخش اطلاعات قطعه را ویرایش خواهد کرد.
برای شرح کامل ساختار دستوری، بخش مربوط به انتخابگرهای ویرایش را ببینید.
-a, --add name=value
-s, --set name=value
-d, --delete name
کنشهای مربوط به برچسبها و فصلها:
-t, --tags selector:filename
شناسه selector باید یکی از کلمات all، global یا track باشد. با all، mkvpropedit(1) تمام برچسبهای موجود در یک فایل را جایگزین یا حذف میکند. با global تنها برچسبهای سراسری جایگزین یا حذف میشوند.
با track، mkvpropedit(1) برچسبها را برای یک ترک خاص جایگزین میکند. علاوه بر این، برچسبهای خواندهشده از filename به همان ترک اختصاص خواهند یافت. ترک به همان شیوهای مشخص میشود که انتخابگرهای ویرایش تعیین میشوند (در زیر ببینید)، مانند --tags track:a1:new-audio-tags.xml.
--add-track-statistics-tags
--delete-track-statistics-tags
-c, --chapters filename
کنشهای مدیریت پیوستها:
--add-attachment filename
اگر گزینه --attachment-name پیش از این گزینه استفاده شده باشد، مقدار آن به عنوان نام پیوست جدید استفاده میشود. در غیر این صورت از filename برگرفته میشود.
اگر گزینه --attachment-mime-type پیش از این گزینه استفاده شده باشد، مقدار آن به عنوان نوع MIME پیوست جدید استفاده میشود. در غیر این صورت از محتوای filename بهطور خودکار شناسایی میشود.
اگر گزینه --attachment-description پیش از این گزینه استفاده شده باشد، مقدار آن به عنوان توضیحات پیوست جدید استفاده میشود. در غیر این صورت هیچ توضیحی تنظیم نخواهد شد.
اگر گزینه --attachment-uid پیش از این گزینه استفاده شده باشد، مقدار آن به عنوان شناسه یکتا (UID) پیوست جدید استفاده میشود. در غیر این صورت یک UID تصادفی بهطور خودکار ایجاد میشود.
--replace-attachment selector:filename
شناسه selector میتواند یکی از چهار شکل را داشته باشد. این اشکال در زیر در بخش انتخابگرهای پیوست توضیح داده شدهاند.
اگر گزینه --attachment-name پیش از این گزینه استفاده شده باشد، مقدار آن به عنوان نام جدید برای هر پیوست ویرایششده تنظیم میشود. در غیر این صورت نامها تغییر نمیکنند.
اگر گزینه --attachment-mime-type پیش از این گزینه استفاده شده باشد، مقدار آن به عنوان نوع MIME جدید برای هر پیوست ویرایششده تنظیم میشود. در غیر این صورت نوعهای MIME تغییر نمیکنند.
اگر گزینه --attachment-description پیش از این گزینه استفاده شده باشد، مقدار آن به عنوان توضیحات جدید برای هر پیوست ویرایششده تنظیم میشود. در غیر این صورت توضیحات تغییر نمیکنند.
اگر گزینه --attachment-uid پیش از این گزینه استفاده شده باشد، مقدار آن به عنوان UID جدید برای هر پیوست ویرایششده تنظیم میشود. در غیر این صورت UIDها تغییر نمیکنند.
--update-attachment selector
شناسه selector میتواند یکی از چهار شکل را داشته باشد. این اشکال در زیر در بخش انتخابگرهای پیوست توضیح داده شدهاند.
اگر گزینه --attachment-name پیش از این گزینه استفاده شده باشد، مقدار آن به عنوان نام جدید برای هر پیوست ویرایششده تنظیم میشود. در غیر این صورت نامها تغییر نمیکنند.
اگر گزینه --attachment-mime-type پیش از این گزینه استفاده شده باشد، مقدار آن به عنوان نوع MIME جدید برای هر پیوست ویرایششده تنظیم میشود. در غیر این صورت نوعهای MIME تغییر نمیکنند.
اگر گزینه --attachment-description پیش از این گزینه استفاده شده باشد، مقدار آن به عنوان توضیحات جدید برای هر پیوست ویرایششده تنظیم میشود. در غیر این صورت توضیحات تغییر نمیکنند.
اگر گزینه --attachment-uid پیش از این گزینه استفاده شده باشد، مقدار آن به عنوان UID جدید برای هر پیوست ویرایششده تنظیم میشود. در غیر این صورت UIDها تغییر نمیکنند.
--delete-attachment selector
شناسه selector میتواند یکی از چهار شکل را داشته باشد. این اشکال در زیر در بخش انتخابگرهای پیوست توضیح داده شدهاند.
گزینههای مربوط به کنشهای پیوست:
--attachment-name name
--attachment-mime-type mime-type
--attachment-description description
--enable-legacy-font-mime-types
این امر هم بر افزودن پیوستهای جدید و هم بر جایگزینی پیوستهای موجود تأثیر میگذارد، اما تنها زمانی که نوع جدید MIME مشخص نشده باشد. سایر پیوستهای موجود تغییر نمیکنند.
نوعهای MIME تحت تأثیر عبارتند از 'font/sfnt'، 'font/ttf' و 'font/collection' که همگی به 'application/x-truetype-fonts' نگاشت میشوند و 'font/otf' که به 'application/vnd.ms-opentype' نگاشت میشود.
سایر گزینهها:
--disable-language-ietf
این گزینه بر تغییرات درخواستشده از طریق مشخصه سرآیند ترک 'language-ietf' تأثیری ندارد.
--normalize-language-ietf mode
در شکل متعارف، تمام زیربرچسبهایی که مقادیر ترجیحی برای آنها وجود دارد با آن مقادیر ترجیحی جایگزین میشوند. برای نمونه این کار 'zh-yue-jyutping' را به 'yue-jyutping' یا 'fr-FX' را به 'fr-FR' تبدیل میکند.
برای شکل زیربرچسبهای زبان گسترشیافته، ابتدا شکل متعارف ساخته میشود. پس از آن تمام زبانهای اصلی که زیربرچسب زبان گسترشیافته دارند، با آن زیربرچسب زبان گسترشیافته و پیشوند آن جایگزین میشوند. برای نمونه این کار 'yue-jyutping' را دوباره به 'zh-yue-jyutping' تبدیل میکند اما تأثیری بر 'fr-FR' ندارد زیرا 'fr' یک زیربرچسب زبان گسترشیافته نیست.
این نرمالسازی تنها برای عناصری اعمال میشود که واقعاً تغییر یافتهاند:
بهترین راه برای نرمالسازی تمام برچسبهای زبان موجود در یک فایل، ترکیب مجدد (remux) آن با mkvmerge(1) و تنظیم گزینه '--normalize-language-ietf' روی حالت مورد نظر است.
--command-line-charset character-set
--output-charset character-set
-r, --redirect-output file-name
--no-bom
--ui-language code
--abort-on-warnings
--debug topic
--engage feature
--gui-mode
-v, --verbose
-h, --help
-V, --version
@options-file.json
انتخابگرهای ویرایش (EDIT SELECTORS)
گزینه --edit بخش مورد نظر از فایل Matroska(TM) (اطلاعات قطعه یا سرآیندهای یک ترک خاص) را تعیین میکند که تمام کنشهای بعدی add، set و delete روی آن اعمال میشوند. این حالت تا زمانی که گزینه بعدی --edit یافت شود معتبر میماند. به آرگومان این گزینه، انتخابگر ویرایش گفته میشود.
بهطور پیشفرض mkvpropedit(1) بخش اطلاعات قطعه را ویرایش خواهد کرد.
اطلاعات قطعه (Segment information)
اطلاعات قطعه را میتوان با یکی از این سه کلمه انتخاب کرد: 'info'، 'segment_info' یا 'segmentinfo'. این بخش شامل مشخصاتی مانند عنوان قطعه یا UID قطعه است.
سرآیندهای ترک (Track headers)
سرآیندهای ترک را میتوان با یک انتخابگر کمی پیچیدهتر انتخاب کرد. تمام گونهها با 'track:' آغاز میشوند. مشخصات سرآیند ترک شامل عناصری مانند کد زبان، پرچم «ترک پیشفرض» یا نام ترک است.
track:n
شمارهگذاری از ۱ آغاز میشود.
track:tn
شمارهگذاری از ۱ آغاز میشود.
track:=uid
track:@number
نکات (Notes)
به دلیل ماهیت انتخابگرهای ویرایش ترک، ممکن است چندین انتخابگر با سرآیندهای یک ترک یکسان مطابقت داشته باشند. در چنین مواردی تمام کنشهای مربوط به آن انتخابگرهای ویرایش ترکیب شده و به ترتیبی که در خط فرمان داده شدهاند اجرا خواهند شد.
انتخابگرهای پیوست (ATTACHMENT SELECTORS)
یک انتخابگر پیوست همراه با دو کنش --replace-attachment و --delete-attachment استفاده میشود. این انتخابگر میتواند یکی از چهار شکل زیر را داشته باشد:
مدیریت زبان (LANGUAGE HANDLING)
mkvpropedit(1) بیشتر سعی میکند بهطور پیشفرض کار درست را انجام دهد. بنابراین اعمال تغییرات روی مشخصه language باعث خواهد شد که mkvpropedit(1) همان تغییر را بر روی هر دو عنصر جدید "LanguageIETF" و عنصر قدیمی "Language" اعمال کند، شبیه به نحوه عملکرد mkvmerge(1) که زبان را بر روی هر دو عنصر اعمال میکند. برای نمونه هنگام استفاده از mkvpropedit movie.mkv --edit track:2 --set language=zh-TW عنصر "LanguageIETF" بر روی zh-TW تنظیم خواهد شد و عنصر قدیمی "Language" بر روی chi.
علاوه بر این، یک مشخصه سرآیند ترک جدید به نام language-ietf وجود دارد که میتواند تنظیم یا حذف شود. تغییرات روی این مشخصه تنها بر عنصر سرآیند ترک جدید "LanguageIETF" اعمال میشود. یک نکته قابل توجه این است که عنصر سرآیند ترک قدیمی "Language" یک عنصر الزامی در Matroska است — به این معنی که حتی اگر در فایل وجود نداشته باشد، همچنان یک مقدار ضمنی دارد. هنگامی که کاربر تنها مشخصه language-ietf را تنظیم میکند و مشخصه language را تنظیم نمیکند، mkvpropedit(1) بنابراین در موارد خاصی عنصر قدیمی "Language" را اضافه کرده و آن را بر روی und (به معنای «تعییننشده») تنظیم میکند، زیرا کاربر مقداری برای آن مشخص نکرده است.
هنگام خواندن فایلهای فصل یا برچسب XML، ابزار mkvpropedit(1) همانند mkvmerge(1) عمل میکند.
ایجاد عناصر جدید میتواند بهطور کامل با گزینه خط فرمان `--disable-language-ietf` که بر هر سه عنصر جدید اثر میگذارد غیرفعال شود.
میتوانید روش نرمالسازی اعمالشده بر زیربرچسبهای زبان گسترشیافته را با پارامتر --normalize-language-ietf انتخاب کنید.
مثالها (EXAMPLES)
مثال زیر فایلی به نام 'movie.mkv' را ویرایش میکند. این دستور عنوان قطعه را تنظیم کرده و کد زبان یک ترک صوتی و یک ترک زیرنویس را تغییر میدهد. توجه داشته باشید که این مثال را میتوان با حذف نخستین گزینه --edit کوتاهتر کرد، زیرا در هر صورت ویرایش عنصر اطلاعات قطعه حالت پیشفرض برای تمام گزینههای پیش از نخستین گزینه --edit است.
$ mkvpropedit movie.mkv --edit info --set "title=The movie" --edit track:a1 --set language=fre --edit track:a2 --set language=ita
مثال دوم پرچم «ترک پیشفرض» را از اولین ترک زیرنویس حذف کرده و آن را برای دومی تنظیم میکند. توجه داشته باشید که mkvpropedit(1) برخلاف mkvmerge(1)، هنگامی که پرچم «ترک پیشفرض» برای یک ترک روی '1' تنظیم میشود، این پرچم را برای سایر ترکها بهطور خودکار روی '0' قرار نمیدهد.
$ mkvpropedit movie.mkv --edit track:s1 --set flag-default=0 --edit track:s2 --set flag-default=1
جایگزینی برچسبها برای دومین ترک زیرنویس در یک فایل به این صورت است:
$ mkvpropedit movie.mkv --tags track:s2:new-subtitle-tags.xml
حذف تمام برچسبها مستلزم حذف نام فایل است:
$ mkvpropedit movie.mkv --tags all:
جایگزینی فصلها در یک فایل به این صورت است:
$ mkvpropedit movie.mkv --chapters new-chapters.xml
حذف تمام فصلها مستلزم حذف نام فایل است:
$ mkvpropedit movie.mkv --chapters ''
افزودن یک فایل قلم (Arial.ttf) به عنوان پیوست:
$ mkvpropedit movie.mkv --add-attachment Arial.ttf
افزودن یک فایل قلم (89719823.ttf) به عنوان پیوست و ارائه برخی اطلاعات، با توجه به اینکه این فایل در واقع همان Arial است:
$ mkvpropedit movie.mkv --attachment-name Arial.ttf --attachment-description 'The Arial font as a TrueType font' --attachment-mime-type application/x-truetype-font --add-attachment 89719823.ttf
جایگزینی یک فایل قلم پیوستشده (Comic.ttf) با یک فایل دیگر (Arial.ttf):
$ mkvpropedit movie.mkv --attachment-name Arial.ttf --attachment-description 'The Arial font as a TrueType font' --replace-attachment name:Comic.ttf:Arial.ttf
حذف دومین فایل پیوستشده، هر چه که باشد:
$ mkvpropedit movie.mkv --delete-attachment 2
حذف تمام قلمهای پیوستشده بر اساس نوع MIME:
$ mkvpropedit movie.mkv --delete-attachment mime-type:application/x-truetype-font
کدهای خروج (EXIT CODES)
mkvpropedit(1) با یکی از این سه کد خروج خارج میشود:
فایلهای متنی و تبدیل مجموعهنویسه (TEXT FILES AND CHARACTER SET CONVERSIONS)
برای بررسی دقیق و عمیق درباره نحوه مدیریت تبدیلهای مجموعهنویسه، کدگذاری ورودی/خروجی، کدگذاری خط فرمان و کدگذاری کنسول در تمامی ابزارهای مجموعه MKVToolNix، لطفاً بخشی با همین عنوان را در صفحه راهنمای mkvmerge(1) ببینید.
متغیرهای محیطی (ENVIRONMENT VARIABLES)
mkvpropedit(1) از متغیرهای پیشفرضی که تنظیمات محلی (locale) سیستم را تعیین میکنند (مانند LANG و خانواده LC_*) استفاده میکند. متغیرهای تکمیلی:
MKVPROPEDIT_DEBUG، MKVTOOLNIX_DEBUG و شکل کوتاه آن MTX_DEBUG
MKVPROPEDIT_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 |