'\" t .\" Man page generated from reStructuredText .\" by the Docutils 0.23 manpage writer. . . .nr rst2man-indent-level 0 . .de1 rstReportMargin \\$1 \\n[an-margin] level \\n[rst2man-indent-level] level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] - \\n[rst2man-indent0] \\n[rst2man-indent1] \\n[rst2man-indent2] .. .de1 INDENT .\" .rstReportMargin pre: . RS \\$1 . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] . nr rst2man-indent-level +1 .\" .rstReportMargin post: .. .de UNINDENT . RE .\" indent \\n[an-margin] .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] .nr rst2man-indent-level -1 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. .TH "mpv" "1" "" "" "multimedia" .SH "نام (NAME)" mpv \- یک پخش‌کننده چندرسانه‌ای .SH "خلاصه دستور (SYNOPSIS)" .nf \fBmpv\fP [options] [file|URL|PLAYLIST|\-] \fBmpv\fP [options] files .fi .sp .SH "توضیحات (DESCRIPTION)" .sp برنامه \fBmpv\fP یک پخش‌کننده چندرسانه‌ای بر پایه MPlayer و mplayer2 است. این برنامه از طیف گسترده‌ای از قالب‌های فایل‌های ویدیویی، کدک‌های صوتی و تصویری، و انواع زیرنویس‌ها پشتیبانی می‌کند. انواع ویژه‌ای از URLهای ورودی برای خواندن ورودی از منابع مختلفی غیر از فایل‌های روی دیسک در دسترس هستند. بسته به پلتفرم، روش‌های خروجی ویدیویی و صوتی مختلفی پشتیبانی می‌شوند. .sp نمونه‌هایی از کاربرد برنامه برای شروع سریع کار با آن در انتهای این صفحه راهنما آمده است. .SH "کنترل تعاملی (INTERACTIVE CONTROL)" .sp برنامه mpv دارای یک لایه کنترلی کاملاً قابل‌پیکربندی و دستور‌محور است که به شما امکان می‌دهد mpv را با استفاده از صفحه‌کلید، ماوس، یا کنترل از راه دور هدایت کنید (پشتیبانی از LIRC وجود ندارد \- در عوض ریموت‌ها را به‌عنوان دستگاه ورودی پیکربندی کنید). .sp برای آشنایی با روش‌های سفارشی‌سازی آن، گزینه‌های \fB\-\-input\-\fP را بررسی کنید. .sp فهرست‌های زیر لزوماً کامل نیستند. برای مشاهده فهرستی از کلیدهای پیش‌فرض به \fBetc/input.conf\fP در فایل‌های منبع mpv مراجعه کنید. فایل‌های \fBinput.conf\fP کاربر و اسکریپت‌های Lua می‌توانند کلیدهای میانبر بیشتری تعریف کنند. .sp برای جزئیات بیشتر در مورد پیکربندی کلیدها، بخش‌های COMMAND INTERFACE و Key names را ببینید. .sp همچنین برای بررسی تعاملی جزئیات کلیدها به \fB\-\-input\-test\fP، و برای فهرست کلیدهای میانبر (شامل چاپ در ترمینال) به اسکریپت توکار stats مراجعه کنید. به‌طور پیش‌فرض، کلید ? نمایش این فهرست را تغییر وضعیت می‌دهد. .SS "کنترل با صفحه‌کلید (Keyboard Control)" .INDENT 0.0 .TP .B LEFT and RIGHT پرش ۵ ثانیه به عقب/جلو. ترکیب Shift+arrow یک پرش دقیق ۱ ثانیه‌ای انجام می‌دهد (گزینه \fB\-\-hr\-seek\fP را ببینید). .TP .B UP and DOWN پرش ۱ دقیقه به جلو/عقب. ترکیب Shift+arrow یک پرش دقیق ۵ ثانیه‌ای انجام می‌دهد (گزینه \fB\-\-hr\-seek\fP را ببینید). .TP .B Ctrl+LEFT and Ctrl+RIGHT پرش به زیرنویس قبلی/بعدی. این قابلیت تابع برخی محدودیت‌ها است و ممکن است همیشه کار نکند؛ دستور \fBsub\-seek\fP را ببینید. .TP .B Ctrl+Shift+LEFT and Ctrl+Shift+RIGHT تنظیم تأخیر زیرنویس به‌گونه‌ای که زیرنویس قبلی یا بعدی در همان لحظه نمایش داده شود. این قابلیت به‌ویژه برای همگام‌سازی زیرنویس با صدا بسیار مفید است. .TP .B [ and ] کاهش/افزایش سرعت پخش فعلی به میزان ۱۰٪. .TP .B { and } نصف/دو برابر کردن سرعت پخش فعلی. .TP .B BACKSPACE بازنشانی سرعت پخش به حالت عادی. .TP .B Shift+BACKSPACE لغو آخرین پرش (Undo). این قابلیت تنها در صورتی کار می‌کند که مدخل لیست پخش تغییر نکرده باشد. فشردن مجدد آن به موقعیت اصلی بازمی‌گردد. برای جزئیات، دستور \fBrevert\-seek\fP را ببینید. .TP .B Shift+Ctrl+BACKSPACE علامت‌گذاری موقعیت فعلی. این موقعیت سپس توسط \fBShift+BACKSPACE\fP به‌عنوان موقعیت بازگشت استفاده خواهد شد (پس از پرش به عقب، این علامت بازنشانی می‌شود). می‌توانید از این قابلیت برای جابه‌جایی در فایل و سپس بازگشت به نقطه دقیقی که رها کرده بودید استفاده کنید. .TP .B < and > حرکت به عقب/جلو در لیست پخش (playlist). .TP .B ENTER حرکت به جلو در لیست پخش (playlist). .TP .B Shift+HOME and Shift+END رفتن به اولین/آخرین مدخل لیست پخش (playlist). .TP .B p and SPACE مکث موقت (فشردن مجدد، پخش را ادامه می‌دهد). .TP .B \&. یک فریم به جلو رفتن. یک بار فشردن باعث توقف موقت می‌شود و هر بار فشردن متوالی یک فریم را پخش کرده و دوباره در حالت مکث قرار می‌گیرد. .UNINDENT .INDENT 0.0 .TP .B , یک فریم به عقب رفتن. یک بار فشردن باعث توقف موقت می‌شود و هر بار فشردن متوالی یک فریم را به عقب پخش کرده و دوباره در حالت مکث قرار می‌گیرد. .TP .B q توقف پخش و خروج از برنامه. .TP .B Q مشابه \fBq\fP، اما موقعیت فعلی پخش را ذخیره می‌کند. پخش مجدد همان فایل در آینده، در صورت امکان از همان موقعیت قبلی ادامه خواهد یافت. بخش RESUMING PLAYBACK را ببینید. .TP .B / and * کاهش/افزایش صدا. .TP .B KP_DIVIDE and KP_MULTIPLY کاهش/افزایش صدا. .TP .B 9 and 0 کاهش/افزایش صدا. .TP .B m بی‌صدا کردن (Mute). .TP .B _ جابه‌جایی چرخشی میان تراک‌های ویدیویی موجود. .TP .B # جابه‌جایی چرخشی میان تراک‌های صوتی موجود. .TP .B E جابه‌جایی چرخشی میان ویرایش‌های (Editions) موجود. .TP .B f تغییر وضعیت تمام‌صفحه (همچنین \fB\-\-fs\fP را ببینید). .TP .B ESC خروج از حالت تمام‌صفحه. .TP .B T تغییر وضعیت همیشه در بالا ماندن پنجره (همچنین \fB\-\-ontop\fP را ببینید). .TP .B w and W کاهش/افزایش محدوده pan\-and\-scan. کلید \fBe\fP در حال حاضر همان کار \fBW\fP را انجام می‌دهد، اما استفاده از آن توصیه نمی‌شود. برای اطلاعات بیشتر \fB\-\-panscan\fP را ببینید. .TP .B o and P نمایش نوار پیشرفت، زمان سپری‌شده و مدت‌زمان کل روی OSD. .TP .B O تغییر وضعیت OSD بین حالت عادی و زمان/مدت‌زمان پخش. .TP .B v تغییر وضعیت نمایش یا عدم‌نمایش زیرنویس..TP .B Alt+v تغییر وضعیت نمایانی زیرنویس ثانویه (روشن/خاموش). .TP .B j و J پیمایش چرخشی در میان زیرنویس‌های موجود. .TP .B z و Z تنظیم تاخیر زیرنویس به میزان \-/+ 0.1 ثانیه. کلید \fBx\fP در حال حاضر عملکردی مشابه با \fBZ\fP دارد، اما استفاده از آن توصیه نمی‌شود. .TP .B l تنظیم/پاک‌کردن نقاط حلقهٔ تکرار A\-B. برای جزئیات به دستور \fBab\-loop\fP مراجعه کنید. .TP .B L تغییر وضعیت تکرار بی‌نهایت (روشن/خاموش). .TP .B Ctrl++ و Ctrl+\- تنظیم تاخیر صدا (همگام‌سازی صوت/تصویر) به میزان +/\- 0.1 ثانیه. .TP .B Ctrl+KP_ADD و Ctrl+KP_SUBTRACT تنظیم تاخیر صدا (همگام‌سازی صوت/تصویر) به میزان +/\- 0.1 ثانیه. .TP .B G و F تنظیم اندازهٔ قلم زیرنویس به میزان +/\- 10%. .TP .B u جابه‌جایی بین اعمال تنها جایگزینی‌های \fB\-\-sub\-ass\-*\fP (پیش‌فرض) روی زیرنویس‌های SSA/ASS، و جایگزینی تقریباً کامل آن‌ها با سبک زیرنویس معمولی. برای اطلاعات بیشتر \fB\-\-sub\-ass\-override\fP را ببینید. .TP .B V پیمایش چرخشی در اینکه کدام داده‌های ویدیویی برای رندر ASS استفاده شوند. برای اطلاعات بیشتر \fB\-\-sub\-ass\-use\-video\-data\fP را ببینید. .TP .B r و R جابه‌جا کردن زیرنویس‌ها به بالا/پایین. کلید \fBt\fP در حال حاضر عملکردی مشابه با \fBR\fP دارد، اما استفاده از آن توصیه نمی‌شود. .TP .B s گرفتن اسکرین‌شات. .TP .B S گرفتن اسکرین‌شات بدون زیرنویس. (کارکرد این قابلیت به پشتیبانی درایور VO بستگی دارد.) .TP .B Ctrl+s گرفتن اسکرین‌شات دقیقاً همان‌گونه که پنجره آن را نمایش می‌دهد (به همراه زیرنویس، OSD و ویدیوی مقیاس‌بندی‌شده). .TP .B HOME پرش به ابتدای فایل. .TP .B PGUP و PGDWN پرش به ابتدای فصل قبلی/بعدی. در بیشتر موارد، \(dqقبلی\(dq در عمل به ابتدای فصل جاری می‌رود؛ \fB\-\-chapter\-seek\-threshold\fP\& را ببینید. .TP .B Shift+PGUP و Shift+PGDWN پرش ۱۰ دقیقه به عقب یا جلو. (این عملکرد قبلاً بدون کلید Shift به PGUP/PGDWN نگاشت شده بود.) .TP .B b فعال/غیرفعال کردن نوارزدایی (debanding). .TP .B d تغییر چرخشی فیلتر درون‌بافی‌زدایی (deinterlacing). .TP .B A تغییر چرخشی بازنویسی نسبت ابعاد تصویر (aspect ratio). .TP .B Ctrl+h تغییر وضعیت رمزگشایی سخت‌افزاری ویدیو (روشن/خاموش). .TP .B Alt+LEFT, Alt+RIGHT, Alt+UP, Alt+DOWN جابه‌جایی کادر مستطیلی ویدیو (حرکت کادر یا panning). .TP .B Alt++ و Alt+\- تغییر بزرگ‌نمایی ویدیو (zoom). .TP .B Alt+KP_ADD و Alt+KP_SUBTRACT تغییر بزرگ‌نمایی ویدیو. .TP .B Alt+BACKSPACE بازنشانی تنظیمات حرکت کادر و بزرگ‌نمایی (pan/zoom). .TP .B F8 نمایش فهرست پخش و موقعیت فعلی در آن. .TP .B F9 نمایش فهرست جریان‌های صوتی و زیرنویس. .TP .B Ctrl+v افزودن فایل یا URL موجود در کلیپ‌بورد به انتهای فهرست پخش. اگر در حال حاضر چیزی در حال پخش نباشد، بلافاصله پخش می‌شود. تنها در پلتفرم‌هایی کار می‌کند که از ویژگی \fBclipboard\fP پشتیبانی می‌کنند. .TP .B i و I نمایش/تغییر وضعیت لایهٔ اطلاعاتی (overlay) حاوی آمار فایل در حال پخش، مانند کدک، نرخ فریم، تعداد فریم‌های افتاده و غیره. برای اطلاعات بیشتر STATS را ببینید. .UNINDENT .INDENT 0.0 .TP .B ? تغییر وضعیت لایهٔ اطلاعاتی (overlay) که کلیدهای میانبر فعال را نمایش می‌دهد. برای اطلاعات بیشتر STATS را ببینید. .TP .B DEL تغییر چرخشی وضعیت نمایانی OSC میان never / auto (با حرکت ماوس) / always .TP .B \(ga نمایش کنسول. (ESC مجدداً آن را می‌بندد. CONSOLE\& را ببینید.) .UNINDENT .sp (کلیدهای زیر تنها هنگام استفاده از یک خروجی ویدیو معتبر هستند که از تنظیم مربوطه پشتیبانی کند.) .INDENT 0.0 .TP .B 1 و 2 تنظیم کنتراست. .TP .B 3 و 4 تنظیم روشنایی. .TP .B 5 و 6 تنظیم گاما. .TP .B 7 و 8 تنظیم غلظت رنگ (saturation). .TP .B Alt+0 (و Command+0 در macOS) تغییر اندازهٔ پنجرهٔ ویدیو به نصف اندازهٔ اصلی آن. .TP .B Alt+1 (و Command+1 در macOS) تغییر اندازهٔ پنجرهٔ ویدیو به اندازهٔ اصلی آن. .TP .B Alt+2 (و Command+2 در macOS) تغییر اندازهٔ پنجرهٔ ویدیو به دو برابر اندازهٔ اصلی آن. .TP .B Command + f (تنها در macOS) تغییر وضعیت تمام‌صفحه (همچنین \fB\-\-fs\fP را ببینید). .UNINDENT .sp (کلیدهای میانبر زیر منویی در کنسول باز می‌کنند که به شما امکان می‌دهد با تایپ کردن بخشی از مورد دلخواه، کلیک کردن روی مورد دلخواه، یا پیمایش آن‌ها با کلیدهای میانبر، از میان فهرستی از موارد انتخاب کنید: \fBDown\fP و \fBCtrl+n\fP به پایین می‌روند، \fBUp\fP و \fBCtrl+p\fP به بالا می‌روند، \fBPage down\fP و \fBCtrl+f\fP یک صفحه به پایین می‌پیمایند، و \fBPage up\fP و \fBCtrl+b\fP یک صفحه به بالا می‌پیمایند.) .sp در منوهای تِرَک، انتخاب تِرَک فعلی آن را غیرفعال می‌کند. .INDENT 0.0 .TP .B g\-p انتخاب یک ورودی از فهرست پخش. .TP .B g\-s انتخاب یک تِرَک زیرنویس. .TP .B g\-S انتخاب یک تِرَک زیرنویس ثانویه. .TP .B g\-a انتخاب یک تِرَک صوتی. .TP .B g\-v انتخاب یک تِرَک ویدیویی. .TP .B g\-t انتخاب یک تِرَک از هر نوعی. .TP .B g\-c انتخاب یک فصل. .TP .B g\-e انتخاب یک ویرایش MKV یا عنوان DVD/Blu\-ray. .TP .B g\-l انتخاب یک خط زیرنویس برای پرش به آن. این قابلیت در حال حاضر نیازمند \fBffmpeg\fP در \fBPATH\fP، یا در همان پوشهٔ mpv در Windows است..TP .B g\-d انتخاب یک دستگاه صوتی. .TP .B g\-h انتخاب یک فایل از تاریخچهٔ تماشا. نیازمند \fB\-\-save\-watch\-history\fP است. .TP .B g\-w انتخاب یک فایل از فایل‌های پیکربندی تماشا در آینده (بخش RESUMING PLAYBACK را ببینید) برای ادامهٔ پخش. نیازمند \fB\-\-write\-filename\-in\-watch\-later\-config\fP است. .TP .B g\-b انتخاب یک اتصال ورودی (input binding) تعریف‌شده. .TP .B g\-r نمایش مقادیر تمام ویژگی‌ها (properties). .TP .B g\-m, MENU, Ctrl+p نمایش یک منو با گزینه‌های گوناگون. .UNINDENT .sp برای اطلاعات بیشتر SELECT را ببینید. .sp (کلیدهای زیر در صورتی معتبر هستند که صفحه‌کلیدی با کلیدهای چندرسانه‌ای داشته باشید.) .INDENT 0.0 .TP .B PAUSE مکث. .TP .B STOP توقف پخش و خروج. .TP .B PREVIOUS and NEXT پرش به عقب/جلو به مدت ۱ دقیقه. .TP .B ZOOMIN and ZOOMOUT تغییر بزرگ‌نمایی ویدیو. .UNINDENT .sp اگر جای خالی برخی از اتصال‌های کلید قدیمی را احساس می‌کنید، به فایل \fBetc/restore\-old\-bindings.conf\fP در مخزن گیت mpv نگاهی بیندازید. .SS "کنترل با ماوس (Mouse Control)" .INDENT 0.0 .TP .B Ctrl+left click حرکت در تصویر (Pan) هنگام نگه‌داشتن دکمه، به‌گونه‌ای که بخش کلیک‌شدهٔ ویدیو زیر نشانگر باقی بماند. .TP .B Left double click تغییر وضعیت حالت تمام‌صفحه (فعال/غیرفعال). .TP .B Right click تغییر وضعیت مکث (فعال/غیرفعال). .TP .B Forward/Back button پرش به مورد بعدی/قبلی در فهرست پخش. .TP .B Wheel up/down کاهش/افزایش بلندی صدا. .TP .B Wheel left/right پرش به جلو/عقب به مدت ۱۰ ثانیه. .TP .B Ctrl+Wheel up/down تغییر بزرگ‌نمایی ویدیو، به‌طوری که بخشی از ویدیو که نشانگر روی آن قرار دارد در زیر آن باقی بماند. .UNINDENT .SS "منوی زمینه (Context Menu)" .sp منوی زمینه (Context Menu) منویی است که با تعامل کاربر (کلیک راست ماوس و غیره) روی پنجرهٔ ویدیو باز می‌شود. .sp برای استفاده از این قابلیت، باید ویژگی \fBmenu\-data\fP را با داده‌های تعریف منو مقداردهی کرده و یک اتصال کلید برای اجرای دستور \fBcontext\-menu\fP اضافه کنید، که این کار می‌تواند از طریق یک اسکریپت کاربری انجام شود. .SH "نحوه استفاده (USAGE)" .sp آرگومان‌های خط فرمان که با \fB\-\fP آغاز می‌شوند به عنوان گزینه تفسیر می‌شوند و سایر موارد به عنوان نام فایل یا URL در نظر گرفته می‌شوند. تمامی گزینه‌ها به جز گزینه‌های پرچم (\fIflag\fP) (یا گزینه‌های انتخابی که شامل \fByes\fP هستند) نیازمند یک پارامتر به شکل \fB\-\-option=value\fP می‌باشند. .sp یک استثنا، نویسهٔ \fB\-\fP به تنهایی (بدون هیچ مورد دیگری) است که به این معنی است که داده‌های رسانه از stdin خوانده خواهند شد. همچنین، \fB\-\-\fP (به تنهایی) باعث می‌شود پخش‌کننده تمام آرگومان‌های پس از آن را به عنوان نام فایل تفسیر کند، حتی اگر با \fB\-\fP آغاز شوند. (برای پخش فایلی با نام \fB\-\fP، باید از \fB\&./\-\fP استفاده کنید.) .sp هر گزینهٔ \fIflag\fP دارای یک همتای \fIno\-flag\fP است؛ برای نمونه، متضاد گزینهٔ \fB\-\-fs\fP گزینهٔ \fB\-\-no\-fs\fP است. مقدار \fB\-\-fs=yes\fP معادل \fB\-\-fs\fP و \fB\-\-fs=no\fP معادل \fB\-\-no\-fs\fP است. .sp اگر گزینه‌ای با عنوان \fI(XXX only)\fP مشخص شده باشد، تنها در ترکیب با گزینهٔ \fIXXX\fP یا در صورتی که \fIXXX\fP کامپایل شده باشد کار خواهد کرد..SS نحو قدیمی گزینه‌ها (Legacy option syntax) .sp نحو \fB\-\-option=value\fP به طور سخت‌گیرانه اجباری نیست و نحو جایگزین قدیمی \fB\-option value\fP و \fB\-option=value\fP نیز کار خواهد کرد. این ویژگی بیشتر برای سازگاری با MPlayer است. باید از استفاده از آن‌ها خودداری شود؛ معنا و رفتار آن‌ها ممکن است در هر زمانی در آینده تغییر کند. .sp برای نمونه، نحو جایگزین، آرگومان پس از گزینه را یک نام فایل در نظر می‌گیرد. دستور \fBmpv \-fs no\fP تلاش خواهد کرد فایلی با نام \fBno\fP را پخش کند، زیرا \fB\-\-fs\fP یک گزینه پرچم (flag) است که به هیچ پارامتری نیاز ندارد. اگر گزینه‌ای تغییر کند و پارامتر آن اختیاری شود، خط فرمانی که از نحو جایگزین استفاده می‌کند از کار خواهد افتاد. .sp تا mpv 0.31.0، تفاوتی وجود نداشت که یک گزینه با \fB\-\-\fP آغاز شود یا با یک \fB\-\fP تکی\&. نسخه‌های جدیدتر mpv اکیداً انتظار دارند که مقدار گزینه را پس از یک \fB=\fP ارسال کنید. برای نمونه، در گذشته دستور \fBmpv \-\-log\-file f.txt\fP گزارشی را در \fBf.txt\fP می‌نوشت، اما اکنون این خط فرمان با خطا مواجه می‌شود، زیرا \fB\-\-log\-file\fP انتظار دریافت مقدار گزینه را دارد و \fBf.txt\fP صرفاً یک فایل عادی برای پخش در نظر گرفته می‌شود (مانند \fBmpv f.txt\fP). .sp برنامه آینده این است که \fB\-option value\fP دیگر کار نکند و گزینه‌های دارای یک \fB\-\fP تکی رفتاری مشابه گزینه‌های \fB\-\-\fP داشته باشند. .SS گریز از فاصله‌ها و سایر نویسه‌های خاص (Escaping spaces and other special characters) .sp به خاطر داشته باشید که شل (shell) آرگومان‌هایی را که به mpv ارسال می‌کنید تا حدی تجزیه کرده و دستکاری می‌کند. برای نمونه، ممکن است لازم باشد گزینه‌ها و نام‌های فایل را نقل‌قول (quote) یا گریزدهی (escape) کنید: .INDENT 0.0 .INDENT 3.5 \fBmpv \(dqfilename with spaces.mkv\(dq \-\-title=\(dqwindow title\(dq\fP .UNINDENT .UNINDENT .sp اگر تجزیه‌کننده زیرگزینه‌ها (suboption parser) درگیر باشد، ماجرا پیچیده‌تر می‌شود. تجزیه‌کننده زیرگزینه، چند گزینه را در یک رشته واحد قرار داده و آن‌ها را به جای استفاده از چند گزینه در سطح خط فرمان، به صورت یک‌باره به مؤلفه مربوطه ارسال می‌کند. .sp تجزیه‌کننده زیرگزینه می‌تواند رشته‌ها را با \fB\(dq\fP و \fB[...]\fP نقل‌قول کند\&. علاوه بر این، شکل خاصی از نقل‌قول با \fB%n%\fP وجود دارد که در ادامه شرح داده شده است. .sp برای نمونه، فرض کنید فیلتر فرضی \fBfoo\fP می‌تواند چندین گزینه دریافت کند: .INDENT 0.0 .INDENT 3.5 \fBmpv test.mkv \-\-vf=foo:option1=value1:option2:option3=value3,bar\fP .UNINDENT .UNINDENT .sp این دستور \fBoption1\fP و \fBoption3\fP را به فیلتر \fBfoo\fP ارسال می‌کند، \fBoption2\fP را به عنوان پرچم (به طور ضمنی \fBoption2=yes\fP) قرار می‌دهد، و پس از آن یک فیلتر \fBbar\fP اضافه می‌کند. اگر گزینه‌ای شامل فاصله یا نویسه‌هایی مانند \fB,\fP یا \fB:\fP باشد، باید آن‌ها را نقل‌قول کنید: .INDENT 0.0 .INDENT 3.5 \fBmpv \(aq\-\-vf=foo:option1=\(dqoption value with spaces\(dq,bar\(aq\fP .UNINDENT .UNINDENT .sp شل‌ها ممکن است برخی نقل‌قول‌ها را از رشته ارسالی به خط فرمان حذف کنند؛ بنابراین در این مثال رشته دو بار نقل‌قول شده است تا اطمینان حاصل شود که mpv نقل‌قول‌های \fB\(dq\fP را دریافت می‌کند. .sp شکل نقل‌قول \fB[...]\fP هر آنچه را که بین \fB[\fP و \fB]\fP قرار دارد در بر می‌گیرد\&. این قالب در شل‌هایی که این نویسه‌ها را در میانه یک آرگومان تفسیر نمی‌کنند (مانند bash) مفید است. این نقل‌قول‌ها متوازن هستند (از mpv 0.9.0 به بعد): \fB[\fP و \fB]\fP تو در تو می‌شوند و نقل‌قول در آخرین \fB]\fP که هیچ \fB[\fP متناظری درون رشته نداشته باشد پایان می‌یابد. (برای نمونه، \fB[a[b]c]\fP به \fBa[b]c\fP تبدیل می‌شود\&.) .sp نحو نقل‌قول با طول ثابت برای استفاده در اسکریپت‌ها و برنامه‌های خارجی در نظر گرفته شده است. .sp این نحو با \fB%\fP آغاز می‌شود و ساختار زیر را دارد: .INDENT 0.0 .INDENT 3.5 .sp .EX %n%string_of_length_n .EE .UNINDENT .UNINDENT .INDENT 0.0 .INDENT 3.5 .IP "مثال‌ها (Examples)" .sp \fBmpv \(aq\-\-vf=foo:option1=%11%quoted text\(aq test.avi\fP .sp یا درون یک اسکریپت: .sp \fBmpv \-\-vf=foo:option1=%\(gaexpr length \(dq$NAME\(dq\(ga%\(dq$NAME\(dq test.avi\fP .UNINDENT .UNINDENT .sp نکته: در صورت استفاده به همراه JSON\-IPC، مقدار \fB%n%\fP طول بر حسب بایت‌های UTF\-8 پس از رمزگشایی داده JSON است. .sp زیرگزینه‌های ارسال‌شده به API کلاینت نیز مشمول گریزدهی هستند. استفاده از \fBmpv_set_option_string()\fP دقیقاً مانند ارسال \fB\-\-name=data\fP به خط فرمان است (اما بدون پردازش رشته توسط شل). برخی از گزینه‌ها به جای رشته‌های ساده، از ارسال مقادیر به شکلی ساختاریافته‌تر پشتیبانی می‌کنند و می‌توانند از دردسرهای تجزیه زیرگزینه‌ها جلوگیری کنند. برای نمونه، \fB\-\-vf\fP از \fBMPV_FORMAT_NODE\fP پشتیبانی می‌کند، که به شما اجازه می‌دهد زیرگزینه‌ها را به صورت یک ساختار داده تودرتو از نگاشت‌ها (maps) و آرایه‌ها ارسال کنید..SS "مسیرها (Paths)" .sp هنگام انتقال مسیرها و نام‌های فایل دلخواه به mpv باید احتیاط کرد. برای نمونه، مسیرهایی که با \fB\-\fP آغاز می‌شوند به عنوان گزینه تفسیر خواهند شد. به همین ترتیب، اگر مسیری حاوی توالی \fB://\fP باشد، رشته‌ی پیش از آن ممکن است به عنوان پیشوند پروتکل تفسیر شود، حتی با وجود اینکه \fB://\fP می‌تواند بخشی از یک مسیر معتبر در UNIX باشد. برای جلوگیری از بروز مشکل در مسیرهای دلخواه، باید مطمئن شوید مسیرهای مطلقی که به mpv داده می‌شوند با \fB/\fP آغاز شده، و پیشوند مسیرهای نسبی با \fB\&./\fP\& مشخص شده باشد. .sp استفاده از شبه‌پروتکل \fBfile://\fP توصیه نمی‌شود، زیرا شامل قواعد عجیب واگردانی گریز (unescaping) در URL است. .sp نام \fB\-\fP به‌تنهایی به عنوان stdin تفسیر می‌شود و باعث می‌شود mpv کنترل‌های کنسول را غیرفعال کند. (که این امر آن را برای پخش داده‌های هدایت‌شده از طریق پایپ به stdin مناسب می‌سازد.) .sp آرگومان ویژه \fB\-\-\fP می‌تواند برای بازداشتن mpv از تفسیر آرگومان‌های بعدی به عنوان گزینه استفاده شود. .sp برای مسیرهایی که به زیرگزینه‌های mpv (گزینه‌هایی که چندین مقدار جداشده با \fI:\fP و \fI,\fP دارند) پاس داده می‌شوند، به دلیل نیاز به گریزدهی (escape) کاراکترهای خاص، وضعیت پیچیده‌تر می‌شود. برای رفع این مشکل، مسیر می‌تواند در نحو «طول ثابت» محصور شود، مانند \fB%n%string_of_length_n\fP (به بالا مراجعه کنید). .sp هنگام استفاده از API مربوط به libmpv، اکیداً باید از \fBmpv_command_string\fP برای فراخوانی دستور \fBloadfile\fP خودداری کنید، و در عوض مواردی مانند \fBmpv_command\fP را ترجیح دهید تا از نیاز به گریزدهی نام فایل جلوگیری شود. .sp همین موضوع زمانی که از API اسکریپت‌نویسی استفاده می‌کنید نیز صدق می‌کند؛ در آنجا نیز باید از \fBmp.command\fP پرهیز کنید، و در عوض APIهای دارای «پارامترهای جداگانه» مانند \fBmp.commandv\fP و \fBmp.command_native\fP\& را به کار ببرید. .sp برخی از گزینه‌های mpv برای مسیرهایی که با \fB~\fP آغاز می‌شوند معانی ویژه‌ای تفسیر می‌کنند، که یافتن پویای دایرکتوری‌های ویژه، مانند ارجاع به دایرکتوری خانگی کاربر فعلی یا دایرکتوری پیکربندی mpv را آسان می‌سازد. .sp هنگام استفاده از پیشوند ویژه \fB~\fP، همیشه باید یک \fB/\fP در انتهای پیشوند مسیر ویژه وجود داشته باشد. به عبارت دیگر، \fB~\fP کار نمی‌کند، اما \fB~/\fP کار خواهد کرد. .sp مسیرها/کلمات کلیدی ویژه زیر در حال حاضر شناخته‌شده هستند: .sp \fBهشدار:\fP .INDENT 0.0 .INDENT 3.5 توجه داشته باشید که اگر \fB\-\-no\-config\fP استفاده شود، تمام مسیرهای مبتنی بر «دایرکتوری پیکربندی» (\fB~~/\fP، \fB~~home/\fP و \fB~~global/\fP) رشته‌هایی خالی خواهند بود. .sp این بدان معناست که \fB~~home/\fP به یک رشته خالی بسط می‌یابد، و زیرمسیرهایی مانند \fB~~home/foo/bar\(dq\fP به یک مسیر نسبی (\fBfoo/bar\fP) گسترش پیدا می‌کنند که ممکن است آن چیزی نباشد که انتظار داشتید. .sp علاوه بر این، هر دستوری که در دایرکتوری‌های پیکربندی جستجو کند، در یافتن هر چیزی ناموفق خواهد بود، زیرا دایرکتوری‌ای برای جستجو وجود نخواهد داشت. .sp مطمئن شوید که اسکریپت‌های شما توانایی مدیریت این سناریوهای «بدون پیکربندی» را دارند. .UNINDENT .UNINDENT .TS box center; l|l. T{ نام T} T{ مفهوم T} _ T{ \fB~/\fP T} T{ دایرکتوری خانگی کاربر فعلی (معادل \fB~/\fP و \fB$HOME/\fP در محیط‌های ترمینال). T} _ T{ \fB~~/\fP T} T{ اگر زیرمسیر در هر یک از دایرکتوری‌های پیکربندی mpv وجود داشته باشد، مسیر فایل/دایرکتوری موجود بازگردانده می‌شود. در غیر این صورت معادل \fB~~home/\fP است. T} _ T{ \fB~~home/\fP T} T{ دایرکتوری پیکربندی mpv (برای نمونه \fB~/.config/mpv/\fP). T} _ T{ \fB~~global/\fP T} T{ مسیر پیکربندی سراسری (مانند \fB/etc/mpv\fP)، در صورت وجود (نه در win32). T} _ T{ \fB~~osxbundle/\fP T} T{ مسیر منابع bundle در macOS (فقط macOS). T} _ T{ \fB~~desktop/\fP T} T{ مسیر دسکتاپ. T} _ T{ \fB~~exe_dir/\fP T} T{ مسیر دایرکتوری حاوی \fBmpv.exe\fP (برای مقاصد فایل پیکربندی، متغیر \fB$MPV_HOME\fP بر این اولویت خواهد داشت) (فقط win32). T} _ T{ \fB~~cache/\fP T} T{ مسیر داده‌های کَش (cache) برنامه (\fB~/.cache/mpv/\fP). در برخی پلتفرم‌ها، این مسیر با \fB~~home/\fP یکسان خواهد بود. T} _ T{ \fB~~state/\fP T} T{ مسیر داده‌های وضعیت (state) برنامه (\fB~/.local/state/mpv/\fP). در برخی پلتفرم‌ها، این مسیر با \fB~~home/\fP یکسان خواهد بود. T} _ T{ \fB~~old_home/\fP T} T{ استفاده نکنید. T} .TE.SS گزینه‌های مختص هر فایل (Per\-File Options) .sp هنگام پخش چند فایل، هر گزینه‌ای که در خط فرمان مشخص شود معمولاً بر تمام فایل‌ها تأثیر می‌گذارد. مثال: .INDENT 0.0 .INDENT 3.5 .sp .EX mpv \-\-a file1.mkv \-\-b file2.mkv \-\-c .EE .UNINDENT .UNINDENT .TS box center; l|l. T{ فایل T} T{ گزینه‌های فعال T} _ T{ file1.mkv T} T{ \fB\-\-a \-\-b \-\-c\fP T} _ T{ file2.mkv T} T{ \fB\-\-a \-\-b \-\-c\fP T} .TE .sp (این رفتار با MPlayer و mplayer2 تفاوت دارد.) .sp همچنین، اگر گزینه‌ای در زمان اجرا (از طریق دستورهای ورودی) تغییر کند، هنگام پخش فایل جدید بازنشانی نمی‌شود. .sp گاهی اوقات مفید است که گزینه‌ها به ازای هر فایل تغییر کنند. این کار با افزودن نشانگرهای ویژهٔ مختص هر فایل یعنی \fB\-\-{\fP و \fB\-\-}\fP امکان‌پذیر است. (توجه داشته باشید که در برخی شل‌ها باید این نویسه‌ها را escape کنید.) مثال: .INDENT 0.0 .INDENT 3.5 .sp .EX mpv \-\-a file1.mkv \-\-b \-\-\e{ \-\-c file2.mkv \-\-d file3.mkv \-\-e \-\-\e} file4.mkv \-\-f .EE .UNINDENT .UNINDENT .TS box center; l|l. T{ فایل T} T{ گزینه‌های فعال T} _ T{ file1.mkv T} T{ \fB\-\-a \-\-b \-\-f\fP T} _ T{ file2.mkv T} T{ \fB\-\-a \-\-b \-\-f \-\-c \-\-d \-\-e\fP T} _ T{ file3.mkv T} T{ \fB\-\-a \-\-b \-\-f \-\-c \-\-d \-\-e\fP T} _ T{ file4.mkv T} T{ \fB\-\-a \-\-b \-\-f\fP T} .TE .sp علاوه بر این، هر گزینهٔ محلی فایل که در زمان اجرا تغییر یابد، با متوقف شدن پخش فایل فعلی بازنشانی می‌شود. اگر گزینهٔ \fB\-\-c\fP در حین پخش \fBfile2.mkv\fP تغییر کند، هنگام رفتن به \fBfile3.mkv\fP بازنشانی خواهد شد. این موضوع فقط روی گزینه‌های محلی فایل اثر می‌گذارد؛ گزینهٔ \fB\-\-a\fP در اینجا هرگز بازنشانی نمی‌شود..SS گزینه‌های فهرست (List Options) .sp برخی از گزینه‌ها که فهرستی از مقادیر گزینه را ذخیره می‌کنند، می‌توانند پسوندهای عملیاتی داشته باشند. به عنوان مثال، گزینهٔ \fB\-\-display\-tags\fP فهرستی از برچسب‌ها که با \fB,\fP جدا شده‌اند را می‌پذیرد، اما این گزینه همچنین به شما اجازه می‌دهد تا با \fB\-\-display\-tags\-append\fP یک برچسب تکی را الحاق کنید، و نام برچسب برای مثال می‌تواند بدون نیاز به گریزدهی (escape)، حاوی یک \fB,\fP حرفی باشد. .SS گزینه‌های فهرست رشته و فهرست مسیر (String list and path list options) .sp فهرست‌های رشته با \fB,\fP\& جدا می‌شوند. این رشته‌ها توسط خود سامانهٔ گزینه‌ها تجزیه یا تفسیر نمی‌شوند. با این حال، بیشتر گزینه‌های فهرست مسیر یا فایل به‌جای \fB,\fP\& از \fB:\fP (یونیکس) یا \fB;\fP (ویندوز) به عنوان جداکننده استفاده می‌کنند. .sp آن‌ها از عملیات‌های زیر پشتیبانی می‌کنند: .TS box center; l|l. T{ پسوند T} T{ مفهوم T} _ T{ \-set T} T{ تنظیم فهرستی از موارد (با استفاده از جداکنندهٔ فهرست، گریز داده‌شده با بک‌اسلش) T} _ T{ \-append T} T{ الحاق یک مورد تکی (کاراکترهای گریز را تفسیر نمی‌کند) T} _ T{ \-add T} T{ الحاق ۱ یا چند مورد (ساختار نحوی یکسان با \-set) T} _ T{ \-pre T} T{ افزودن ۱ یا چند مورد به ابتدا (ساختار نحوی یکسان با \-set) T} _ T{ \-clr T} T{ پاک‌سازی گزینه (حذف تمام موارد) T} _ T{ \-del T} T{ حذف ۱ یا چند مورد در صورت وجود (ساختار نحوی یکسان با \-set) T} _ T{ \-remove T} T{ حذف مورد در صورت وجود (کاراکترهای گریز را تفسیر نمی‌کند) T} _ T{ \-toggle T} T{ الحاق یک مورد، یا حذف آن در صورتی که از قبل وجود داشته باشد (بدون کاراکتر گریز) T} .TE .sp پسوند \fB\-append\fP به عنوان روشی ساده برای الحاق یک مورد تکی بدون نیاز به گریزدهی آرگومان در نظر گرفته شده است (ممکن است همچنان در سطح پوسته نیاز به گریزدهی داشته باشید). .SS گزینه‌های فهرست کلید/مقدار (Key/value list options) .sp یک فهرست کلید/مقدار، فهرستی از جفت‌رشته‌های کلید/مقدار است. در زبان‌های برنامه‌نویسی، این ساختار داده معمولاً نگاشت (map) یا دیکشنری (dictionary) نامیده می‌شود. ترتیب معمولاً اهمیتی ندارد، اگرچه در برخی موارد ممکن است ترتیب مهم باشد. .sp آن‌ها از عملیات‌های زیر پشتیبانی می‌کنند: .TS box center; l|l. T{ پسوند T} T{ مفهوم T} _ T{ \-set T} T{ تنظیم فهرستی از موارد (با استفاده از \fB,\fP به عنوان جداکننده) T} _ T{ \-append T} T{ الحاق یک مورد تکی (تفسیر گریز برای کلید، بدون گریز برای مقدار) T} _ T{ \-add T} T{ الحاق ۱ یا چند مورد (ساختار نحوی یکسان با \-set) T} _ T{ \-clr T} T{ پاک‌سازی گزینه (حذف تمام موارد) T} _ T{ \-del T} T{ حذف ۱ یا چند کلید در صورت وجود (ساختار نحوی یکسان با \-set) T} _ T{ \-remove T} T{ حذف مورد با کلید در صورت وجود (کاراکترهای گریز را تفسیر نمی‌کند) T} .TE .sp کلیدها در فهرست یکتا هستند. اگر کلیدی که از قبل وجود دارد تنظیم شود، کلید موجود پیش از الحاق مقدار جدید حذف می‌شود. .sp اگر می‌خواهید مقداری را بدون تفسیر کاراکترهای گریز یا \fB,\fP ارسال کنید، توصیه می‌شود از نگارش \fB\-append\fP استفاده کنید. هنگام استفاده از libmpv، ترجیحاً از \fBMPV_FORMAT_NODE_MAP\fP استفاده نمایید؛ و هنگام استفاده از یک بک‌اند اسکریپت‌نویسی یا JSON IPC، از نوع دادهٔ ساختاریافتهٔ مناسب استفاده کنید. .sp پیش از mpv 0.33، نویسهٔ \fB:\fP نیز توسط \fB\-set\fP\& به عنوان جداکننده شناخته می‌شد..SS گزینه‌های فهرست تنظیمات شیء (Object settings list options) .sp این یک نوع گزینهٔ بسیار پیچیده برای برخی گزینه‌ها مانند \fB\-\-af\fP و \fB\-\-vf\fP است\&. آن‌ها اغلب به گریزدهی پیچیده‌ای نیاز دارند. برای جزئیات به بخش VIDEO FILTERS مراجعه کنید. .sp آن‌ها از عملیات‌های زیر پشتیبانی می‌کنند: .TS box center; l|l. T{ پسوند T} T{ معنی T} _ T{ \-set T} T{ تنظیم فهرستی از موارد (با استفاده از \fB,\fP به عنوان جداکننده) T} _ T{ \-append T} T{ افزودن یک مورد به انتها T} _ T{ \-add T} T{ افزودن ۱ یا چند مورد به انتها (با همان ساختار دستوری \-set) T} _ T{ \-pre T} T{ افزودن ۱ یا چند مورد به ابتدا (با همان ساختار دستوری \-set) T} _ T{ \-clr T} T{ پاکسازی گزینه (حذف همهٔ موارد) T} _ T{ \-remove T} T{ حذف ۱ یا چند مورد در صورت وجود (با همان ساختار دستوری \-set) T} _ T{ \-toggle T} T{ افزودن یک مورد، یا حذف آن در صورتی که از قبل وجود داشته باشد T} _ T{ \-help T} T{ شبه‌عملیاتی که یک متن راهنما را در ترمینال چاپ می‌کند T} .TE .SS عمومی (General) .sp بدون پسوند، عملیاتی که به‌طور پیش‌فرض استفاده می‌شود \fB\-set\fP است\&. .sp برخی از عملیات‌ها مانند \fB\-add\fP و \fB\-pre\fP چندین مورد را مشخص می‌کنند، اما توجه داشته باشید که ممکن است نیاز به گریزدهی آرگومان‌ها داشته باشید. \fB\-append\fP تنها یک موردِ گریز داده‌نشده را می‌پذیرد (بنابراین جداکنندهٔ \fB,\fP تفسیر نخواهد شد و به عنوان بخشی از مقدار ارسال می‌شود). .sp برخی گزینه‌ها (مانند \fB\-\-sub\-file\fP، \fB\-\-audio\-file\fP و \fB\-\-glsl\-shader\fP) نام‌های مستعاری برای گزینهٔ اصلی با اقدام \fB\-append\fP هستند. برای مثال، \fB\-\-sub\-file\fP یک نام مستعار برای \fB\-\-sub\-files\-append\fP است\&. .sp گزینه‌هایی از این نوع را می‌توان در زمان اجرا با استفاده از دستور \fBchange\-list\fP تغییر داد، که پسوند (بدون علامت \fB\-\fP) را به عنوان یک پارامتر عملیات جداگانه دریافت می‌کند. .sp یک فهرست تنظیمات شیء می‌تواند حداکثر تا ۱۰۰ عنصر را در خود نگه دارد..SH "فایل‌های پیکربندی (CONFIGURATION FILES)" .SS "مکان و نحو (Location and Syntax)" .sp می‌توانید تمام گزینه‌ها را در فایل‌های پیکربندی قرار دهید که در هر بار اجرای mpv خوانده می‌شوند. فایل پیکربندی سراسری سیستم \(aqmpv.conf\(aq در دایرکتوری پیکربندی شما قرار دارد (برای نمونه \fB/etc/mpv\fP یا \fB/usr/local/etc/mpv\fP)، و فایل مختص کاربر \fB~/.config/mpv/mpv.conf\fP است\&. برای جزئیات و موارد خاص هر پلتفرم (به‌ویژه مسیرهای Windows) بخش FILES را ببینید. .sp گزینه‌های مختص کاربر بر گزینه‌های سراسری سیستم اولویت دارند و گزینه‌های داده‌شده در خط فرمان بر هر دو اولویت دارند. ساختار نوشتاری فایل‌های پیکربندی به صورت \fBoption=value\fP است\&. هر چیزی پس از یک \fI#\fP به عنوان کامنت در نظر گرفته می‌شود. گزینه‌هایی که بدون مقدار کار می‌کنند را می‌توان با تنظیم آن‌ها روی \fIyes\fP فعال و با تنظیم روی \fIno\fP غیرفعال کرد، و اگر مقدار حذف شود، \fIyes\fP به صورت ضمنی در نظر گرفته می‌شود. حتی زیرگزینه‌ها را نیز می‌توان به همین شیوه مشخص کرد. .INDENT 0.0 .INDENT 3.5 .IP "نمونه فایل پیکربندی" .INDENT 0.0 .INDENT 3.5 .sp .EX # اجازه داده نشود پنجره‌های جدید از اندازه صفحه نمایش بزرگ‌تر شوند. autofit\-larger=100%x100% # فعال‌سازی رمزگشایی سخت‌افزاری در صورت در دسترس بودن؛ =yes به صورت ضمنی فرض می‌شود. hwdec # نیازی به گریز دادن نویسه‌های فاصله نیست. osd\-playing\-msg=File: ${filename} .EE .UNINDENT .UNINDENT .UNINDENT .UNINDENT .SS "گریز از نویسه‌های خاص (Escaping special characters)" .sp این کار همانند گزینه‌های خط فرمان انجام می‌شود. یک مدخل پیکربندی را می‌توان با \fB\(dq\fP، \fB\(aq\fP و همچنین با نحو با طول ثابت (\fB%n%\fP) که پیش‌تر اشاره شد، درون نقل‌قول قرار داد. این مانند ارسال دقیق محتوای رشته نقل‌قول‌شده به عنوان یک گزینه خط فرمان است. دنباله‌های گریز به سبک C در حال حاضر در این سطح تفسیر \fIنمی‌شوند\fP، اگرچه برخی گزینه‌ها این کار را به صورت دستی انجام می‌دهند (این وضعیت نامطلوب است و احتمالاً در نقطه‌ای باید تغییر کند). در اینجا پوسته دخالتی ندارد، بنابراین مقادیر گزینه‌ها تنها برای گریز از \fB#\fP در هر کجای مقدار، \fB\(dq\fP، \fB\(aq\fP یا \fB%\fP در ابتدای مقدار، و نویسه‌های فاصله در ابتدا و انتهای آن، نیاز به نقل‌قول دارند. .SS "قرار دادن گزینه‌های خط فرمان در فایل پیکربندی (Putting Command Line Options into the Configuration File)" .sp تقریباً تمام گزینه‌های خط فرمان را می‌توان در فایل پیکربندی قرار داد. در اینجا یک راهنمای کوچک آمده است: .TS box center; l|l. T{ گزینه T} T{ مدخل فایل پیکربندی T} _ T{ \fB\-\-flag\fP T} T{ \fBflag\fP T} _ T{ \fB\-opt val\fP T} T{ \fBopt=val\fP T} _ T{ \fB\-\-opt=val\fP T} T{ \fBopt=val\fP T} _ T{ \fB\-opt \(dqhas spaces\(dq\fP T} T{ \fBopt=has spaces\fP T} .TE.SS فایل‌های پیکربندی ویژه فایل .sp شما همچنین می‌توانید فایل‌های پیکربندی ویژه هر فایل را بنویسید. اگر می‌خواهید برای فایلی به نام \(aqvideo.avi\(aq یک فایل پیکربندی داشته باشید، فایلی به نام \(aqvideo.avi.conf\(aq حاوی گزینه‌های ویژه آن فایل ایجاد کرده و در \fB~/.config/mpv/\fP\& قرار دهید. همچنین می‌توانید فایل پیکربندی را در همان دایرکتوری فایلی که قرار است پخش شود قرار دهید. هر دو حالت مستلزم این است که گزینه \fB\-\-use\-filedir\-conf\fP را (خواه در خط فرمان یا در فایل پیکربندی سراسری خود) تنظیم کنید. اگر یک فایل پیکربندی ویژه فایل در همان دایرکتوری یافت شود، هیچ پیکربندی ویژه فایلی از \fB~/.config/mpv\fP\& بارگذاری نمی‌شود. علاوه بر این، گزینه \fB\-\-use\-filedir\-conf\fP فایل‌های پیکربندی ویژه دایرکتوری را نیز فعال می‌کند. برای این منظور، mpv ابتدا تلاش می‌کند یک mpv.conf را از همان دایرکتوریِ فایل در حال پخش بارگذاری کند و سپس تلاش می‌کند هرگونه پیکربندی ویژه فایل را بارگذاری نماید. .SS نمایه‌ها .sp برای آسان‌تر شدن کار با پیکربندی‌های گوناگون، می‌توان نمایه‌هایی را در فایل‌های پیکربندی تعریف کرد. یک نمایه با نام خود در براکت آغاز می‌شود، مانند \fB[my\-profile]\fP\&. تمامی گزینه‌های پس از آن بخشی از این نمایه خواهند بود. یک توضیح (که با \fB\-\-profile=help\fP نمایش داده می‌شود) را می‌توان با گزینه \fBprofile\-desc\fP تعریف کرد. برای پایان دادن به یک نمایه، نمایه دیگری را آغاز کنید یا از نام نمایه \fBdefault\fP برای ادامه کار با گزینه‌های عادی استفاده نمایید. .sp می‌توانید نمایه‌ها را با \fB\-\-profile=help\fP فهرست کنید، و محتوای یک نمایه را با \fB\-\-show\-profile=\fP نمایش دهید (\fB\fP را با نام نمایه جایگزین کنید). می‌توانید نمایه‌ها را هنگام شروع با گزینه \fB\-\-profile=\fP یا در زمان اجرا با دستور \fBapply\-profile \fP اعمال کنید. .INDENT 0.0 .INDENT 3.5 .IP "مثال فایل پیکربندی mpv به همراه نمایه‌ها" .INDENT 0.0 .INDENT 3.5 .sp .EX # normal top\-level option fullscreen=yes # a profile that can be enabled with \-\-profile=big\-cache [big\-cache] cache=yes demuxer\-max\-bytes=512MiB demuxer\-readahead\-secs=20 [network] profile\-desc=\(dqprofile for content over network\(dq force\-window=immediate # you can also include other profiles profile=big\-cache [reduce\-judder] video\-sync=display\-resample interpolation=yes # using a profile again extends it [network] demuxer\-max\-back\-bytes=512MiB # reference a builtin profile profile=fast .EE .UNINDENT .UNINDENT .UNINDENT .UNINDENT .SS نمایه‌های زمان اجرا .sp نمایه‌ها را می‌توان در زمان اجرا با دستور \fBapply\-profile\fP تنظیم کرد. از آنجا که این عملیات \(dqتخریبی\(dq است (هر مورد در یک نمایه صرفاً به عنوان یک گزینه تنظیم می‌شود و مقدار قبلی را بازنویسی می‌کند)، نمی‌توانید به سادگی نمایه‌ها را دوباره فعال و غیرفعال کنید. .sp به عنوان یک راهکار نسبی، روشی وجود دارد که نمایه‌ها مقادیر قبلی گزینه‌ها را پیش از بازنویسی با مقادیر نمایه ذخیره کنند، و سپس در زمان دیگری با استفاده از \fBapply\-profile restore\fP\& مقادیر قبلی را بازیابی نمایند. .sp این قابلیت را می‌توان با گزینه \fBprofile\-restore\fP فعال کرد که یکی از گزینه‌های زیر را می‌پذیرد: .INDENT 0.0 .INDENT 3.5 .INDENT 0.0 .TP .B \fBdefault\fP هیچ کاری انجام نمی‌دهد و هیچ چیزی قابل بازیابی نیست (پیش‌فرض). .TP .B \fBcopy\fP هنگام اعمال یک نمایه، مقادیر قبلی تمام گزینه‌های نمایه پیش از مقداردهی از طریق نمایه، در یک نسخه پشتیبان کپی می‌شوند. این گزینه‌ها هنگام بازیابی با استفاده از نسخه پشتیبان به مقادیر قبلی خود بازنشانی می‌شوند. .sp هر نمایه فهرست مقادیر پشتیبان‌گیری‌شده مخصوص به خود را دارد. اگر نسخه پشتیبان از قبل موجود باشد (برای نمونه اگر \fBapply\-profile name\fP بیش از یک بار پشت سر هم فراخوانی شده باشد)، نسخه پشتیبانِ موجود تغییری نمی‌کند. عملیات بازیابی نسخه پشتیبان را حذف خواهد کرد. .sp دانستن این نکته مهم است که بازیابی، تنظیم یک گزینه را \(dqundo\(dq (واگرد) نمی‌کند، بلکه صرفاً مقدار قبلی گزینه را کپی می‌کند. برای مثال \fBvf\-add\fP را در نظر بگیرید که یک مدخل را به \fBvf\fP\& اضافه می‌کند. این سازوکار به سادگی کل فهرست \fBvf\fP را کپی می‌کند، و هنگام بازیابی معکوس \fBvf\-add\fP (که \fBvf\-remove\fP خواهد بود) را اجرا _نمی‌کند_. .sp توجه داشته باشید که اگر یک نمایه شامل نمایه‌های بازگشتی باشد (از طریق گزینه \fBprofile\fP)، با گزینه‌های موجود در این نمایه‌های بازگشتی به گونه‌ای رفتار می‌شود که گویی بخشی از این نمایه بوده‌اند. هنگام ایجاد یا استفاده از نسخه پشتیبان، از فهرست پشتیبان نمایه ارجاع‌شده استفاده نمی‌شود. بازیابی یک نمایه، نمایه‌های ارجاع‌شده را بازیابی نمی‌کند، بلکه تنها گزینه‌های نمایه‌های ارجاع‌شده را (گویی بخشی از نمایه اصلی بوده‌اند) بازیابی می‌کند. .TP .B \fBcopy\-equal\fP مشابه \fBcopy\fP است، اما یک گزینه را تنها در صورتی بازیابی می‌کند که مقداری برابر با مقدار اعمال‌شده توسط نمایه داشته باشد. این حالت تلاش می‌کند وضعیتی را مدیریت کند که در آن کاربر نمی‌خواهد گزینه پس از تغییر تعاملی بازنشانی شود. .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .INDENT 3.5 .IP "مثال" .INDENT 0.0 .INDENT 3.5 .sp .EX [something] profile\-restore=copy\-equal vf\-add=rotate=PI/2 # rotate by 90 degrees .EE .UNINDENT .UNINDENT .sp سپس اجرای این دستورها رفتاری مطابق با توضیحات به همراه خواهد داشت: .INDENT 0.0 .INDENT 3.5 .sp .EX set vf vflip apply\-profile something vf add hflip apply\-profile something # vf == vflip,rotate=PI/2,hflip,rotate=PI/2 apply\-profile something restore # vf == vflip .EE .UNINDENT .UNINDENT .UNINDENT .UNINDENT.SS نمایه‌های خودکار شرطی .sp نمایه‌هایی که گزینهٔ \fBprofile\-cond\fP برای آن‌ها تنظیم شده باشد، در صورت تطابق شرط مربوطه، به‌طور خودکار اعمال می‌شوند (مگر اینکه نمایه‌های خودکار غیرفعال شده باشند). این گزینه رشته‌ای را می‌گیرد که به عنوان عبارت Lua تفسیر می‌شود. اگر ارزیابی عبارت نتیجه‌ای صادق (truthy) به بار آورد، نمایه اعمال می‌شود. اگر عبارت دچار خطا شود یا به مقداری کاذب (falsy) ارزیابی گردد، نمایه اعمال نخواهد شد. اجرای این کد Lua در محیط ایزوله (sandbox) انجام نمی‌شود. .sp هر متغیری در عبارات شرطی می‌تواند به مشخصه‌ها اشاره کند. اگر یک شناسه از قبل توسط Lua یا mpv تعریف نشده باشد، به عنوان یک مشخصه تفسیر می‌شود. برای نمونه، \fBpause\fP وضعیت فعلی مکث را برمی‌گرداند. شما نمی‌توانید از این طریق به مشخصه‌های دارای \fB\-\fP اشاره کنید چرا که عمل تفریق را نشان می‌دهد، اما اگر نام متغیر حاوی نویسه‌های \fB_\fP باشد، آن‌ها به \fB\-\fP تبدیل می‌شوند. برای نمونه، \fBplayback_time\fP مشخصهٔ \fBplayback\-time\fP را برمی‌گرداند. .sp روشی مطمئن‌تر برای دسترسی به مشخصه‌ها استفاده از \fBp.property_name\fP یا \fBget(\(dqproperty\-name\(dq, default_value)\fP است. جادوی تبدیل خودکار متغیر به مشخصه در صورتی که شناسهٔ جدیدی با همان نام معرفی شود دچار اختلال خواهد شد (برای نمونه، اگر تابعی با نام \fBpause()\fP اضافه شود، \fBpause\fP به جای مقدار مشخصهٔ \fBpause\fP، مقدار یک تابع را برمی‌گرداند). .sp توجه داشته باشید که اگر مشخصه‌ای در دسترس نباشد، مقدار \fBnil\fP را برمی‌گرداند، که در صورت استفاده در عبارات می‌تواند باعث بروز خطا شود. این موارد در حالت پرحرف (verbose) ثبت می‌شوند و عبارت نادرست (false) تلقی می‌گردد. .sp هرگاه مشخصه‌ای که در شرط نمایه به آن ارجاع داده شده تغییر کند، شرط دوباره ارزیابی می‌شود. اگر مقدار بازگشتی شرط از کاذب یا خطا به صادق تغییر یابد، نمایه اعمال می‌گردد. .sp این سازوکار تلاش می‌کند تا به محض تغییر شرط از صادق به کاذب یا خطا، نمایه‌ها را \(dqلغو اعمال\(dq کند. اگر می‌خواهید از این قابلیت استفاده کنید، باید \fBprofile\-restore\fP را برای نمایه تنظیم نمایید. راهکار دیگر این است که نمایهٔ دیگری با شرط معکوس برای لغو اثرات نمایهٔ قبلی ایجاد کنید. .sp امکان استفاده از نمایه‌های بازگشتی وجود دارد، اما ارجاع به سایر نمایه‌های شرطی در داخل یک نمایهٔ شرطی توصیه نمی‌شود، زیرا می‌تواند به رفتارهای پیچیده و غیرشهودی منجر شود. .INDENT 0.0 .INDENT 3.5 .IP "مثال" .sp مضحک کردن فقط ویدیوهای HD: .INDENT 0.0 .INDENT 3.5 .sp .EX [something] profile\-desc=HD video sucks profile\-cond=width >= 1280 hue=\-50 .EE .UNINDENT .UNINDENT .sp روشن‌تر کردن تنها ویدیوهایی که مسیر آن‌ها شامل \(dqyoutube\(dq یا \(dqyoutu.be\(dq است: .INDENT 0.0 .INDENT 3.5 .sp .EX [youtube] profile\-cond=path:find(\(aqyoutu%.?be\(aq) gamma=20 .EE .UNINDENT .UNINDENT .sp اگر می‌خواهید در صورت بازگشت مجدد شرط به مقدار نادرست (false)، نمایه بازگردانی شود، می‌توانید \fBprofile\-restore\fP را تنظیم کنید: .INDENT 0.0 .INDENT 3.5 .sp .EX [something] profile\-desc=Mess up video when entering fullscreen profile\-cond=fullscreen profile\-restore=copy vf\-add=rotate=PI/2 # rotate by 90 degrees .EE .UNINDENT .UNINDENT .sp این کار هنگام ورود به حالت تمام‌صفحه، فیلتر \fBrotate\fP را به زنجیرهٔ فیلترهای ویدیو اضافه می‌کند. هنگام خروج از تمام‌صفحه، گزینهٔ \fBvf\fP روی مقداری که پیش از ورود به تمام‌صفحه داشت تنظیم می‌شود. توجه داشته باشید که این کار همچنین هر فیلتر دیگری را که در طول حالت تمام‌صفحه توسط کاربر اضافه شده باشد حذف خواهد کرد. اجتناب از این وضعیت دشوارتر است و برای نمونه با افزودن یک نمایهٔ دوم با شرط و عملیات معکوس قابل حل است: .INDENT 0.0 .INDENT 3.5 .sp .EX [something] profile\-cond=fullscreen vf\-add=@rot:rotate=PI/2 [something\-inv] profile\-cond=not fullscreen vf\-remove=@rot .EE .UNINDENT .UNINDENT .UNINDENT .UNINDENT .sp \fBهشدار:\fP .INDENT 0.0 .INDENT 3.5 هر بار که یکی از مشخصه‌های دخیل تغییر کند، شرط دوباره ارزیابی می‌شود. برای نمونه، اگر شرط شما از \fBp.playback_time\fP استفاده کند، شرط تقریباً در هر فریم ویدیو بازبینی و ارزیابی می‌شود. این عمل احتمالاً کند خواهد بود. .UNINDENT .UNINDENT .sp این ویژگی توسط یک اسکریپت داخلی Lua مدیریت می‌شود. شرط‌ها به عنوان کد Lua در این اسکریپت اجرا می‌شوند. محیط آن دست‌کم شامل موارد زیر است: .INDENT 0.0 .TP .B \fB(function environment table)\fP هر تابع Lua دارای یک جدول محیط است. این جدول برای دسترسی به شناسه‌ها استفاده می‌شود. هیچ نماد نام‌گذاری‌شده‌ای در Lua برای آن وجود ندارد؛ این جدول ضمنی است. .sp این محیط دسترسی‌های \(dqجادویی\(dq به مشخصه‌های mpv را انجام می‌دهد. اگر شناسه‌ای از قبل در \fB_G\fP تعریف نشده باشد، مشخصهٔ mpv هم‌نام با آن بازیابی می‌شود. هر بار تکرار \fB_\fP در نام، پیش از خواندن مشخصه با \fB\-\fP جایگزین می‌شود. مقدار بازگشتی دقیقاً همان مقداری است که توسط \fBmp.get_property_native(name)\fP دریافت می‌شود. در ساختار داخلی، به جای آن از حافظهٔ پنهان مقادیر مشخصه که از طریق پایش مشخصه به‌روز می‌شود استفاده می‌گردد؛ بنابراین مشخصه‌هایی که قابل پایش نیستند، برای همیشه روی مقدار اولیه‌شان ثابت می‌مانند. .sp اگر می‌خواهید به مشخصه‌هایی دسترسی داشته باشید که واقعاً حاوی \fB_\fP در نام خود هستند، از \fBget()\fP استفاده کنید (که نویسه‌گردانی انجام نمی‌دهد). .sp از نظر داخلی، جدول محیط دارای یک فراروش (metamethod) با نام \fB__index\fP است که منطق دسترسی را اجرا می‌کند. .TP .B \fBp\fP یک جدول \(dqجادویی\(dq مشابه با جدول محیط. برعکس مورد قبلی، این جدول اولویتی به دسترسی به متغیرهای تعریف‌شده در \fB_G\fP نمی‌دهد \- بلکه همواره به مشخصه‌ها دسترسی پیدا می‌کند. .TP .B \fBget(name [, def])\fP یک مشخصه را خوانده و مقدار آن را برمی‌گرداند. اگر مقدار مشخصه \fBnil\fP باشد (برای نمونه اگر مشخصه وجود نداشته باشد)، مقدار \fBdef\fP برگردانده می‌شود. .sp این تابع در ظاهر شبیه به \fBmp.get_property_native(name)\fP است. تفاوت مهم این است که به حافظهٔ پنهان مشخصه‌ها دسترسی یافته و منطق تشخیص تغییرات را فعال می‌کند (که برای رفتار پویای زمان اجرای نمایه‌های خودکار ضروری است). همچنین، این تابع مقداری را به عنوان دومین مقدار بازگشتی خطا بازنمی‌گرداند. .sp جدول‌های \(dqجادویی\(dq یادشده در بالا از این تابع به عنوان زیرساخت استفاده می‌کنند. این تابع نویسه‌گردانی \fB_\fP را انجام نمی‌دهد. .UNINDENT .sp علاوه بر این، همان محیطی که در یک اسکریپت خام Lua در mpv وجود دارد در اینجا نیز فراهم است. برای نمونه، \fBmath\fP تعریف شده است و امکان دسترسی به کتابخانهٔ ریاضی استاندارد Lua را می‌دهد. .sp \fBهشدار:\fP .INDENT 0.0 .INDENT 3.5 این ویژگی ممکن است در آینده دستخوش تغییرات نامحدود شود. ممکن است مجبور شوید با به‌روزرسانی‌های mpv، نمایه‌های خود را تطبیق دهید. .UNINDENT .UNINDENT.SS "پروفایل‌های خودکار قدیمی (Legacy auto profiles)" .sp برخی پروفایل‌ها با استفاده از سازوکاری قدیمی (legacy) به‌طور خودکار بارگذاری می‌شوند. مثال زیر این موضوع را نشان می‌دهد: .INDENT 0.0 .INDENT 3.5 .IP "بارگذاری خودکار پروفایل (Auto profile loading)" .INDENT 0.0 .INDENT 3.5 .sp .EX [extension.mkv] profile\-desc=\(dqprofile for .mkv files\(dq vf=vflip .EE .UNINDENT .UNINDENT .UNINDENT .UNINDENT .sp نام پروفایل از الگوی \fBtype.name\fP پیروی می‌کند، که در آن type می‌تواند \fBprotocol\fP برای پروتکل ورودی/خروجیِ در حال استفاده باشد (به \fB\-\-list\-protocols\fP مراجعه کنید)، و \fBextension\fP برای پسوند مسیر فایل در حال پخش فعلی باشد (\fIنه\fP فرمت فایل). .sp این ویژگی بسیار محدود است و منسوخ‌شدهٔ ضمنی (soft\-deprecated) تلقی می‌شود. از پروفایل‌های خودکار شرطی استفاده کنید. .SH "استفاده از mpv در سایر برنامه‌ها یا اسکریپت‌ها (USING MPV FROM OTHER PROGRAMS OR SCRIPTS)" .sp سه گزینه برای استفاده از mpv در سایر برنامه‌ها یا اسکریپت‌ها وجود دارد: .INDENT 0.0 .INDENT 3.5 .INDENT 0.0 .IP 1. 3 فراخوانی آن به‌عنوان یک پردازهٔ UNIX. اگر این کار را انجام می‌دهید، \fIخروجی ترمینال را تجزیه (parse) نکنید\fP\&. خروجی ترمینال برای انسان‌ها در نظر گرفته شده است و ممکن است در هر زمان تغییر کند. علاوه بر این، رفتار خود ترمینال نیز ممکن است در هر زمان تغییر کند. سازگاری را نمی‌توان تضمین کرد. .sp کد شما باید حتی اگر \fB\-\-terminal=no\fP را ارسال کنید نیز کار کند. سعی نکنید با ارسال کدهای کنترلی ترمینال به stdin مربوط به mpv، ورودی کاربر را شبیه‌سازی کنید. اگر به کنترل تعاملی نیاز دارید، استفاده از \fB\-\-input\-ipc\-server\fP یا \fB\-\-input\-ipc\-client\fP توصیه می‌شود. این قابلیت دسترسی به JSON IPC را از طریق unix domain socketها (یا named pipeها در Windows) فراهم می‌کند. .sp بسته به کاری که انجام می‌دهید، فرستادن \fB\-\-no\-config\fP یا \fB\-\-config\-dir\fP ممکن است ایدهٔ خوبی برای جلوگیری از تداخل با پیکربندی عادی کاربری mpv باشد که برای پخش از طریق CLI طراحی شده است. .sp استفاده از \fB\-\-input\-ipc\-server\fP یا \fB\-\-input\-ipc\-client\fP برای مقاصدی مانند کنترل از راه دور نیز مناسب است (با این حال، خود پروتکل IPC \(dqامن\(dq نیست و چنین هدفی هم ندارد). .IP 2. 3 استفاده از libmpv. این روش عموماً زمانی توصیه می‌شود که از mpv به‌عنوان پسانهٔ (backend) پخش برای یک برنامهٔ کاملاً مجزا استفاده می‌شود. C API ارائه‌شده بسیار به سازوکارهای CLI و API اسکریپت‌نویسی نزدیک است. .sp توجه داشته باشید که هرچند libmpv پیش‌فرض‌های متفاوتی دارد، می‌توان آن را طوری پیکربندی کرد که دقیقاً مانند پخش‌کنندهٔ CLI عمل کند (به‌جز اینکه تجزیهٔ خط فرمان در دسترس نیست). .sp بخش EMBEDDING INTO OTHER PROGRAMS (LIBMPV) را ببینید\&. .IP 3. 3 به‌عنوان یک اسکریپت کاربری (LUA SCRIPTING، JAVASCRIPT، C PLUGINS). این روش زمانی توصیه می‌شود که هدف \(dqبهبود\(dq پخش‌کنندهٔ CLI باشد. اسکریپت‌ها به کل API کلاینت mpv دسترسی دارند. .sp این روش استاندارد برای ایجاد افزونه‌های شخص ثالث (third\-party) برای پخش‌کننده است. .UNINDENT .UNINDENT .UNINDENT .sp همهٔ این روش‌ها به API کلاینت دسترسی دارند، که مجموعه‌ای از سازوکارهای مختلفِ ارائه‌شده توسط هستهٔ پخش‌کننده است، همان‌گونه که در اینجا مستند شده است: OPTIONS، List of Input Commands، Properties، List of events (همچنین C API را ببینید)، Hooks\&. .SH "گرفتن اسکرین‌شات (TAKING SCREENSHOTS)" .sp تصویربرداری (اسکرین‌شات) از فایل در حال پخش می‌تواند با استفاده از دستور حالت ورودی \(aqscreenshot\(aq انجام شود، که به‌طور پیش‌فرض به کلید \fBs\fP متصل است. فایل‌هایی با نام \fBmpv\-shotNNNN.jpg\fP در دایرکتوری کاری با استفاده از نخستین شمارهٔ در دسترس ذخیره خواهند شد \- هیچ فایلی بازنویسی نخواهد شد. در حالت pseudo\-GUI، اسکرین‌شات در مکان دیگری ذخیره خواهد شد. به بخش PSEUDO GUI MODE مراجعه کنید\&. .sp یک اسکرین‌شات معمولاً شامل محتوای ویدیوییِ مقیاس‌بندی‌نشده در انتهای زنجیرهٔ فیلترهای ویدیو و زیرنویس‌ها خواهد بود. به‌طور پیش‌فرض، کلید \fBS\fP بدون زیرنویس اسکرین‌شات می‌گیرد، در حالی که \fBs\fP زیرنویس‌ها را نیز شامل می‌شود. .sp برخلاف MPlayer، به فیلتر ویدیویی \fBscreenshot\fP نیازی نیست. این فیلتر هرگز در mpv لازم نبوده و حذف شده است..SH "خط وضعیت پایانه (TERMINAL STATUS LINE)" .sp در طول پخش، mpv وضعیت پخش را روی ترمینال نمایش می‌دهد. ساختار آن چیزی شبیه به این است: .INDENT 0.0 .INDENT 3.5 \fBAV: 00:03:12 / 00:24:25 (13%) A\-V: \-0.000\fP .UNINDENT .UNINDENT .sp خط وضعیت را می‌توان با استفاده از گزینهٔ \fB\-\-term\-status\-msg\fP بازنویسی کرد. .sp در ادامه فهرستی از مواردی که ممکن است در خط وضعیت ظاهر شوند آورده شده است. ویژگی‌های ورودی (properties) که می‌توانند برای دریافت دستی همین اطلاعات استفاده شوند نیز ذکر شده‌اند. .INDENT 0.0 .IP \(bu 2 \fBAV:\fP یا \fBV:\fP (فقط ویدیو) یا \fBA:\fP (فقط صدا) .IP \(bu 2 موقعیت زمانی فعلی در قالب \fBHH:MM:SS\fP (ویژگی \fBplayback\-time\fP) .IP \(bu 2 مدت‌زمان کل فایل (اگر نامشخص باشد نمایش داده نمی‌شود) (ویژگی \fBduration\fP) .IP \(bu 2 سرعت پخش، برای نمونه \fBx2.0\fP\&. تنها در صورتی قابل مشاهده است که سرعت روی حالت عادی نباشد. این سرعت درخواست‌شده توسط کاربر است و نه سرعت واقعی (معمولاً باید یکسان باشند، مگر اینکه سرعت پخش بیش از حد کُند باشد). (ویژگی \fBspeed\fP.) .IP \(bu 2 درصد پیشرفت پخش، برای نمونه \fB(13%)\fP\&. چه مقدار از فایل پخش شده است. معمولاً از روی موقعیت زمانی پخش و مدت‌زمان کل محاسبه می‌شود، اما در صورت در دسترس نبودن این موارد می‌تواند به روش‌های دیگر (مانند موقعیت بایتی) تنزل یابد. (ویژگی \fBpercent\-pos\fP.) .IP \(bu 2 همگام‌سازی صدا و تصویر به‌صورت \fBA\-V: 0.000\fP\&. این مقدار اختلاف زمانی میان صدا و تصویر است. در حالت عادی باید 0 یا نزدیک به 0 باشد. اگر این مقدار در حال افزایش باشد، ممکن است نشان‌دهندهٔ وجود مشکلی در پخش باشد. (ویژگی \fBavsync\fP.) .IP \(bu 2 تغییر کل همگام‌سازی صدا/تصویر، برای نمونه \fBct: \-0.417\fP\&. معمولاً نامرئی است. اگر صدای \(dqاز دست رفته\(dq وجود داشته باشد، یا نتوان به اندازهٔ کافی فریم‌ها را حذف کرد، می‌تواند ظاهر شود. معمولاً این مورد نشان‌دهندهٔ یک مشکل است. (ویژگی \fBtotal\-avsync\-change\fP.) .IP \(bu 2 وضعیت کدگذاری در \fB{...}\fP، تنها در حالت کدگذاری نمایش داده می‌شود. .IP \(bu 2 وضعیت همگام‌سازی نمایشگر (Display sync). اگر همگام‌سازی نمایشگر فعال باشد (ویژگی \fBdisplay\-sync\-active\fP)، این بخش \fBDS: 2.500/13\fP را نمایش می‌دهد که عدد اول میانگین تعداد vsyncها به‌ازای هر فریم ویدیو است (برای نمونه 2.5 هنگام پخش ویدیوهای 24Hz روی نمایشگرهای 60Hz) که اگر نسبت به‌طور دقیق رُند نشود یا فریم‌هایی با زمان‌بندی نادرست وجود داشته باشند ممکن است دچار نوسان شود (\fBvsync\-ratio\fP)، و عدد دوم تعداد تخمینی vsyncهایی است که بیش از حد طول کشیده‌اند (ویژگی \fBvo\-delayed\-frame\-count\fP). مورد دوم یک برآورد تقریبی (heuristic) است، زیرا معمولاً نمی‌توان این موضوع را با قطعیت کامل مشخص کرد. .IP \(bu 2 فریم‌های حذف‌شده (Dropped frames)، برای نمونه \fBDropped: 4\fP\&. تنها در صورتی نمایش داده می‌شود که تعداد آن‌ها صفر نباشد. اگر نرخ فریم ویدیو بیشتر از نرخ تازه‌سازی نمایشگر باشد، یا اگر پردازش تصویر (رندر) ویدیو بیش از حد کند باشد، می‌تواند افزایش یابد. همچنین ممکن است در هنگام لکنت‌های جزئی (\(dqhiccups\(dq) و زمانی که فریم ویدیو نتواند به‌موقع نمایش داده شود افزایش یابد. (ویژگی \fBframe\-drop\-count\fP.) اگر رمزگشا (decoder) فریم‌ها را رها کند، تعداد فریم‌های حذف‌شده توسط رمزگشا نیز به صفحه اضافه می‌شود؛ برای نمونه: \fBDropped: 4/34\fP\&. این اتفاق تنها زمانی رخ می‌دهد که حذف فریم توسط رمزگشا با گزینه‌های \fB\-\-framedrop\fP فعال شده باشد. (ویژگی \fBdecoder\-frame\-drop\-count\fP.) .IP \(bu 2 وضعیت حافظهٔ موقت (Cache)، برای نمونه \fBCache: 2s/134KB\fP\&. در صورت فعال بودن کش جریان (stream cache) قابل مشاهده است. مقدار اول میزان ویدیوی بافرشده در demuxer را به ثانیه نشان می‌دهد، و مقدار دوم اندازهٔ تخمینی داده‌های بافرشده را به کیلوبایت نمایش می‌دهد. (ویژگی‌های \fBdemuxer\-cache\-duration\fP و \fBdemuxer\-cache\-state\fP.) .UNINDENT .SH "پخش با تأخیر کم (LOW LATENCY PLAYBACK)" .sp برنامهٔ mpv برای پخش عادی ویدیو بهینه‌سازی شده است، به این معنی که تلاش می‌کند تا جای ممکن داده‌ها را تا میزانی که منطقی به نظر می‌رسد بافر کند. این رفتار باعث افزایش تأخیر (latency) خواهد شد. کاهش تأخیر تنها با غیرفعال کردن صریح قابلیت‌هایی که تأخیر را افزایش می‌دهند امکان‌پذیر است. .sp نمایهٔ پیش‌فرض \fBlow\-latency\fP تلاش می‌کند تا برخی از گزینه‌هایی را که می‌توانند تأخیر را کاهش دهند اعمال کند. می‌توانید از \fB\-\-profile=low\-latency\fP برای اعمال همهٔ آن‌ها استفاده کنید. می‌توانید محتویات آن را با دستور \fB\-\-show\-profile=low\-latency\fP مشاهده کنید (برخی از این گزینه‌ها بسیار فنی و مبهم هستند و ممکن است در هر نسخه از mpv تغییر کنند). .sp توجه داشته باشید که برخی از این گزینه‌ها ممکن است کیفیت پخش را کاهش دهند. .sp بیشتر تأخیرها معمولاً به دلیل رفتارهای زمان‌بندی نامناسب رخ می‌دهد. می‌توانید این زمان‌بندی را با \fB\-\-untimed\fP غیرفعال کنید، اما احتمالاً فرایند پخش با مشکل مواجه خواهد شد، مگر اینکه جریان ویدیویی بدون صدا باشد و داده‌های ورودی با نرخ ثابتی به پخش‌کننده تغذیه شوند. .sp مشکل رایج دیگر مربوط به جریان‌های تصویری MJPEG است. این جریان‌ها نرخ فریم صحیح را اعلام نمی‌کنند. استفاده از \fB\-\-untimed\fP یا \fB\-\-correct\-pts=no \-\-container\-fps\-override=60\fP ممکن است در این مورد کمک‌کننده باشد. .sp در پخش‌های زنده (livestreams)، داده‌ها ممکن است به دلیل متوقف کردن موقت جریان، سرعت پخش کمی پایین‌تر، یا مکث‌های ناشی از \(dqبافر شدن\(dq انباشته شوند. در صورت فعال بودن کش demuxer، می‌توان از این موارد به‌صورت دستی عبور کرد. دستور آزمایشی \fBdrop\-buffers\fP می‌تواند برای دور ریختن تمامی داده‌های بافرشده استفاده شود، هرچند که عملکردی بسیار مخل و ناگهانی دارد. .sp در برخی موارد، تنظیم دستی اندازهٔ بافرهای TCP و موارد مشابه می‌تواند به کاهش تأخیر کمک کند. .sp گزینه‌های دیگری که می‌توان آن‌ها را امتحان کرد: .INDENT 0.0 .IP \(bu 2 \fB\-\-opengl\-glfinish=yes\fP، می‌تواند بافرینگ در درایور گرافیک را کاهش دهد .IP \(bu 2 \fB\-\-opengl\-swapinterval=0\fP، عملکردی مشابه دارد .IP \(bu 2 \fB\-\-vo=xv\fP، عملکردی مشابه دارد .IP \(bu 2 در صورت نبود صدا، گزینهٔ \fB\-\-framedrop=no \-\-speed=1.01\fP ممکن است برای منابع زنده کمک کند (نتایج ممکن است متغیر باشد) .UNINDENT.SH "ادامه پخش (RESUMING PLAYBACK)" .sp برنامه mpv قادر است موقعیت پخش فایل در حال اجرا را ذخیره کرده و دفعه بعد که آن فایل پخش می‌شود، پخش را از همان نقطه ادامه دهد. این کار با دستورهای \fBquit\-watch\-later\fP (به‌طور پیش‌فرض متصل به Shift+Q) و \fBwrite\-watch\-later\-config\fP و همچنین با گزینه \fB\-\-save\-position\-on\-quit\fP انجام می‌شود. .sp تفاوت بین خروج همیشگی با کلید اختصاص‌یافته به \fBquit\-watch\-later\fP و استفاده از \fB\-\-save\-position\-on\-quit\fP در این است که مورد دوم، موقعیت پخش را حتی در صورتی که mpv با روشی غیر از کلید میانبر بسته شود (مانند کلیک روی دکمه بستن در نوار عنوان پنجره) نیز ذخیره می‌کند. با این حال اگر mpv به‌طور ناگهانی متوقف شود و زمان کافی برای ذخیره نداشته باشد، موقعیت ذخیره نخواهد شد؛ به عنوان مثال، اگر سیستم خود را بدون بستن قبلی mpv خاموش کنید. .sp همچنین mpv گزینه‌هایی غیر از موقعیت پخش را که پس از آغاز پخش تغییر یافته‌اند، مانند بلندی صدا و صدا/زیرنویس‌های انتخاب‌شده، ذخیره کرده و مقادیر آن‌ها را دفعه بعدی که فایل پخش می‌شود بازیابی می‌کند. اینکه چه گزینه‌هایی ذخیره شوند را می‌توان با گزینه \fB\-\-watch\-later\-options\fP پیکربندی کرد. .sp هنگام پخش چند ورودی در فهرست پخش (playlist)، mpv بررسی می‌کند که آیا فایلی دارای پیکربندی ذخیره‌شده برای ادامه پخش هست یا خیر، و اگر موردی پیدا کند پخش را از همان نقطه از سر می‌گیرد. برای مثال، اگر در قسمت ۵ از یک سریال از \fBquit\-watch\-later\fP استفاده کنید و بعداً همه قسمت‌ها را پخش کنید، mpv به‌طور خودکار پخش را از قسمت ۵ از سر خواهد گرفت. .sp گزینه‌های بیشتر برای پیکربندی این قابلیت در بخش Watch Later\& فهرست شده‌اند. .SH "پروتکل‌ها (PROTOCOLS)" .sp \fBmpv://...\fP .INDENT 0.0 .INDENT 3.5 پروتکل mpv. این مورد برای راه‌اندازی mpv از طریق کنترل‌کننده نشانی (URL handler) استفاده می‌شود. پیشوند پروتکل حذف شده و مابقی آن به عنوان یک آرگومان معمولی باز کردن به پخش‌کننده ارسال می‌شود. تنها پروتکل‌های شبکه امن مجاز هستند که از این طریق باز شوند. .UNINDENT .UNINDENT .sp \fBhttp://...\fP, \fBhttps://\fP, ... .INDENT 0.0 .INDENT 3.5 بسیاری از پروتکل‌های شبکه پشتیبانی می‌شوند، اما پیشوند پروتکل همیشه باید مشخص شود. mpv هرگز تلاش نمی‌کند حدس بزند که آیا یک نام فایل در واقع یک نشانی شبکه است یا خیر. پیشوند پروتکل همواره الزامی است. .sp توجه داشته باشید که همه پیشوندها در اینجا مستند نشده‌اند. پیشوندهای مستند‌نشده یا نام‌های مستعار (alias) برای پروتکل‌های مستندشده هستند، یا صرفاً هدایت‌هایی به پروتکل‌های پیاده‌سازی و مستند شده در FFmpeg می‌باشند. .sp پیشوند \fBdata:\fP پشتیبانی می‌شود، اما باید در قالب \fBdata://\fP\& باشد. این کار برای جلوگیری از ابهام با نام فایل‌ها انجام شده است. همچنین می‌توانید پیشوندهای \fBlavf://\fP یا \fBffmpeg://\fP\& را به ابتدای آن اضافه کنید. .UNINDENT .UNINDENT .sp \fBytdl://...\fP .INDENT 0.0 .INDENT 3.5 به‌طور پیش‌فرض، اسکریپت قلاب youtube\-dl تنها نشانی‌های http(s) را بررسی می‌کند. افزودن پیشوند \fBytdl://\fP به نشانی اینترنتی، پردازش همیشگی آن توسط این اسکریپت را تحمیل می‌کند. این کار همچنین می‌تواند برای فراخوانی عملکردهای خاص youtube\-dl مانند پخش ویدیو با شناسه یا اجرای جستجو استفاده شود. .sp به یاد داشته باشید که نمی‌توانید گزینه‌های خط فرمان youtube\-dl را از این طریق ارسال کنید و در عوض باید از \fB\-\-ytdl\-raw\-options\fP استفاده نمایید. .UNINDENT .UNINDENT .sp \fB\-\fP .INDENT 0.0 .INDENT 3.5 پخش داده‌ها از stdin (ورودی استاندارد). .UNINDENT .UNINDENT .sp \fBsmb://PATH\fP .INDENT 0.0 .INDENT 3.5 پخش یک مسیر از اشتراک Samba. (نیازمند پشتیبانی FFmpeg است.) .UNINDENT .UNINDENT .sp \fBbd://[title][/device]\fP \fB\-\-bluray\-device=PATH\fP .INDENT 0.0 .INDENT 3.5 پخش دیسک Blu\-ray. از نسخه libbluray 1.0.1 به بعد، می‌توانید با فرستادن فایل‌های ISO به \fB\-\-bluray\-device\fP\& از آن‌ها بخوانید. .sp مقدار \fBtitle\fP می‌تواند یکی از این موارد باشد: \fBlongest\fP یا \fBfirst\fP (فهرست پخش پیش‌فرض را انتخاب می‌کند)؛ \fBmpls/\fP (فهرست پخش .mpls را انتخاب می‌کند)؛ \fB\fP (فهرست پخش با همان شماره شاخص را انتخاب می‌کند). mpv هنگام بارگذاری، فهرست‌های پخش موجود را نمایش می‌دهد. .sp \fBbluray://\fP یک نام مستعار است. .UNINDENT .UNINDENT .sp \fBdvd://[title][/device]\fP \fB\-\-dvd\-device=PATH\fP .INDENT 0.0 .INDENT 3.5 پخش DVD. منوهای DVD پشتیبانی نمی‌شوند. اگر هیچ عنوان (title) داده نشود، طولانی‌ترین عنوان به‌طور خودکار انتخاب می‌شود. بدون گزینه \fB\-\-dvd\-device\fP، در صورتی که درایو نوری واقعی در دسترس بوده و برای سیستم‌عامل پیاده‌سازی شده باشد، احتمالاً تلاش خواهد کرد آن را باز کند. .sp \fBdvdnav://\fP یک نام مستعار قدیمی برای \fBdvd://\fP است و دقیقاً همان کار را انجام می‌دهد. .UNINDENT .UNINDENT .sp \fBdvb://[cardnumber@]channel\fP \fB\-\-dvbin\-...\fP .INDENT 0.0 .INDENT 3.5 تلویزیون دیجیتال از طریق DVB. (فقط در لینوکس.) .UNINDENT .UNINDENT .sp \fBmf://[@listfile|filemask|glob|printf\-format]\fP \fB\-\-mf\-...\fP .INDENT 0.0 .INDENT 3.5 پخش مجموعه‌ای از تصاویر به عنوان ویدیو. .sp اگر مسیر نشانی با \fB@\fP آغاز شود، به عنوان مسیر فایلی شامل فهرستی از مسیرهای تصویر که با خطوط جدید جدا شده‌اند تفسیر می‌شود. اگر مسیر نشانی شامل \fB,\fP باشد، به عنوان فهرستی از مسیرهای تصویر جداشده با \fB,\fP\& تفسیر می‌شود. اگر مسیر نشانی شامل \fB%\fP نباشد و در بسترهای POSIX باشد، به عنوان یک glob تفسیر شده و در صورتی که \fB*\fP مشخص نشده باشد، به‌طور خودکار به انتهای آن اضافه می‌شود. در غیر این صورت، توالی‌های printf شامل \fB%[.][NUM]d\fP (که در آن \fBNUM\fP یک، دو یا سه رقم ده‌دهی است) و \fB%%\fP تفسیر می‌شوند. برای مثال، \fBmf://image\-%d.jpg\fP فایل‌هایی مانند \fBimage\-1.jpg\fP، \fBimage\-2.jpg\fP و \fBimage\-10.jpg\fP را پخش می‌کند، به شرطی که شکاف‌های عددی بزرگی بین فایل‌ها وجود نداشته باشد. .UNINDENT .UNINDENT .sp \fBcdda://[device]\fP \fB\-\-cdda\-device=PATH\fP .INDENT 0.0 .INDENT 3.5 پخش CD. می‌توانید با استفاده از گزینه‌های \fB\-\-start\fP و \fB\-\-end\fP و مشخص کردن فصل‌ها (chapters)، بازه خاصی از قطعه‌ها (tracks) را برای پخش انتخاب کنید. جابه‌جایی به جلو و عقب در میان قطعه‌ها را می‌توان با پیمایش در فصل‌ها نیز انجام داد (\fBPGUP\fP و \fBPGDOWN\fP در کلیدهای میانبر پیش‌فرض). .INDENT 0.0 .INDENT 3.5 .IP "مثال (Example)" .INDENT 0.0 .INDENT 3.5 .sp .EX mpv cdda:// \-\-start=#4 \-\-end=#6 .EE .UNINDENT .UNINDENT .sp این دستور از قطعه ۴ آغاز کرده، قطعه ۵ را پخش می‌کند و سپس به پایان می‌رسد. .UNINDENT .UNINDENT .UNINDENT .UNINDENT .sp \fBlavf://...\fP .INDENT 0.0 .INDENT 3.5 دسترسی به هر پروتکل libavformat در FFmpeg. اساساً این پروتکل رشته بعد از \fB//\fP را مستقیماً به libavformat ارسال می‌کند. .UNINDENT .UNINDENT .sp \fBav://type:options\fP .INDENT 0.0 .INDENT 3.5 این پروتکل برای استفاده از ورودی‌های libavdevice در نظر گرفته شده است. مقدار \fBtype\fP نام دی‌مالتی‌پلکسر (demuxer) در libavdevice است و \fBoptions\fP نام فایل (یا شبه‌فایل) ارسال‌شده به دی‌مالتی‌پلکسر است. .INDENT 0.0 .INDENT 3.5 .IP "مثال (Example)" .INDENT 0.0 .INDENT 3.5 .sp .EX mpv av://v4l2:/dev/video0 \-\-profile=low\-latency \-\-untimed .EE .UNINDENT .UNINDENT.sp این دستور ویدیو را از اولین ورودی v4l با تقریباً کمترین تاخیر ممکن پخش می‌کند. این یک جایگزین مناسب برای ورودی حذف‌شدهٔ \fBtv://\fP است. استفاده از \fB\-\-untimed\fP ترفندی برای ارسال فوری فریم ضبط‌شده به خروجی است، به‌جای اینکه به نرخ فریم ورودی پایبند باشد. (ممکن است در آینده روش‌های بهتری برای مدیریت این موضوع وجود داشته باشد.) .UNINDENT .UNINDENT .sp \fBavdevice://\fP یک نام مستعار است. .UNINDENT .UNINDENT .sp \fBfile://PATH\fP .INDENT 0.0 .INDENT 3.5 یک مسیر محلی به‌صورت URL. ممکن است در برخی موارد کاربرد خاص مفید باشد. توجه داشته باشید که خودِ \fBPATH\fP باید با یک \fB/\fP سوم شروع شود تا مسیر به یک مسیر مطلق تبدیل گردد. .UNINDENT .UNINDENT .sp \fBappending://PATH\fP .INDENT 0.0 .INDENT 3.5 یک فایل محلی را پخش می‌کند، اما فرض می‌کند که داده‌ها در حال الحاق به آن هستند. این ویژگی برای مثال برای فایل‌هایی که در حال حاضر بر روی دیسک بارگیری می‌شوند مفید است. این کار پخش را مسدود می‌کند و تنها در صورتی پخش را متوقف می‌سازد که پس از یک مهلت زمانی حدود ۲ ثانیه، دادهٔ جدیدی اضافه نشده باشد. .sp استفاده از این روش همچنان ایدهٔ چندان مناسبی نیست، زیرا راهی برای تشخیص اینکه آیا داده‌ها واقعاً به فایل اضافه می‌شوند یا هنوز در حال نوشتن است وجود ندارد. اگر قصد دارید خروجی برنامه‌ای را پخش کنید، استفاده از یک لوله (pipe) را مدنظر قرار دهید (\fBsomething | mpv \-\fP). اگر واقعاً باید یک فایل روی دیسک باشد، از tail استفاده کنید تا برای همیشه منتظر بماند، برای مثال \fBtail \-f \-c +0 file.mkv | mpv \-\fP\&. .UNINDENT .UNINDENT .sp \fBfd://123\fP .INDENT 0.0 .INDENT 3.5 خواندن داده‌ها از توصیف‌کنندهٔ فایل (file descriptor) داده‌شده (برای مثال 123). این شبیه هدایت داده‌ها به stdin از طریق لوله و به‌وسیلهٔ \fB\-\fP است، اما می‌تواند از هر توصیف‌کنندهٔ فایل دلخواهی استفاده کند. هنگامی که لایهٔ جریان آن را \(dqباز\(dq می‌کند، ممکن است mpv برخی ویژگی‌های توصیف‌کنندهٔ فایل را تغییر دهد. .UNINDENT .UNINDENT .sp \fBfdclose://123\fP .INDENT 0.0 .INDENT 3.5 مشابه \fBfd://\fP، اما توصیف‌کنندهٔ فایل پس از استفاده بسته می‌شود. هنگام استفاده از این باید اطمینان حاصل کنید که از نشانی URL مشابه fd تنها یک بار استفاده خواهد شد. .UNINDENT .UNINDENT .sp \fBedl://[edl specification as in edl\-mpv.rst]\fP .INDENT 0.0 .INDENT 3.5 بخش‌هایی از چندین فایل را به یکدیگر پیوند داده و آن‌ها را پخش می‌کند. .UNINDENT .UNINDENT .sp \fBslice://start[\-end]@URL\fP .INDENT 0.0 .INDENT 3.5 خواندن یک برش از جریان. .sp \fBstart\fP و \fBend\fP بیانگر یک محدودهٔ بایتی هستند و پسوندهایی مانند \fBKiB\fP و \fBMiB\fP را می‌پذیرند. \fBend\fP اختیاری است. .sp اگر \fBend\fP با \fB+\fP شروع شود، به‌عنوان آفست از \fBstart\fP در نظر گرفته می‌شود. .sp تنها با جریان‌های با قابلیت پرش (seekable) کار می‌کند. .sp مثال‌ها: .INDENT 0.0 .INDENT 3.5 .sp .EX mpv slice://1g\-2g@cap.ts این دستور خواندن از cap.ts را پس از پرش به 1 GiB شروع می‌کند، سپس تا رسیدن به 2 GiB یا انتهای فایل می‌خواند. mpv slice://1g\-+2g@cap.ts این دستور خواندن از cap.ts را پس از پرش به 1 GiB شروع می‌کند، سپس تا رسیدن به 3 GiB یا انتهای فایل می‌خواند. mpv slice://100m@appending://cap.ts این دستور خواندن از cap.ts را پس از پرش به 100MiB شروع می‌کند، سپس تا انتهای فایل می‌خواند. .EE .UNINDENT .UNINDENT .UNINDENT .UNINDENT .sp \fBnull://\fP .INDENT 0.0 .INDENT 3.5 یک فایل خالی را شبیه‌سازی می‌کند. اگر برای نوشتن باز شود، تمامی داده‌ها را دور می‌ریزد. تفکیک‌کنندهٔ \fBnull\fP در صورت استفاده از این پروتکل به‌طور ویژه از آزمون خودکار (autoprobing) عبور می‌کند (در حالی که برای فایل‌های خالی به‌طور خودکار فراخوانی نمی‌شود). .UNINDENT .UNINDENT .sp \fBmemory://data\fP .INDENT 0.0 .INDENT 3.5 از بخش \fBdata\fP به‌عنوان دادهٔ منبع استفاده می‌کند. .UNINDENT .UNINDENT .sp \fBhex://data\fP .INDENT 0.0 .INDENT 3.5 مشابه \fBmemory://\fP، اما رشته به‌عنوان hexdump تفسیر می‌شود. .UNINDENT .UNINDENT.SH "حالت شبه‌رابط گرافیکی (PSEUDO GUI MODE)" .sp برنامه mpv هیچ GUI رسمی به‌جز OSC (کنترل‌کننده روی صفحه یا ON SCREEN CONTROLLER) ندارد، که یک رابط گرافیکی کامل نیست و قرار هم نبوده چنین باشد. با این حال، برای جبران کمبود رفتار مورد انتظار از یک رابط گرافیکی، mpv در برخی شرایط با تنظیماتی تغییریافته اجرا می‌شود تا رفتاری شبیه‌تر به یک حالت گرافیکی داشته باشد. .sp در حال حاضر این اتفاق فقط در موارد زیر رخ می‌دهد: .INDENT 0.0 .IP \(bu 2 اگر با استفاده از فایل \fBmpv.desktop\fP در لینوکس اجرا شود (به‌عنوان مثال، اجرا از طریق منوها یا ارتباطات فایلی ارائه‌شده توسط محیط‌های میزکار) .IP \(bu 2 اگر از طریق explorer.exe در ویندوز اجرا شود (از نظر فنی، اگر در ویندوز اجرا شده باشد و تمامی دستگیره‌های stdout/stderr/stdin تنظیم نشده باشند) .IP \(bu 2 اگر از داخل بسته نرم‌افزاری (bundle) در macOS اجرا شود .IP \(bu 2 اگر به‌صورت دستی از \fB\-\-player\-operation\-mode=pseudo\-gui\fP در خط فرمان استفاده کنید .UNINDENT .sp این حالت گزینه‌ها را از نمایه توکار \fBbuiltin\-pseudo\-gui\fP اعمال می‌کند، اما فقط در صورتی که این گزینه‌ها در فایل پیکربندی کاربر یا در خط فرمان تنظیم نشده باشند، که تفاوت اصلی با استفاده از \fB\-\-profile=builtin\-pseudo\-gui\fP است\&. .sp این نمایه در حال حاضر به صورت زیر تعریف شده است: .INDENT 0.0 .INDENT 3.5 .sp .EX [builtin\-pseudo\-gui] terminal=no force\-window=yes idle=once screenshot\-directory=~~desktop/ .EE .UNINDENT .UNINDENT .sp نمایه \fBpseudo\-gui\fP به منظور سازگاری وجود دارد. گزینه‌های درون نمایه \fBpseudo\-gui\fP بدون قید و شرط اعمال می‌شوند. علاوه بر این، این نمایه فعال شدن حالت شبه‌گرافیکی را تضمین می‌کند، به طوری که \fB\-\-profile=pseudo\-gui\fP مانند نسخه‌های قدیمی‌تر mpv عمل کند: .INDENT 0.0 .INDENT 3.5 .sp .EX [pseudo\-gui] player\-operation\-mode=pseudo\-gui .EE .UNINDENT .UNINDENT .sp \fBهشدار:\fP .INDENT 0.0 .INDENT 3.5 در حال حاضر، می‌توانید نمایه \fBpseudo\-gui\fP را به شیوه معمول در فایل پیکربندی گسترش دهید. این کار منسوخ شده است. در نسخه‌های آینده mpv، این رفتار ممکن است تغییر کرده و تنظیمات اضافی شما را اعمال نکند و/یا از نام نمایه متفاوتی استفاده نماید. .UNINDENT .UNINDENT .SH "گزینه‌ها (OPTIONS)" .SS "انتخاب ترک (Track Selection)" .INDENT 0.0 .TP .B \fB\-\-alang=\fP یک فهرست اولویت‌بندی‌شده از زبان‌های صوتی برای استفاده را به صورت برچسب‌های زبانی IETF مشخص می‌کند. با کدهای دوحرفی معادل ISO 639\-1 و کدهای سه‌حرفی ISO 639\-2 رفتار یکسانی صورت می‌گیرد. نخستین برچسب در فهرست که با زبان ترک در فایل مطابقت داشته باشد، استفاده خواهد شد. ترکی که با زیربرچسب‌های بیشتری مطابقت داشته باشد نسبت به ترکی با تطابق کمتر ترجیح داده می‌شود. همچنین \fB\-\-aid\fP را ببینید\&. .sp این یک گزینه از نوع فهرست رشته‌ای است. برای جزئیات به بخش گزینه‌های فهرست (List Options) مراجعه کنید. .INDENT 7.0 .INDENT 3.5 .IP "مثال‌ها (Examples)" .INDENT 0.0 .IP \(bu 2 دستور \fBmpv dvd://1 \-\-alang=hu,en\fP ترک زبان مجاری را روی DVD انتخاب می‌کند و اگر مجاری در دسترس نباشد، به زبان انگلیسی رجوع می‌کند. .IP \(bu 2 دستور \fBmpv \-\-alang=jpn example.mkv\fP یک فایل Matroska را با صدای ژاپنی پخش می‌کند. .UNINDENT .UNINDENT .UNINDENT .TP .B \fB\-\-slang=\fP مشابه \fB\-\-alang\fP، برای ترک‌های زیرنویس. .sp این یک گزینه از نوع فهرست رشته‌ای است. برای جزئیات به بخش گزینه‌های فهرست (List Options) مراجعه کنید. .INDENT 7.0 .INDENT 3.5 .IP "مثال‌ها (Examples)" .INDENT 0.0 .IP \(bu 2 دستور \fBmpv dvd://1 \-\-slang=hu,en\fP ترک زیرنویس مجاری را روی DVD انتخاب می‌کند و اگر مجاری در دسترس نباشد، به انگلیسی رجوع می‌کند. .IP \(bu 2 دستور \fBmpv \-\-slang=jpn example.mkv\fP یک فایل Matroska را با زیرنویس ژاپنی پخش می‌کند. .IP \(bu 2 دستور \fBmpv \-\-slang=pt\-BR example.mkv\fP در صورت وجود، یک فایل Matroska را با زیرنویس پرتغالی برزیلی و در غیر این صورت با هر زیرنویس پرتغالی دیگری پخش می‌کند. .UNINDENT .UNINDENT .UNINDENT .TP .B \fB\-\-vlang=<...>\fP مشابه \fB\-\-alang\fP و \fB\-\-slang\fP، برای ترک‌های ویدیویی. .sp این یک گزینه از نوع فهرست رشته‌ای است. برای جزئیات به بخش گزینه‌های فهرست (List Options) مراجعه کنید. .TP .B \fB\-\-aid=\fP انتخاب ترک صوتی. مقدار \fBauto\fP ترک پیش‌فرض را انتخاب می‌کند، و \fBno\fP صدا را غیرفعال می‌سازد. همچنین \fB\-\-alang\fP را ببینید\&. برنامه mpv به‌طور معمول هنگام شروع پخش یک فایل، ترک‌های صوتی موجود را در ترمینال چاپ می‌کند. .sp گزینه \fB\-\-audio\fP یک نام مستعار برای \fB\-\-aid\fP است\&. .sp مقدار \fB\-\-aid=no\fP یا \fB\-\-audio=no\fP پخش صدا را غیرفعال می‌کند. .sp \fBنکته:\fP .INDENT 7.0 .INDENT 3.5 گزینه‌های انتخاب ترک (نه تنها \fB\-\-aid\fP بلکه \fB\-\-sid\fP و بقیه) گاهی رفتاری از خود نشان می‌دهند که ممکن است عجیب به نظر برسد. علاوه بر این، این رفتار تمایل دارد با هر نسخه جدید mpv تغییر کند. .sp ویژگی‌های انتخاب ترک خارج از وضعیت پخش، مقدار گزینه را بازمی‌گردانند (همان‌طور که انتظار می‌رود)، اما در طول پخش، انتخاب مؤثر ترک بازگردانده می‌شود. برای مثال، با \fB\-\-aid=auto\fP، ویژگی \fBaid\fP پس از راه‌اندازی پخش ناگهان مقدار \fB2\fP را بازمی‌گرداند (با این فرض که فایل حداقل دارای ۲ ترک صوتی باشد و دومی پیش‌فرض باشد). .sp در mpv 0.32.0 (و برخی از نسخه‌های پیشین)، اگر مقداری برای ترک ارسال می‌کردید که ترک متناظر با آن وجود نداشت (مثلاً \fB\-\-aid=2\fP و تنها ۱ ترک صوتی موجود بود)، ویژگی \fBaid\fP مقدار \fBno\fP را بازمی‌گرداند\&. با این حال اگر ترک صوتی دیگری در حین پخش اضافه می‌شد و شما تلاش می‌کردید ویژگی \fBaid\fP را روی \fB2\fP تنظیم کنید، هیچ اتفاقی نمی‌افتاد، زیرا گزینه \fBaid\fP کماکان دارای مقدار \fB2\fP بود و نوشتن همان مقدار هیچ اثری ندارد. .sp با mpv 0.33.0 این رفتار تغییر کرد. اکنون در صورتی که گزینه سعی در انتخاب ترکی داشته باشد که وجود ندارد، گزینه‌های انتخاب ترک در زمان راه‌اندازی پخش به \fBauto\fP بازنشانی می‌شوند. همین عمل در حالتی که ترک وجود داشته باشد اما راه‌اندازی آن ناموفق شود نیز انجام می‌گیرد. پیامد این امر آن است که برخلاف نسخه‌های قبل از mpv 0.33.0، پارامترهای انتخابی کاربر برای ترک در شرایط خاصی بازنویسی و بازنشانی می‌شوند. .sp همچنین از mpv 0.33.0 به بعد، تلاش برای انتخاب ترک از روی شماره، دقیقاً همان ترک را انتخاب می‌کند. پیش از این تغییر، تلاش برای انتخاب ترکی که وجود نداشت باعث می‌شد که در زمان راه‌اندازی پخش به انتخاب پیش‌فرض ترک پس‌گرد شود. رفتار جدید سازگارتر و هماهنگ‌تر است. .sp تنظیم یکی از ویژگی‌های انتخاب ترک در زمان اجرا و سپس پخش فایلی جدید، در صورتی که اثرانگشت (fingerprint) فهرست ترک‌های فایل جدید متفاوت باشد، ممکن است انتخاب ترک را به مقادیر پیش‌فرض بازنشانی کند. .sp مراقب ترکیب‌های پیچیده ناشی از تمام موارد بالا باشید: برای مثال، \fBmpv \-\-aid=2 file_with_2_audio_tracks.mkv file_with_1_audio_track.mkv\fP ابتدا فایل نخست را با ترک صحیح و فایل دوم را بدون صدا پخش می‌کند. اگر سپس به فایل نخست برگردید، نخستین ترک صوتی آن پخش خواهد شد و فایل دوم همراه با صدا پخش می‌شود. اگر همان کار را دوباره انجام دهید ولی به جای استفاده از \fB\-\-aid=2\fP، دستور \fBset aid 2\fP را هنگام پخش فایل اجرا کنید، جابجایی به فایل دوم ترک صوتی آن را پخش خواهد کرد. این به این دلیل است که انتخاب در زمان اجرا، روش اکتشافی اثرانگشت را فعال می‌سازد. .sp به احتمال زیاد این پایان کار نیست. .UNINDENT .UNINDENT .TP .B \fB\-\-sid=\fP جریان زیرنویس تعیین‌شده توسط \fB\fP را نمایش می‌دهد\&. مقدار \fBauto\fP ترک پیش‌فرض را انتخاب می‌کند، و \fBno\fP زیرنویس‌ها را غیرفعال می‌سازد. .sp گزینه \fB\-\-sub\fP یک نام مستعار برای \fB\-\-sid\fP است\&. .sp مقدار \fB\-\-sid=no\fP یا \fB\-\-sub=no\fP رمزگشایی زیرنویس را غیرفعال می‌کند..TP .B \fB\-\-vid=\fP کانال ویدیویی را انتخاب می‌کند. \fBauto\fP پیش‌فرض را انتخاب می‌کند، \fBno\fP ویدیو را غیرفعال می‌کند. .sp \fB\-\-video\fP یک نام مستعار برای \fB\-\-vid\fP است\&. .sp \fB\-\-vid=no\fP یا \fB\-\-video=no\fP پخش ویدیو را غیرفعال می‌کند. .sp اگر ویدیو غیرفعال باشد، چنانچه رسانه با youtube\-dl دریافت شود، mpv تلاش خواهد کرد فقط صدا را بارگیری کند، زیرا در پهنای باند صرفه‌جویی می‌شود. این کار با تنظیم ytdl_format روی \(dqbestaudio/best\(dq در اسکریپت ytdl_hook.lua انجام می‌گیرد. .TP .B \fB\-\-edition=\fP (فقط فایل‌های Matroska) ویرایش (مجموعه‌ای از فصل‌ها) مورد استفاده را مشخص می‌کند، که 0 اولین آن است. اگر روی \fBauto\fP (پیش‌فرض) تنظیم شود، mpv اولین ویرایشی را که به عنوان پیش‌فرض تعیین شده، یا در صورت نبود پیش‌فرض، اولین ویرایش تعریف‌شده را انتخاب خواهد کرد. .TP .B \fB\-\-track\-auto\-selection=\fP انتخاب خودکار قطعه پیش‌فرض را فعال می‌کند (پیش‌فرض: yes). فعال‌سازی این مورد باعث می‌شود پخش‌کننده جریان‌ها را مطابق با \fB\-\-aid\fP، \fB\-\-alang\fP و سایر موارد انتخاب کند. در صورت غیرفعال بودن، هیچ قطعه‌ای انتخاب نمی‌شود. علاوه بر این، چنانچه هیچ قطعه‌ای انتخاب نشود، پخش‌کننده خارج نخواهد شد و در عوض به انتظار می‌ماند (این حالت انتظار شبیه به مکث است، اما گزینه مکث تنظیم نشده است). .sp این گزینه همراه با \fB\-\-lavfi\-complex\fP مفید است: می‌توانید پخش را در این حالت آغاز کرده و سپس قطعات انتخابی را در زمان اجرا با تنظیم گراف فیلتر مشخص کنید. توجه داشته باشید که اگر \fB\-\-lavfi\-complex\fP پیش از آغاز پخش تنظیم شده باشد، قطعات ارجاع‌داده‌شده همواره انتخاب می‌شوند. .TP .B \fB\-\-subs\-with\-matching\-audio=\fP هنگام انتخاب خودکار قطعه زیرنویس، حتی اگر جریان صوتی انتخاب‌شده با زبان ترجیحی زیرنویس شما مطابقت داشته باشد، آن را انتخاب می‌کند (پیش‌فرض: yes). اگر این گزینه روی \fBno\fP تنظیم شود، صرف‌نظر از \fB\-\-slang\fP یا \fBsubs\-fallback\fP، هیچ قطعه زیرنویسی که با زبان صدا مطابقت داشته باشد هرگز به صورت خودکار توسط mpv انتخاب نخواهد شد\&. در صورت تنظیم روی \fBforced\fP، تنها زیرنویس‌های اجباری (forced) انتخاب خواهند شد. .TP .B \fB\-\-subs\-match\-os\-language=\fP هنگام انتخاب خودکار قطعه زیرنویس، در صورتی که جریان صوتی به زبان دیگری باشد، قطعه‌ای را که با زبان سیستم‌عامل شما همخوانی دارد در صورت مناسب بودن (قطعه پیش‌فرض یا قطعه اجباری تحت شرایط مناسب) انتخاب می‌کند. توجه داشته باشید که در صورت تنظیم بودن \fB\-\-slang\fP، این مورد کاملاً نادیده گرفته می‌شود (پیش‌فرض: yes). .TP .B \fB\-\-subs\-fallback=\fP هنگام انتخاب خودکار قطعه زیرنویس، اگر هیچ قطعه‌ای با زبان‌های ترجیحی شما مطابقت نداشته باشد، یک قطعه کامل را حتی اگر با زبان ترجیحی زیرنویس شما مطابقت نداشته باشد انتخاب می‌کند (پیش‌فرض: default). تنظیم این مورد روی \fIdefault\fP بدین معناست که تنها جریان‌های علامت‌گذاری‌شده به عنوان \fIdefault\fP انتخاب خواهند شد. .TP .B \fB\-\-subs\-fallback\-forced=\fP هنگام انتخاب خودکار قطعه زیرنویس، مقدار پیش‌فرض \fIyes\fP استفاده از قطعه زیرنویس اجباری را در اولویت قرار می‌دهد، مشروط بر این‌که زبان زیرنویس با زبان صدا و همچنین فهرست زبان‌های ترجیحی شما مطابقت داشته باشد. مقدار ویژه \fIalways\fP تنها قطعات زیرنویس اجباری را انتخاب می‌کند و هرگز به قطعات غیراجباری رجوع نمی‌کند. برعکس، \fIno\fP هرگز قطعه زیرنویس اجباری را انتخاب نخواهد کرد. .UNINDENT .SS کنترل پخش (Playback Control) .INDENT 0.0 .TP .B \fB\-\-start=\fP پرش به موقعیت زمانی مشخص‌شده. .sp قالب کلی برای زمان‌ها \fB[+|\-][[hh:]mm:]ss[.ms]\fP است\&. اگر زمان با پیشوند \fB\-\fP همراه باشد، زمان به صورت نسبی نسبت به انتهای فایل (طبق گزارش demuxer/فایل) در نظر گرفته می‌شود. علامت \fB+\fP معمولاً نادیده گرفته می‌شود (اما ادامه را ببینید). .sp مشخصه‌های زمانی جایگزین زیر نیز شناخته می‌شوند: .sp \fBpp%\fP به موقعیت درصدی pp پرش می‌کند (0\-100). .sp \fB#c\fP به فصل شماره c پرش می‌کند. (شماره فصل‌ها از 1 آغاز می‌شود.) .sp \fBnone\fP هر مقدار گزینه‌ای را که قبلاً تعیین شده باشد بازنشانی می‌کند (برای libmpv کاربرد دارد). .sp اگر \fB\-\-rebase\-start\-time=no\fP مشخص شده باشد، پیشوند کردن زمان‌ها با \fB+\fP زمان را نسبت به ابتدای فایل تعیین می‌کند. یک برچسب زمانی بدون پیشوند به عنوان زمان مطلق در نظر گرفته می‌شود؛ یعنی باید به فریمی با همان برچسب زمانی موجود در فایل پرش کند. به عنوان یک باگ، و البته یک ویژگی پنهان، قرار دادن ۱ یا چند فاصله پیش از \fB+\fP یا \fB\-\fP همواره زمان را مطلق تفسیر می‌کند، که می‌تواند برای پرش به برچسب‌های زمانی منفی استفاده شود (در بهترین حالت برای اشکال‌زدایی کاربرد دارد). .INDENT 7.0 .INDENT 3.5 .IP "مثال‌ها (Examples)" .INDENT 0.0 .TP .B \fB\-\-start=+56\fP, \fB\-\-start=00:56\fP به زمان شروع + 56 ثانیه پرش می‌کند. .TP .B \fB\-\-start=\-56\fP, \fB\-\-start=\-00:56\fP به زمان پایان \- 56 ثانیه پرش می‌کند. .TP .B \fB\-\-start=01:10:00\fP به ۱ ساعت و ۱۰ دقیقه پرش می‌کند. .TP .B \fB\-\-start=50%\fP به میانه فایل پرش می‌کند. .TP .B \fB\-\-start=30 \-\-end=40\fP به ثانیه 30 پرش می‌کند، 10 ثانیه پخش می‌کند و سپس خارج می‌شود. .TP .B \fB\-\-start=\-3:20 \-\-length=10\fP به ۳ دقیقه و ۲۰ ثانیه پیش از پایان فایل پرش می‌کند، ۱۰ ثانیه پخش می‌کند و سپس خارج می‌شود. .TP .B \fB\-\-start=\(aq#2\(aq \-\-end=\(aq#4\(aq\fP فصل‌های ۲ و ۳ را پخش می‌کند و سپس خارج می‌شود. .UNINDENT .UNINDENT .UNINDENT .TP .B \fB\-\-end=\fP توقف در زمان داده‌شده. اگر زمان باید نسبت به \fB\-\-start\fP باشد، از \fB\-\-length\fP استفاده کنید\&. برای مقادیر معتبر گزینه و مثال‌ها، به \fB\-\-start\fP مراجعه کنید. .TP .B \fB\-\-length=\fP توقف پس از مدت‌زمانی معین نسبت به زمان شروع. برای مقادیر معتبر گزینه و مثال‌ها، به \fB\-\-start\fP مراجعه کنید. .sp اگر هر دو گزینه \fB\-\-end\fP و \fB\-\-length\fP تعیین شوند، پخش با رسیدن به هر یک از این دو نقطه پایانی متوقف خواهد شد. .sp نکته ابهام: اگر \fB\-\-rebase\-start\-time=no\fP باشد و زمان مشخص‌شده مطابق با تعریف در توضیحات گزینه \fB\-\-start\fP یک زمان \(dqمطلق\(dq نباشد، این ویژگی به درستی کار نخواهد کرد. .TP .B \fB\-\-rebase\-start\-time=\fP آیا زمان شروع فایل به \fB00:00:00\fP منتقل شود یا خیر (پیش‌فرض: yes). این ویژگی کار را برای فایل‌هایی که با یک برچسب زمانی تصادفی شروع می‌شوند، مانند جریان‌های انتقال (transport streams)، بسیار هموارتر می‌کند. از سوی دیگر، در صورت بازنشانی برچسب‌های زمانی، رفتار حاصل می‌تواند بسیار نامتعارف باشد. به همین دلیل، و در صورتی که برچسب‌های زمانی واقعی مد نظرتان باشد، می‌توان این رفتار را با \fBno\fP غیرفعال کرد\&. .TP .B \fB\-\-speed=<0.01\-100>\fP کاهش یا افزایش سرعت پخش بر اساس ضریب تعیین‌شده به عنوان پارامتر. .sp اگر \fB\-\-audio\-pitch\-correction\fP (به‌طور پیش‌فرض فعال) به کار رود، پخش با سرعتی بالاتر از حد معمول به طور خودکار فیلتر صوتی \fBscaletempo2\fP را درج می‌کند. .TP .B \fB\-\-pitch=<0.01\-100>\fP زیروبمی (pitch) صدا را بر اساس ضریب ارائه‌شده به عنوان پارامتر افزایش یا کاهش می‌دهد. بر سرعت پخش تأثیری نمی‌گذارد. پخش با زیروبمی تغییریافته به طور خودکار فیلتر صوتی \fBscaletempo2\fP را درج می‌کند. .sp از آنجا که تغییر زیروبمی از طریق ترکیب تغییر سرعت با حفظ گام و بازنمونه‌برداری (resampling) صورت می‌گیرد، دامنه تغییر زیروبمی عملاً توسط پارامترهای \fBmin\-speed\fP و \fBmax\-speed\fP فیلتر \fBscaletempo2\fP محدود می‌شود: به عنوان مثال، مقدار \fBmin\-speed\fP برابر با 0.25، بالاترین ضریب زیروبمی را به 4 (1/0.25) محدود می‌کند. .sp در یک سامانه گام استاندارد ۱۲ پرده‌ای، اکتاوها با ضریب ۲ از یکدیگر متمایز می‌شوند در حالی که نیم‌پرده‌ها با ضریب 2^(1/12) نشان داده می‌شوند. این بدان معناست که زیروبمی را می‌توان به راحتی با یک ضریب ساده به سمت بالا یا پایین جابه‌جا کرد. .INDENT 7.0 .INDENT 3.5 .IP "مثال‌ها (Examples)" .INDENT 0.0 .TP .B \fB\-\-pitch=2\fP زیروبمی را یک اکتاو کامل بالا می‌برد. .TP .B \fB\-\-pitch=0.5\fP زیروبمی را یک اکتاو پایین می‌آورد. .TP .B \fB\-\-pitch=1.498307\fP (2^(7/12)) زیروبمی را به اندازه یک فاصله پنجم درست (perfect fifth) بالا می‌برد. .TP .B \fB\-\-pitch=0.667420\fP (2^(\-7/12)) زیروبمی را به اندازه یک فاصله پنجم درست پایین می‌آورد. .TP .B \fB\-\-pitch=1.059463\fP (2^(1/12)) زیروبمی را یک نیم‌پرده بالا می‌برد. .TP .B \fB\-\-pitch=0.943874\fP (2^(\-1/12)) زیروبمی را یک نیم‌پرده پایین می‌آورد. .UNINDENT .UNINDENT .UNINDENT.TP .B \fB\-\-pause\fP آغاز به کار پخش‌کننده در حالت مکث. .TP .B \fB\-\-shuffle\fP پخش فایل‌ها با ترتیب تصادفی. .TP .B \fB\-\-playlist\-start=\fP مشخص می‌کند که پخش با کدام فایل از لیست‌پخش داخلی آغاز شود. اندیس یک عدد صحیح است که 0 به معنای فایل اول می‌باشد. مقدار \fBauto\fP به این معناست که انتخاب مدخل برای پخش به سازوکار ازسرگیری پخش واگذار می‌شود (پیش‌فرض). اگر مدخلی با اندیس داده‌شده وجود نداشته باشد، رفتار برنامه نامشخص است و ممکن است در نسخه‌های بعدی mpv تغییر کند. همین امر در صورتی که لیست‌پخش شامل لیست‌پخش‌های دیگری باشد نیز صدق می‌کند (انتظار رفتار معقولی را نداشته باشید). با این حال، دادن یک فایل لیست‌پخش به mpv باید با این گزینه کار کند؛ برای نمونه، \fBmpv playlist.m3u \-\-playlist\-start=123\fP تا زمانی که \fBplaylist.m3u\fP به لیست‌پخش‌های دیگری پیوند ندهد، همان‌گونه که انتظار می‌رود کار خواهد کرد. .sp مقدار \fBno\fP یک نام مستعار منسوخ‌شده برای \fBauto\fP است\&. .TP .B \fB\-\-playlist=\fP پخش فایل‌ها مطابق با یک فایل لیست‌پخش. از برخی قالب‌های رایج پشتیبانی می‌کند. اگر قالبی شناسایی نشود، با آن به عنوان فهرستی از فایل‌ها که با نویسه خط جدید از هم جدا شده‌اند رفتار خواهد شد. ممکن است برای بارگذاری فایل‌های متنی ساده به عنوان لیست‌پخش به این گزینه نیاز پیدا کنید. توجه داشته باشید که قالب‌های لیست‌پخش XML پشتیبانی نمی‌شوند. .sp این گزینه \fB\-\-demuxer=playlist\fP را وادار به تفسیر فایل لیست‌پخش می‌کند. برخی قالب‌های لیست‌پخش، به ویژه CUE و قالب‌های دیسک نوری، نیازمند استفاده از دیمالتی‌پلکسرهای متفاوتی هستند و با این گزینه کار نخواهند کرد. آن‌ها همچنان می‌توانند به طور مستقیم و بدون استفاده از این گزینه پخش شوند. .sp شما می‌توانید لیست‌های پخش را مستقیماً بدون این گزینه پخش کنید. پیش از نسخه 0.31.0 mpv، این گزینه هرگونه سازوکار امنیتی موجود را غیرفعال می‌کرد، اما از نسخه 0.31.0 به بعد از همان سازوکارهای امنیتیِ پخش مستقیم فایل لیست‌پخش استفاده می‌کند. اگر به فایل لیست‌پخش اعتماد دارید، می‌توانید تمام بررسی‌های امنیتی را با \fB\-\-load\-unsafe\-playlists\fP غیرفعال کنید\&. از آنجا که لیست‌های پخش می‌توانند مدخل‌های دیگری را بارگذاری کنند، توصیه می‌شود این گزینه را تنها برای خودِ لیست‌پخش و نه مدخل‌های آن اعمال کنید، به شیوه‌ای مشابه این: .INDENT 7.0 .INDENT 3.5 \fBmpv \-\-{ \-\-playlist=filename \-\-load\-unsafe\-playlists \-\-}\fP .UNINDENT .UNINDENT .sp \fBهشدار:\fP .INDENT 7.0 .INDENT 3.5 روشی که نسخه‌های قدیمی‌تر mpv فایل‌های لیست‌پخش را از طریق \fB\-\-playlist\fP پخش می‌کردند در برابر فایل‌های دستکاری‌شده مخرب ایمن نبود. چنین فایل‌هایی ممکن است اقدامات زیانباری را آغاز کنند. این موضوع برای تمامی نسخه‌های mpv پیش از 0.31.0 و تمامی نسخه‌های MPlayer وجود داشته است، اما متأسفانه این نکته پیش‌تر به خوبی مستند نشده بود و حتی برخی افراد به اشتباه استفاده از \fB\-\-playlist\fP را با منابع نامطمئن توصیه می‌کردند. اگر مطمئن نیستید که نسخه mpv شما حداقل 0.31.0 است، از \fB\-\-playlist\fP برای منابع تصادفی اینترنتی یا فایل‌هایی که به آن‌ها اعتماد ندارید استفاده نکنید. .sp به ویژه، لیست‌های پخش می‌توانند شامل مدخل‌هایی باشند که از پروتکل‌هایی غیر از فایل‌های محلی استفاده می‌کنند؛ مانند پروتکل‌های ویژه‌ای چون \fBavdevice://\fP (که ذاتاً ناامن هستند). .UNINDENT .UNINDENT .TP .B \fB\-\-chapter\-merge\-threshold=\fP آستانه ادغام بخش‌های فصل‌های ترتیبی تقریباً متوالی بر حسب میلی‌ثانیه (پیش‌فرض: 100). برخی فایل‌های Matroska با فصل‌های ترتیبی دارای برچسب‌های زمانی نادقیق پایان فصل هستند که باعث ایجاد وقفه‌ای کوچک بین پایان یک فصل و آغاز فصل بعدی می‌شود در حالی که باید بر هم منطبق باشند. اگر فاصله پایان یک بخش پخش تا شروع بخش بعدی کمتر از آستانه تعیین‌شده باشد، به جای انجام پرش (seek)، پخش ویدیو در طول تغییر فصل به صورت عادی ادامه می‌یابد. .TP .B \fB\-\-chapter\-seek\-threshold=\fP فاصله زمانی بر حسب ثانیه از ابتدای یک فصل که در محدوده آن، پرش به عقب بین فصل‌ها به فصل قبلی می‌رود (پیش‌فرض: 5.0). پس از عبور از این آستانه، پرش به عقب در فصل به جای آن به ابتدای فصل فعلی می‌رود. یک مقدار منفی به معنای بازگشت همیشگی به فصل قبلی است. .TP .B \fB\-\-hr\-seek=\fP انتخاب زمان استفاده از پرش‌های دقیق که به فریم‌های کلیدی محدود نمی‌شوند. چنین پرش‌هایی نیازمند رمزگشایی ویدیو از فریم کلیدی قبلی تا موقعیت هدف هستند و بنابراین بسته به کارایی رمزگشایی ممکن است زمان‌بر باشند. برای برخی قالب‌های ویدیویی، پرش‌های دقیق غیرفعال هستند. این گزینه انتخاب پیش‌فرض را برای پرش‌ها تعیین می‌کند؛ امکان لغو صریح این پیش‌فرض در تعریف کلیدهای میانبر و در دستورات ورودی وجود دارد. .INDENT 7.0 .TP .B no هرگز از پرش‌های دقیق استفاده نکن. .TP .B absolute اگر پرش به یک موقعیت مطلق در فایل باشد (مانند پرش به فصل)، از پرش‌های دقیق استفاده کن، اما برای پرش‌های نسبی مانند رفتار پیش‌فرض کلیدهای جهت‌نما استفاده نکن. .TP .B default مانند \fBabsolute\fP، اما hr\-seekها را در حالت‌های فقط صوتی فعال می‌کند. رفتار دقیق وابسته به پیاده‌سازی است و ممکن است با نگارش‌های جدید تغییر کند (پیش‌فرض). .TP .B yes هر زمان که ممکن باشد از پرش‌های دقیق استفاده کن. .TP .B always مشابه \fByes\fP (برای سازگاری). .UNINDENT .TP .B \fB\-\-hr\-seek\-demuxer\-offset=\fP این گزینه برای دور زدن خطاهای پرش دقیق (مانند \fB\-\-hr\-seek\fP) که به دلیل باگ‌ها یا محدودیت‌های دیمالتی‌پلکسرها در برخی قالب‌های فایل رخ می‌دهد ایجاد شده است. برخی دیمالتی‌پلکسرها نمی‌توانند به فریم کلیدی پیش از موقعیت هدفِ داده‌شده پرش کنند و در عوض به موقعیتی پس از آن می‌روند. مقدار این گزینه از برچسب زمانی داده‌شده به دیمالتی‌پلکسر کسر می‌شود. بنابراین، اگر این گزینه را روی 1.5 تنظیم کنید و سعی در انجام پرش دقیق به ثانیه 60 داشته باشید، به دیمالتی‌پلکسر گفته می‌شود که به زمان 58.5 پرش کند که احتمال رفتن اشتباهی آن به زمانی بعد از 60 ثانیه را کاهش می‌دهد. نکته منفی این تنظیم آن است که پرش‌های دقیق کندتر می‌شوند، زیرا ویدیوی بین موقعیت قبلی دیمالتی‌پلکسر و هدف واقعی ممکن است به طور غیرضروری رمزگشایی شود. .TP .B \fB\-\-hr\-seek\-framedrop=\fP به رمزگشای ویدیو اجازه می‌دهد در هنگام پرش فریم‌ها را رها (drop) کند، در صورتی که این فریم‌ها پیش از هدفِ پرش باشند. اگر این گزینه فعال باشد، پرش دقیق می‌تواند سریع‌تر انجام شود، اما اگر از فیلترهای ویدیویی استفاده می‌کنید که برچسب‌های زمانی را تغییر می‌دهند یا فریم‌های جدید اضافه می‌کنند، می‌تواند منجر به رد شدن از فریمِ هدف در پرش دقیق شود. برای مثال این موضوع می‌تواند هنگام فعال بودن deinterlacing قابلیت حرکت فریم به عقب (backstepping) را مختل کند. .sp پیش‌فرض: \fByes\fP .TP .B \fB\-\-index=\fP نحوه پرش در فایل‌ها را کنترل می‌کند. توجه داشته باشید که اگر نمایه‌ای (index) در فایل موجود نباشد، به طور پیش‌فرض در حین اجرا ساخته می‌شود، بنابراین نیازی به تغییر این گزینه ندارید. با این حال ممکن است به کار با برخی فایل‌های آسیب‌دیده کمک کند. .INDENT 7.0 .TP .B default در صورت وجود نمایه در فایل از آن استفاده کن، یا در صورت نبود، آن را بساز .TP .B recreate نمایه فایل را نخوان و از آن استفاده نکن .UNINDENT .sp \fBنکته:\fP .INDENT 7.0 .INDENT 3.5 این گزینه تنها در صورتی کار می‌کند که رسانه زیرین از پرش پشتیبانی کند (یعنی نه با stdin، pipe و غیره). .UNINDENT .UNINDENT .TP .B \fB\-\-load\-unsafe\-playlists\fP بارگذاری نشانی‌های اینترنتی (URLها) از لیست‌های پخشی که ناامن تلقی می‌شوند (پیش‌فرض: no). این شامل پروتکل‌های خاص و هر چیزی است که به فایل‌های معمولی اشاره نمی‌کند. از سوی دیگر، فایل‌های محلی و پیوندهای HTTP همیشه امن در نظر گرفته می‌شوند. .sp علاوه بر این، اگر لیست‌پخشی در زمان فعال بودن این گزینه بارگذاری شود، مدخل‌های افزوده‌شده لیست‌پخش به عنوان منشأگرفته از شبکه یا مکانی بالقوه ناامن نشانه‌گذاری نمی‌شوند. (در عوض، رفتار به گونه‌ای خواهد بود که گویی مدخل‌های لیست‌پخش مستقیماً به خط فرمان mpv یا دستور \fBloadfile\fP داده شده‌اند.) .TP .B \fB\-\-access\-references=\fP دنبال کردن هرگونه ارجاع در فایلی که در حال باز شدن است (پیش‌فرض: yes). غیرفعال کردن این گزینه در صورتی که فایل به طور خودکار بررسی و پویش می‌شود (مانند تولید تصاویر بندانگشتی) مفید است. برای نمونه اگر پویشگر تصویر بندانگشتی با یک فایل لیست‌پخش برخورد کند که حاوی نشانی‌های شبکه است و پویشگر نباید آن‌ها را باز کند، غیرفعال کردن این گزینه مانع از آن خواهد شد. همچنین این گزینه فصل‌های ترتیبی، فایل‌های مرجع mov، باز کردن آرشیوها و تعدادی دیگر از قابلیت‌ها را غیرفعال می‌کند. .sp در نسخه‌های قدیمی‌تر FFmpeg، این گزینه در برخی موارد کار نخواهد کرد. ممکن است برخی از دیمالتی‌پلکسرهای FFmpeg این گزینه را رعایت نکنند. .sp این گزینه از باز شدن فایل‌های زیرنویس جفت‌شده و موارد مشابه جلوگیری نمی‌کند. برای جلوگیری از این مورد از \fB\-\-autoload\-files=no\fP استفاده کنید. .sp این گزینه همیشه هنگام باز کردن موارد غیرفایلی کار نمی‌کند (برای مثال استفاده از \fBdvd://directory\fP دسته‌ای کامل از فایل‌ها را در دایرکتوری داده‌شده باز می‌کند). اضافه کردن پیشوند \fB\&./\fP به نام فایل در صورتی که با \fB/\fP شروع نمی‌شود، از این مشکل جلوگیری خواهد کرد. .TP .B \fB\-\-loop\-playlist=\fP, \fB\-\-loop\-playlist\fP پخش را \fBN\fP بار تکرار (حلقه) می‌کند. مقدار \fB1\fP آن را یک بار پخش می‌کند (پیش‌فرض)، \fB2\fP دو بار و غیره. مقدار \fBinf\fP به معنای تکرار همیشگی است. مقدار \fBno\fP همانند \fB1\fP بوده و تکرار را غیرفعال می‌کند. اگر چندین فایل در خط فرمان مشخص شده باشند، کل لیست‌پخش تکرار می‌شود. \fB\-\-loop\-playlist\fP همانند \fB\-\-loop\-playlist=inf\fP است\&..sp حالت \fBforce\fP مانند \fBinf\fP است، اما مدخل‌های فهرست پخش را که به عنوان ناموفق علامت‌گذاری شده‌اند رد نمی‌کند. این بدان معناست که ممکن است پخش‌کننده با تلاش برای تکرار فایلی که وجود ندارد، زمان CPU را هدر دهد. اما ممکن است برای پخش رادیوهای اینترنتی در شرایط شبکه‌ای بسیار بد مفید باشد. .TP .B \fB\-\-loop\-file=\fP, \fB\-\-loop=\fP یک تک‌فایل را N بار تکرار می‌کند. \fBinf\fP به معنای همیشه است، \fBno\fP به معنای پخش عادی است. برای سازگاری، \fB\-\-loop\-file\fP و \fB\-\-loop\-file=yes\fP نیز پذیرفته می‌شوند و با \fB\-\-loop\-file=inf\fP\& یکسان هستند. .sp تفاوت آن با \fB\-\-loop\-playlist\fP در این است که فهرست پخش را تکرار نمی‌کند، بلکه تنها خود فایل را تکرار می‌کند. اگر فهرست پخش فقط حاوی یک تک‌فایل باشد، تفاوت بین دو گزینه در این است که این گزینه هنگام تکرار به‌جای بارگذاری مجدد فایل، یک پرش (seek) انجام می‌دهد. .sp \fBنکته:\fP .INDENT 7.0 .INDENT 3.5 گزینه \fB\-\-loop\-file\fP تعداد دفعاتی را می‌شمارد که باعث می‌شود پخش‌کننده به ابتدای فایل پرش کند، نه تعداد دورهای کامل پخش. این بدان معناست که \fB\-\-loop\-file=1\fP در نهایت منجر به دو بار پخش فایل خواهد شد. در مقایسه با \fB\-\-loop\-playlist\fP، که تعداد دورهای کامل پخش را می‌شمارد. .UNINDENT .UNINDENT .sp \fB\-\-loop\fP یک نام مستعار برای این گزینه است. .TP .B \fB\-\-ab\-loop\-a=