MKVPROPEDIT(1) User Commands MKVPROPEDIT(1)

mkvpropedit - ویرایش مشخصات فایل‌های Matroska(TM) موجود بدون نیاز به بازترکیب کامل (remux)

mkvpropedit [options] {source-filename} {actions}

این برنامه یک فایل موجود Matroska(TM) را تحلیل کرده و برخی از مشخصات آن را ویرایش می‌کند. سپس آن تغییرات را روی فایل موجود می‌نویسد. از جمله مشخصاتی که می‌توانند تغییر کنند، عناصر اطلاعات قطعه (مانند عنوان) و سرآیندهای ترک (مانند کد زبان، پرچم «ترک پیش‌فرض» یا نام) هستند.

گزینه‌ها:

-l, --list-property-names

نام تمام مشخصات شناخته‌شده و قابل ویرایش، نوع آن‌ها (رشته، عدد صحیح، بولی و غیره) و یک توضیح کوتاه را فهرست می‌کند. برنامه پس از آن خارج می‌شود؛ بنابراین نیازی به ارائه پارامتر source-filename نیست.

-p, --parse-mode mode

حالت تجزیه را تنظیم می‌کند. پارامتر 'mode' می‌تواند 'fast' (که مقدار پیش‌فرض نیز هست) یا 'full' باشد. حالت 'fast' کل فایل را تجزیه نمی‌کند بلکه از عناصر فراپیمایش (meta seek) برای یافتن عناصر مورد نیاز در فایل مبدأ استفاده می‌کند. در ۹۹٪ موارد این کار کافی است. اما برای فایل‌هایی که فاقد عناصر فراپیمایش هستند یا آسیب دیده‌اند، ممکن است کاربر مجبور به استفاده از حالت تجزیه 'full' شود. پیمایش کامل یک فایل ممکن است چند دقیقه طول بکشد در حالی که پیمایش سریع تنها چند ثانیه زمان می‌برد.

کنش‌های مربوط به مشخصات اطلاعات ترک و قطعه:

-e, --edit selector

بخش مورد نظر از فایل Matroska(TM) (اطلاعات قطعه یا سرآیندهای یک ترک مشخص) را تعیین می‌کند که تمام کنش‌های بعدی add، set و delete روی آن اعمال می‌شوند. این گزینه می‌تواند چندین بار استفاده شود تا تغییرات روی بیش از یک عنصر اعمال شوند.

به‌طور پیش‌فرض mkvpropedit(1) بخش اطلاعات قطعه را ویرایش خواهد کرد.

برای شرح کامل ساختار دستوری، بخش مربوط به انتخاب‌گرهای ویرایش را ببینید.

-a, --add name=value

مشخصه name را با مقدار value اضافه می‌کند. این مشخصه حتی اگر قبلاً وجود داشته باشد نیز اضافه خواهد شد. توجه داشته باشید که اکثر مشخصات یکتا هستند و نمی‌توانند بیش از یک بار وجود داشته باشند.

-s, --set name=value

تمام نمونه‌های مشخصه name را به مقدار value تنظیم می‌کند. اگر چنین مشخصه‌ای وجود نداشته باشد، اضافه خواهد شد.

-d, --delete name

تمام نمونه‌های مشخصه name را حذف می‌کند. توجه داشته باشید که برخی مشخصات الزامی هستند و نمی‌توان آن‌ها را حذف کرد.

کنش‌های مربوط به برچسب‌ها و فصل‌ها:

-t, --tags selector:filename

برچسب‌های موجود در فایل را با برچسب‌های موجود در filename اضافه یا جایگزین می‌کند، یا در صورت خالی بودن filename آن‌ها را حذف می‌کند. mkvpropedit(1) همان قالب برچسب‌های XML را می‌خواند که mkvmerge(1) نیز می‌خواند.

شناسه 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

فصل‌های موجود در فایل را با فصل‌های موجود در filename اضافه یا جایگزین می‌کند، یا در صورت خالی بودن filename آن‌ها را حذف می‌کند. mkvpropedit(1) همان قالب‌های XML و قالب‌های فصل ساده‌ای را می‌خواند که mkvmerge(1) نیز می‌خواند.

کنش‌های مدیریت پیوست‌ها:

--add-attachment filename

پیوست جدیدی را از filename اضافه می‌کند.

اگر گزینه --attachment-name پیش از این گزینه استفاده شده باشد، مقدار آن به عنوان نام پیوست جدید استفاده می‌شود. در غیر این صورت از filename برگرفته می‌شود.

اگر گزینه --attachment-mime-type پیش از این گزینه استفاده شده باشد، مقدار آن به عنوان نوع MIME پیوست جدید استفاده می‌شود. در غیر این صورت از محتوای filename به‌طور خودکار شناسایی می‌شود.

اگر گزینه --attachment-description پیش از این گزینه استفاده شده باشد، مقدار آن به عنوان توضیحات پیوست جدید استفاده می‌شود. در غیر این صورت هیچ توضیحی تنظیم نخواهد شد.

اگر گزینه --attachment-uid پیش از این گزینه استفاده شده باشد، مقدار آن به عنوان شناسه یکتا (UID) پیوست جدید استفاده می‌شود. در غیر این صورت یک UID تصادفی به‌طور خودکار ایجاد می‌شود.

--replace-attachment selector:filename

یک یا چند پیوست مطابق با selector را با فایل filename جایگزین می‌کند. اگر بیش از یک پیوست موجود با selector مطابقت داشته باشد، محتوای همه آن‌ها با محتوای filename جایگزین خواهد شد.

شناسه selector می‌تواند یکی از چهار شکل را داشته باشد. این اشکال در زیر در بخش انتخاب‌گرهای پیوست توضیح داده شده‌اند.

اگر گزینه --attachment-name پیش از این گزینه استفاده شده باشد، مقدار آن به عنوان نام جدید برای هر پیوست ویرایش‌شده تنظیم می‌شود. در غیر این صورت نام‌ها تغییر نمی‌کنند.

اگر گزینه --attachment-mime-type پیش از این گزینه استفاده شده باشد، مقدار آن به عنوان نوع MIME جدید برای هر پیوست ویرایش‌شده تنظیم می‌شود. در غیر این صورت نوع‌های MIME تغییر نمی‌کنند.

اگر گزینه --attachment-description پیش از این گزینه استفاده شده باشد، مقدار آن به عنوان توضیحات جدید برای هر پیوست ویرایش‌شده تنظیم می‌شود. در غیر این صورت توضیحات تغییر نمی‌کنند.

اگر گزینه --attachment-uid پیش از این گزینه استفاده شده باشد، مقدار آن به عنوان UID جدید برای هر پیوست ویرایش‌شده تنظیم می‌شود. در غیر این صورت UIDها تغییر نمی‌کنند.

--update-attachment selector

مشخصات یک یا چند پیوست منطبق بر selector را تنظیم می‌کند. اگر بیش از یک پیوست با selector مطابقت داشته باشد، مشخصات همه آن‌ها به‌روزرسانی خواهد شد.

شناسه selector می‌تواند یکی از چهار شکل را داشته باشد. این اشکال در زیر در بخش انتخاب‌گرهای پیوست توضیح داده شده‌اند.

اگر گزینه --attachment-name پیش از این گزینه استفاده شده باشد، مقدار آن به عنوان نام جدید برای هر پیوست ویرایش‌شده تنظیم می‌شود. در غیر این صورت نام‌ها تغییر نمی‌کنند.

اگر گزینه --attachment-mime-type پیش از این گزینه استفاده شده باشد، مقدار آن به عنوان نوع MIME جدید برای هر پیوست ویرایش‌شده تنظیم می‌شود. در غیر این صورت نوع‌های MIME تغییر نمی‌کنند.

اگر گزینه --attachment-description پیش از این گزینه استفاده شده باشد، مقدار آن به عنوان توضیحات جدید برای هر پیوست ویرایش‌شده تنظیم می‌شود. در غیر این صورت توضیحات تغییر نمی‌کنند.

اگر گزینه --attachment-uid پیش از این گزینه استفاده شده باشد، مقدار آن به عنوان UID جدید برای هر پیوست ویرایش‌شده تنظیم می‌شود. در غیر این صورت UIDها تغییر نمی‌کنند.

--delete-attachment selector

یک یا چند پیوست منطبق با selector را حذف می‌کند.

شناسه selector می‌تواند یکی از چهار شکل را داشته باشد. این اشکال در زیر در بخش انتخاب‌گرهای پیوست توضیح داده شده‌اند.

گزینه‌های مربوط به کنش‌های پیوست:

--attachment-name name

نام مورد استفاده برای عملیات بعدی --add-attachment یا --replace-attachment را تعیین می‌کند.

--attachment-mime-type mime-type

نوع MIME مورد استفاده برای عملیات بعدی --add-attachment یا --replace-attachment را تعیین می‌کند.

--attachment-description description

توضیحات مورد استفاده برای عملیات بعدی --add-attachment یا --replace-attachment را تعیین می‌کند.

--enable-legacy-font-mime-types

استفاده از نوع‌های قدیمی (legacy) MIME را برای برخی انواع پیوست‌های قلم فعال می‌کند. برای نمونه، 'application/x-truetype-font' به جای 'fonts/ttf' برای قلم‌های TrueType استفاده خواهد شد.

این امر هم بر افزودن پیوست‌های جدید و هم بر جایگزینی پیوست‌های موجود تأثیر می‌گذارد، اما تنها زمانی که نوع جدید MIME مشخص نشده باشد. سایر پیوست‌های موجود تغییر نمی‌کنند.

نوع‌های MIME تحت تأثیر عبارتند از 'font/sfnt'، 'font/ttf' و 'font/collection' که همگی به 'application/x-truetype-fonts' نگاشت می‌شوند و 'font/otf' که به 'application/vnd.ms-opentype' نگاشت می‌شود.

سایر گزینه‌ها:

--disable-language-ietf

به‌طور معمول هنگامی که کاربر تغییراتی را در مشخصه سرآیند ترک 'language' درخواست می‌کند، mkvpropedit(1) علاوه بر عنصر قدیمی Language، همان تغییر را روی عنصر سرآیند ترک جدید LanguageIETF نیز اعمال خواهد کرد. اگر از این گزینه استفاده شود، تغییر تنها روی عنصر قدیمی Language اعمال می‌شود.

این گزینه بر تغییرات درخواست‌شده از طریق مشخصه سرآیند ترک 'language-ietf' تأثیری ندارد.

--normalize-language-ietf mode

نرمال‌سازی تمام برچسب‌های زبان IETF BCP 47 را فعال می‌کند؛ چه به شکل متعارف (canonical) با حالت 'canonical'، چه به شکل زیربرچسب‌های زبان گسترش‌یافته با حالت 'extlang'، یا با حالت 'off' آن را غیرفعال می‌کند. به‌طور پیش‌فرض، نرمال‌سازی به شکل متعارف اعمال می‌شود.

در شکل متعارف، تمام زیربرچسب‌هایی که مقادیر ترجیحی برای آن‌ها وجود دارد با آن مقادیر ترجیحی جایگزین می‌شوند. برای نمونه این کار '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

مجموعه‌نویسه مبدأ برای تبدیل رشته‌های ارائه‌شده در خط فرمان را تعیین می‌کند. پیش‌فرض آن برابر با مجموعه‌نویسه ارائه‌شده توسط موقعیت مکانی (locale) فعلی سیستم است.

--output-charset character-set

مجموعه‌نویسه‌ای را که رشته‌های خروجی باید به آن تبدیل شوند، تعیین می‌کند. پیش‌فرض آن مجموعه‌نویسه ارائه‌شده توسط موقعیت مکانی (locale) فعلی سیستم است.

-r, --redirect-output file-name

تمام پیام‌ها را به جای کنسول، در فایل file-name می‌نویسد. اگرچه این کار را می‌توان به‌سادگی با تغییر مسیر خروجی شل انجام داد، اما مواردی وجود دارد که این گزینه لازم است: هنگامی که ترمینال پیش از نوشتن خروجی در فایل، آن را بازتفسیر می‌کند. مجموعه‌نویسه تعیین‌شده با --output-charset رعایت می‌شود.

--no-bom

به‌طور معمول فایل‌های متنی ایجادشده و رمزگذاری‌شده در یکی از گونه‌های UTF با یک نشانگر ترتیب بایت (BOM) شروع می‌شوند. استفاده از این گزینه، نوشتن آن نشانگر ترتیب بایت را غیرفعال می‌کند.

--ui-language code

استفاده از ترجمه‌های زبان code را اجبار می‌کند (برای نمونه 'de_DE' برای ترجمه‌های آلمانی). وارد کردن 'list' به عنوان code باعث می‌شود برنامه فهرستی از ترجمه‌های موجود را خروجی دهد.

--abort-on-warnings

به برنامه می‌گوید که پس از صدور نخستین هشدار متوقف شود. کد خروج برنامه برابر با ۱ خواهد بود.

--debug topic

اشکال‌زدایی را برای یک قابلیت خاص فعال می‌کند. این گزینه تنها برای توسعه‌دهندگان مفید است.

--engage feature

قابلیت‌های آزمایشی را فعال می‌کند. فهرستی از قابلیت‌های موجود را می‌توان با mkvpropedit --engage list دریافت کرد. این ویژگی‌ها برای استفاده در شرایط عادی در نظر گرفته نشده‌اند.

--gui-mode

حالت رابط گرافیکی کاربر (GUI) را فعال می‌کند. در این حالت ممکن است خطوطی با قالب‌بندی ویژه خروجی داده شوند که به یک واسط کاربری کنترل‌کننده گزارش می‌دهند چه اتفاقی در حال رخ دادن است. این پیام‌ها از قالب '#GUI#message' پیروی می‌کنند. این پیام ممکن است با جفت‌های کلید/مقدار دنبال شود، مانند '#GUI#message#key1=value1#key2=value2...'. نه پیام‌ها و نه کلیدها هرگز ترجمه نمی‌شوند و همواره به انگلیسی خروجی داده می‌شوند.

-v, --verbose

خروجی پرگو ارائه می‌دهد و تمام عناصر مهم Matroska(TM) را هنگام خوانده شدن نمایش می‌دهد.

-h, --help

اطلاعات کاربرد را نشان داده و خارج می‌شود.

-V, --version

اطلاعات نسخه را نشان داده و خارج می‌شود.

@options-file.json

آرگومان‌های اضافی خط فرمان را از فایل options-file می‌خواند. برای توضیحات کامل در مورد قالب‌های پشتیبانی‌شده برای چنین فایل‌هایی، بخش بنام "Option files" را در صفحه راهنمای mkvmerge(1) ببینید.

گزینه --edit بخش مورد نظر از فایل Matroska(TM) (اطلاعات قطعه یا سرآیندهای یک ترک خاص) را تعیین می‌کند که تمام کنش‌های بعدی add، set و delete روی آن اعمال می‌شوند. این حالت تا زمانی که گزینه بعدی --edit یافت شود معتبر می‌ماند. به آرگومان این گزینه، انتخاب‌گر ویرایش گفته می‌شود.

به‌طور پیش‌فرض mkvpropedit(1) بخش اطلاعات قطعه را ویرایش خواهد کرد.

اطلاعات قطعه را می‌توان با یکی از این سه کلمه انتخاب کرد: 'info'، 'segment_info' یا 'segmentinfo'. این بخش شامل مشخصاتی مانند عنوان قطعه یا UID قطعه است.

سرآیندهای ترک را می‌توان با یک انتخاب‌گر کمی پیچیده‌تر انتخاب کرد. تمام گونه‌ها با 'track:' آغاز می‌شوند. مشخصات سرآیند ترک شامل عناصری مانند کد زبان، پرچم «ترک پیش‌فرض» یا نام ترک است.

track:n

اگر پارامتر n یک عدد باشد، n‌امین ترک انتخاب خواهد شد. ترتیب ترک‌ها همان ترتیبی است که گزینه --identify در mkvmerge(1) خروجی می‌دهد.

شماره‌گذاری از ۱ آغاز می‌شود.

track:tn

اگر پارامتر با یک تک‌نویسه t آغاز شود و به دنبال آن یک n بیاید، n‌امین ترک از یک نوع ترک مشخص انتخاب خواهد شد. پارامتر نوع ترک t باید یکی از این چهار نویسه باشد: 'a' برای ترک صوتی، 'b' برای ترک دکمه، 's' برای ترک زیرنویس و 'v' برای ترک ویدیویی. ترتیب ترک‌ها همان ترتیبی است که گزینه --identify در mkvmerge(1) خروجی می‌دهد.

شماره‌گذاری از ۱ آغاز می‌شود.

track:=uid

اگر پارامتر با یک '=' آغاز شود و به دنبال آن یک عدد uid بیاید، ترکی که عنصر UID ترک آن با uid داده‌شده برابر باشد انتخاب خواهد شد. شناسه‌های UID ترک‌ها را می‌توان با mkvinfo(1) به دست آورد.

track:@number

اگر پارامتر با یک '@' آغاز شود و به دنبال آن یک عدد number بیاید، ترکی که عنصر شماره ترک آن با این number برابر باشد انتخاب خواهد شد. شماره ترک‌ها را می‌توان با mkvinfo(1) به دست آورد.

به دلیل ماهیت انتخاب‌گرهای ویرایش ترک، ممکن است چندین انتخاب‌گر با سرآیندهای یک ترک یکسان مطابقت داشته باشند. در چنین مواردی تمام کنش‌های مربوط به آن انتخاب‌گرهای ویرایش ترکیب شده و به ترتیبی که در خط فرمان داده شده‌اند اجرا خواهند شد.

یک انتخاب‌گر پیوست همراه با دو کنش --replace-attachment و --delete-attachment استفاده می‌شود. این انتخاب‌گر می‌تواند یکی از چهار شکل زیر را داشته باشد:

1.انتخاب بر پایه شناسه پیوست. در این شکل، انتخاب‌گر صرفاً یک عدد است که همان شناسه پیوست خروجی داده شده توسط دستور شناسایی mkvmerge(1) می‌باشد.
2.انتخاب بر پایه UID پیوست (شناسه یکتا). در این شکل، انتخاب‌گر علامت مساوی = به همراه یک عدد است که همان شناسه یکتای پیوست خروجی داده شده توسط دستور شناسایی پرگوی mkvmerge(1) می‌باشد.
3.انتخاب بر پایه نام پیوست. در این شکل، انتخاب‌گر عبارت دقیق name: به همراه نام پیوست موجود است. اگر این انتخاب‌گر همراه با --replace-attachment استفاده شود، دو‌نقطه‌های درون نام برای تطبیق باید به صورت \c اسکیپ شوند.
4.انتخاب بر پایه نوع MIME. در این شکل، انتخاب‌گر عبارت دقیق mime-type: به همراه نوع MIME پیوست موجود است. اگر این انتخاب‌گر همراه با --replace-attachment استفاده شود، دو‌نقطه‌های درون نوع MIME برای تطبیق باید به صورت \c اسکیپ شوند.

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 انتخاب کنید.

مثال زیر فایلی به نام '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

mkvpropedit(1) با یکی از این سه کد خروج خارج می‌شود:

•0 -- این کد خروج به این معنی است که ویرایش با موفقیت به پایان رسیده است.
•1 -- در این حالت mkvpropedit(1) دست‌کم یک هشدار صادر کرده است، اما ویرایش ادامه یافته است. یک هشدار با پیشوند متن 'Warning:' مشخص می‌شود. بسته به ماهیت اشکالات رخ‌داده، فایل‌های حاصل ممکن است درست باشند یا خیر. اکیداً به کاربر توصیه می‌شود که هم هشدار و هم فایل‌های حاصل را بررسی کند.
•2 -- این کد خروج پس از رخ دادن یک خطا استفاده می‌شود. mkvpropedit(1) بلافاصله پس از نمایش پیام خطا متوقف می‌شود. پیام‌های خطا گستره‌ای از آرگومان‌های اشتباه خط فرمان گرفته تا خطاهای خواندن/نوشتن و فایل‌های آسیب‌دیده را در بر می‌گیرند.

برای بررسی دقیق و عمیق درباره نحوه مدیریت تبدیل‌های مجموعه‌نویسه، کدگذاری ورودی/خروجی، کدگذاری خط فرمان و کدگذاری کنسول در تمامی ابزارهای مجموعه MKVToolNix، لطفاً بخشی با همین عنوان را در صفحه راهنمای mkvmerge(1) ببینید.

mkvpropedit(1) از متغیرهای پیش‌فرضی که تنظیمات محلی (locale) سیستم را تعیین می‌کنند (مانند LANG و خانواده LC_*) استفاده می‌کند. متغیرهای تکمیلی:

MKVPROPEDIT_DEBUG، MKVTOOLNIX_DEBUG و شکل کوتاه آن MTX_DEBUG

محتوای آن به گونه‌ای رفتار می‌شود که گویی از طریق گزینه --debug ارسال شده است.

MKVPROPEDIT_ENGAGE، MKVTOOLNIX_ENGAGE و شکل کوتاه آن MTX_ENGAGE

محتوای آن به گونه‌ای رفتار می‌شود که گویی از طریق گزینه --engage ارسال شده است.

mkvmerge(1), mkvinfo(1), mkvextract(1), mkvtoolnix-gui(1)

همیشه می‌توان جدیدترین نسخه را در وبگاه اصلی MKVToolNix[1] یافت.

Moritz Bunkus <moritz@bunkus.org>

توسعه‌دهنده

1.
وبگاه اصلی MKVToolNix
2026-08-24 MKVToolNix 101.0