.TH gpac 1 2019 gpac GPAC . .SH "نام (NAME)" .LP gpac \- پخش‌کننده، بسته‌بندی‌کننده و ابزار چندرسانه‌ای همه‌منظوره .SH "خلاصه دستور (SYNOPSIS)" .LP .B gpac .RI [گزینه‌ها] FILTER [LINK] FILTER [...] .br . دستور .B gpac ابزار خط فرمان GPAC برای راه‌اندازی و اجرای زنجیره‌های فیلتر است. .br .br .B FILTER: اعلان یک فیلتر تکی (مانند .BR \-i " file" , .BR \-o " dump" , .BR inspect , و غیره)؛ به .B gpac \-h doc مراجعه کنید. .br .B [LINK]: یک دستورالعمل پیوند (مانند .BR @ , .BR @2 , .BR @2#StreamType=Visual , و غیره)؛ به .B gpac \-h doc مراجعه کنید. .br .B [گزینه‌ها]: یک یا چند رشته گزینه، که هر کدام با نویسه .B \- شروع می‌شوند. .br \- گزینه‌ای با یک علامت .B \- منفرد، بیانگر گزینه‌ای از .B gpac (به .B gpac \-hx مراجعه کنید) یا از .B libgpac (به .B gpac \-hx core مراجعه کنید) است. .br \- گزینه‌ای با .B \-\- بیانگر یک گزینه فیلتر سراسری یا متافیلتر (مانند FFmpeg) است؛ برای مثال .B \-\-block_size=1000 یا .B \-\-profile=Baseline (به .B gpac \-h doc مراجعه کنید). .br .br ترتیب اعلان فیلترها ممکن است بر حل‌کننده پیوند که تلاش می‌کند پیونددهی را به ترتیب اعلان انجام دهد، تأثیر بگذارد. در بیشتر مواقع برای گراف‌های ساده، این موضوع تأثیری ندارد؛ با این حال برای گراف‌های پیچیده بدون اعلان پیوند، این امر می‌تواند به نتایج متفاوتی منجر شود. .br گزینه‌ها نیازمند ترتیب خاصی نیستند و می‌توانند در هر جایی حضور داشته باشند، از جمله بین عبارات پیوند یا اعلان‌های فیلتر. .br مقادیر بولی نیازی به تعیین هیچ مقداری ندارند. سایر انواع باید به صورت .B opt=val قالب‌بندی شوند، به جز گزینه‌های .BR \-i ، .BR \-src ، .BR \-o ، .B \-dst و .BR \-h . .br .br نشست کاری را می‌توان در هر زمان با کلیدهای .B ctrl+c متوقف کرد، که همچنین می‌تواند برای جابجایی وضعیت گزارش‌دهی سراسری نیز استفاده شود. .br .br گزینه‌های ممکن برای .B gpac عبارتند از: .br .br .TP .B \-mem-track .br فعال‌سازی ردیاب حافظه .br .TP .B \-mem-track-stack .br فعال‌سازی ردیاب حافظه همراه با تخلیه پشته (stack dumping) .br .TP .B \-ltf .br بارگذاری فیلترهای واحد آزمایش (تنها برای آزمون‌های واحد استفاده می‌شود) .br .TP .BR \-sloop " (عدد صحیح)" .br اجرای حلقه‌ای نشست، با ایجاد یک نشست در هر دور حلقه؛ عمدتاً برای آزمون و توقف با بروز نخستین خطا استفاده می‌شود. در صورت عدم تعیین مقدار، حلقه تا ابد ادامه می‌یابد .br .TP .BR \-eloop " (عدد صحیح)" .br مشابه .BR \-sloop ، اما در صورت بروز خطا متوقف نمی‌شود .br .TP .BR \-runfor " (عدد صحیح)" .br اجرا به مدت زمان تعیین‌شده به میلی‌ثانیه، و خروج با تخلیه کامل بافر نشست (session flush) .br .TP .BR \-runforf " (عدد صحیح)" .br اجرا به مدت زمان تعیین‌شده به میلی‌ثانیه، و خروج با تخلیه سریع بافر نشست .br .TP .BR \-runforx " (عدد صحیح)" .br اجرا به مدت زمان تعیین‌شده به میلی‌ثانیه، و خروج بدون پاک‌سازی .br .TP .BR \-runfors " (عدد صحیح)" .br اجرا به مدت زمان تعیین‌شده به میلی‌ثانیه، و خروج با خطای بخش‌بندی حافظه یا سگ‌فالت (برای آزمون‌ها) .br .TP .BR \-runforl " (عدد صحیح)" .br اجرا به مدت زمان تعیین‌شده به میلی‌ثانیه، و انتظار همیشگی در پایان کار (برای آزمون‌ها) .br .TP .B \-stats .br چاپ آمار پس از اجرا .br .TP .B \-graph .br چاپ نمودار گراف پس از اجرا .br .TP .B \-qe .br فعال‌سازی خروج سریع (بدون پاک‌سازی حافظه) .br .TP .B \-k .br فعال‌سازی تعامل با صفحه‌کلید از طریق خط فرمان .br .TP .BR \-r " (رشته)" .br فعال‌سازی گزارش‌دهی .br * .BR r : گزارش‌دهی در زمان اجرا .br * .BR r=FA[,FB] : گزارش‌دهی در زمان اجرا اما تنها چاپ فیلترهای داده‌شده؛ برای مثال .B r=mp4mx تنها برای تسهیم‌کننده ISOBMFF .br * .BR r= : تنها چاپ گزارش نهایی .br .TP .BR \-seps " (رشته، پیش‌فرض: :=#,!@)" .br تنظیم مجموعه نویسه‌های پیش‌فرض مورد استفاده برای جداسازی آرگومان‌های مختلف .br \- نویسه نخست برای جداسازی نام‌های آرگومان استفاده می‌شود .br \- نویسه دوم، در صورت وجود، برای جداسازی نام‌ها و مقادیر استفاده می‌شود .br \- نویسه سوم، در صورت وجود، برای جداسازی قطعات منابع PID استفاده می‌شود .br \- نویسه چهارم، در صورت وجود، برای جداکننده‌های فهرست (مانند sourceIDs ،gfreg و...) استفاده می‌شود .br \- نویسه پنجم، در صورت وجود، برای نقیض بولی استفاده می‌شود .br \- نویسه ششم، در صورت وجود، برای دستورالعمل‌های LINK استفاده می‌شود (به راهنمای فیلترها در .B \-h doc مراجعه کنید) .br .TP .BR \-i , \-src " (رشته)" .br تعیین یک فایل ورودی \- به راهنمای فیلترها مراجعه کنید .RB ( \-h " doc)" .br .TP .BR \-o , \-dst " (رشته)" .br تعیین یک فایل خروجی \- به راهنمای فیلترها مراجعه کنید .RB ( \-h " doc)" .br .TP .BR \-ib " (رشته)" .br تعیین یک فایل ورودی برای بسته‌بندی به عنوان شیء GF_FileIO (جهت آزمون GF_FileIO) .br .TP .BR \-ibx " (رشته)" .br تعیین یک فایل ورودی برای بسته‌بندی به عنوان شیء GF_FileIO بدون حافظه پنهان (جهت آزمون GF_FileIO) .br .TP .BR \-ibb " (رشته)" .br تعیین یک فایل ورودی برای بسته‌بندی به عنوان شیء داده خام باینری blob (جهت آزمون GF_Blob) .br .TP .BR \-ibm " (رشته)" .br تعیین یک فایل ورودی برای بسته‌بندی به عنوان شیء GF_FileIO از حافظه (جهت آزمون GF_Blob + GF_FileIO) .br .TP .BR \-ob " (رشته)" .br تعیین یک فایل خروجی برای بسته‌بندی به عنوان شیء GF_FileIO (جهت آزمون GF_FileIO) .br .TP .B \-cl .br اجبار به حالت کامل هنگامی که هیچ دستورالعمل پیوندی تنظیم نشده باشد \- به راهنمای فیلترها مراجعه کنید .RB ( \-h " doc)" .br .TP .B \-sid .br اجبار به وجود شناسه‌های منبع هنگام تلاش برای پیوند دادن \- به راهنمای فیلترها مراجعه کنید .RB ( \-h " doc)" .br .TP .B \-step .br آزمایش حالت گام‌به‌گام در نشست غیرمسدودکننده .br .TP .BR \-h , \-help , \-ha , \-hx , \-hh " (رشته)" .br چاپ راهنما. از .B \-help یا .B \-h برای گزینه‌های پایه، از .B \-ha برای گزینه‌های پیشرفته، از .B \-hx برای گزینه‌های تخصصی و از .B \-hh برای همه موارد استفاده کنید. .br نکته: نویسه .B @ می‌تواند به جای نویسه .B * استفاده شود. پارامتر رشته‌ای می‌تواند یکی از موارد زیر باشد: .br * خالی: چاپ راهنمای گزینه‌های خط فرمان .br * .BR doc : چاپ اطلاعات عمومی فیلترها .br * .BR alias : چاپ نحو نام مستعار gpac .br * .BR log : چاپ راهنمای سامانه ثبت وقایع (log) .br * .BR core : چاپ گزینه‌های هسته libgpac پشتیبانی‌شده. از .B \-ha/\-hx/\-hh برای گزینه‌های پیشرفته/تخصصی استفاده کنید .br * .BR cfg : چاپ راهنمای پیکربندی GPAC .br * .BR net : چاپ رابط‌های شبکه .br * .BR prompt : چاپ راهنمای خط اعلان GPAC هنگام اجرا در حالت تعاملی (به .I \-k مراجعه کنید) .br * .BR modules : چاپ ماژول‌های موجود .br * .BR "module NAME" : چاپ اطلاعات و گزینه‌های ماژول NAME .br * .BR creds : چاپ راهنمای اطلاعات اعتبارسنجی .br * .BR filters : چاپ نام تمامی فیلترهای موجود .br * .BR filters:* : چاپ نام تمامی فیلترهای موجود، شامل متافیلترها .br * .BR codecs : چاپ کدک‌های توکار پشتیبانی‌شده \- از .B \-hx برای گنجاندن کدک‌های نگاشت‌نشده (ffmpeg و...) استفاده کنید .br * .BR formats : چاپ قالب‌های پشتیبانی‌شده .RB ( \-ha : چاپ نام فیلترها، .B \-hx : شامل متافیلترها (ffmpeg و...)، .B \-hh : چاپ انواع MIME) .br * .BR protocols : چاپ طرح‌واره‌های پروتکل‌های پشتیبانی‌شده .RB ( \-ha : چاپ نام فیلترها، .B \-hx : شامل متافیلترها (ffmpeg و...)، .B \-hh : چاپ همه) .br * .BR props : چاپ ویژگی‌های توکار بسته‌ها و PIDهای پشتیبانی‌شده .br * .BR "props PNAME" : چاپ ویژگی‌های توکار بسته‌ها و PIDهای پشتیبانی‌شده حاوی PNAME .br * .BR colors : چاپ نام رنگ‌های توکار و مقادیر آن‌ها .br * .BR layouts : چاپ نام چیدمان‌های کانال صوتی توکار CICP و مقادیر آن‌ها .br * .BR links : چاپ اتصالات ممکن میان هر یک از فیلترهای پشتیبانی‌شده (از .B \-hx برای مشاهده جزئیات بسته قابلیت مبدا به مقصد استفاده کنید) .br * .BR "links FNAME" : چاپ منابع و مقصدهای فیلتر FNAME (چه فیلتر توکار یا فیلتر جاوااسکریپت) .br * .BR defer : چاپ راهنمای حالت تعویق .br * .BR FNAME : چاپ اطلاعات فیلتر FNAME (می‌توان چندین FNAME ارائه داد) .br \- برای متافیلترها، از .B FNAME:INST استفاده کنید؛ مانند .B ffavin:avfoundation .br \- از .B * برای چاپ اطلاعات همه فیلترها (خروجی بزرگ!)، و از .B *:* برای چاپ اطلاعات همه فیلترها شامل نمونه‌های متافیلتر (خروجی بسیار بزرگ!) استفاده کنید .br \- به طور پیش‌فرض فقط گزینه‌ها و توضیحات پایه فیلتر نشان داده می‌شوند. از .B \-ha برای نمایش قابلیت‌های گزینه‌های پیشرفته، از .B \-hx برای گزینه‌های تخصصی، و از .B \-hh برای همه گزینه‌ها و قابلیت‌های فیلترها، از جمله فیلترهای غیرفعال در این ساخت، استفاده کنید .br * .BR FNAME.OPT : چاپ گزینه OPT در فیلتر FNAME .br * .BR OPT : جستجو در نام فیلترها و گزینه‌ها به دنبال OPT و پیشنهاد موارد منطبق ممکن در صورت نیافتن. از .B \-hx برای جستجوی کلیدواژه در تمام توضیحات گزینه‌ها استفاده کنید .br .br .TP .BR \-p " (رشته)" .br استفاده از نمایه مشخص‌شده برای پیکربندی سراسری GPAC. در صورت پیدا نشدن، فایل پیکربندی ایجاد می‌شود. اگر مسیر فایل مشخص شود، نمایه از آن فایل بارگذاری خواهد شد؛ در غیر این صورت، دایرکتوری با نام مشخص‌شده ایجاد شده و پیکربندی جدید در آن ذخیره می‌شود. نام‌های رزروشده زیر یک نمایه موقت ایجاد می‌کنند (روی دیسک ذخیره نمی‌شود): .br * 0: نمایه کامل .br * n: نمایه تهی که ماژول‌ها/فیلترهای اشتراکی و مسیرهای سیستمی را در پیکربندی غیرفعال می‌کند (ممکن است رابط گرافیکی و سایر فیلترها را از کار بیندازد) .br افزودن .B :reload به نام نمایه، ایجاد مجدد یک فایل پیکربندی جدید را اجباری می‌کند .br .TP .BR \-alias " (رشته)" .br تخصیص یک نام مستعار جدید یا حذف یک نام مستعار. می‌تواند چندین بار مشخص شود. به نحوه استفاده از نام‌های مستعار .RB ( \-h " alias)" مراجعه کنید .br .TP .BR \-aliasdoc " (رشته)" .br تخصیص مستندات برای یک نام مستعار مشخص (اختیاری). می‌تواند چندین بار مشخص شود .br .TP .B \-cache-info .br نمایش اطلاعات حافظه پنهان. آرگومان می‌تواند به صورت زیر باشد: .br * بدون مقدار: کل حافظه پنهان بررسی می‌شود .br * B: پالایش ورودی‌های ایجادشده پس از B، که در آن B تعداد ثانیه‌های پیش از زمان فعلی یا یک تاریخ است (0 یعنی اکنون) .br * B;C: پالایش ورودی‌های ایجادشده پس از B اما پیش از C، که در آن B و C یا تعداد ثانیه‌های پیش از زمان کنونی و یا یک تاریخ هستند .br \- اگر B برابر 0 باشد، حداقل زمان برابر با UTC=0 خواهد بود .br \- اگر C برابر 0 باشد، حداکثر زمان برابر با اکنون خواهد بود .br نحو آرگومان برای تمامی گزینه‌های حافظه پنهان یکسان است .br .TP .B \-cache-unflat .br بازگرداندن همه موارد در دایرکتوری حافظه پنهان GPAC به نام اصلی و مسیر سرور اولیه آن‌ها .br .TP .B \-cache-list .br فهرست کردن ورودی‌های موجود در حافظه پنهان .br .TP .BR \-cache-clean " (عدد صحیح)" .br پاک‌سازی حافظه پنهان .br .TP .BR \-js " (رشته)" .br تعیین فایل جاوااسکریپت برای استفاده به عنوان کنترل‌کننده نشست فیلتر (برای چندین اسکریپت می‌تواند چندین بار مشخص شود) .br .TP .B \-wc .br نوشتن تمامی گزینه‌های هسته در فایل پیکربندی، مگر آنکه از قبل تنظیم شده باشند .br .TP .B \-we .br نوشتن تمامی پسوندهای فایل در فایل پیکربندی، مگر آنکه از قبل تنظیم شده باشند (برای تغییر برخی پسوندهای پیش‌فرض فایل کاربرد دارد) .br .TP .B \-wf .br نوشتن تمامی گزینه‌های فیلتر در فایل پیکربندی، مگر آنکه از قبل تنظیم شده باشند .br .TP .B \-wfx .br نوشتن تمامی گزینه‌های فیلتر و همه آرگومان‌های متافیلتر در فایل پیکربندی، مگر آنکه از قبل تنظیم شده باشند (فایل پیکربندی بسیار بزرگ خواهد شد!) .br .TP .B \-xopt .br گزینه‌های ناشناخته و اعلان‌های فیلتر پس از این گزینه نادیده گرفته می‌شوند \- برای ارسال آرگومان‌ها به رابط کاربری گرافیکی کاربرد دارد .br .TP .BR \-creds " (رشته)" .br تنظیم اطلاعات اعتبارسنجی به نحوی که توسط سرورها استفاده می‌شود .br .TP .B \-rv .br بازگرداندن قدرمطلق خطای داخلی GPAC به جای 1 هنگام بروز خطا .br .br .br گزینه‌های هسته libgpac زیر امکان سفارشی‌سازی نشست فیلتر را فراهم می‌کنند: .br .br .TP .B \-dbg-edges .br ثبت وضعیت یال‌ها در گراف فیلتر پیش از حل به روش دایکسترا (برای اشکال‌زدایی). یال‌ها به صورت .RI edge_source(status(disable_depth),\ weight,\ src_cap_idx\ \->\ dst_cap_idx) ثبت می‌شوند .br .TP .B \-full-link .br ارسال خطا در صورتی که هر یک از PIDها در گراف فیلتر قابل پیوند دادن نباشد .br .TP .B \-no-dynf .br غیرفعال‌سازی فیلترهایی که به صورت پویا بارگذاری می‌شوند .br .TP .BR \-no-block " (شمارشی، پیش‌فرض: no)" .br غیرفعال‌سازی حالت مسدودکنندگی فیلترها .br * .BR no : فعال‌سازی حالت مسدودکنندگی .br * .BR fanout : غیرفعال‌سازی مسدودسازی در شاخه‌بندی خروجی (fan-out)، با رفع انسداد PID به محض آنکه یکی از مقصدهای آن به بسته نیاز داشته باشد .br * .BR all : غیرفعال‌سازی مسدودسازی .br .TP .B \-no-reg .br غیرفعال‌سازی تنظیم نرخ انتقال (بدون sleep) در نشست .br .TP .B \-no-reassign .br غیرفعال‌سازی بازتخصیص فیلتر مبدأ در حل گراف PID .br .TP .BR \-sched " (شمارشی، پیش‌فرض: lock)" .br تنظیم حالت زمان‌بند .br * .BR free : صف‌های بدون قفل به جز برای فهرست وظایف (پیش‌فرض در بیشتر بستره‌ها) .br * .BR lock : استفاده از mutexها برای صف‌ها هنگام وجود چندین ریسه (پیش‌فرض در arm64/aarch64) .br * .BR freex : صف‌های بدون قفل حتی برای فهرست‌های وظایف (آزمایشی) .br * .BR flock : استفاده از mutexها برای صف‌ها حتی در نبود ریسه (حالت اشکال‌زدایی) .br * .BR direct : بدون ریسه و ارسال مستقیم وظایف در هر زمان ممکن (حالت اشکال‌زدایی) .br .TP .BR \-max-chain " (عدد صحیح، پیش‌فرض: 6)" .br تنظیم حداکثر طول زنجیره هنگام حل پیوندهای فیلتر. مقدار پیش‌فرض مسیر زیر را پوشش می‌دهد: .br [ in -> ] dmx -> reframe -> decode -> encode -> reframe -> mx [ -> out] .br زنجیره‌های فیلتر بارگذاری‌شده برای تطبیق (مانند تغییر قالب پیکسل) پس از حل پیوند بارگذاری می‌شوند. تنظیم این مقدار روی 0 حل پویای پیوند را غیرفعال می‌کند؛ در این صورت باید کل زنجیره را به صورت دستی تعیین کنید .br .TP .BR \-max-sleep " (عدد صحیح، پیش‌فرض: 50)" .br تنظیم حداکثر شکاف زمانی وقفه (sleep) به میلی‌ثانیه در زمان فعال بودن تنظیم نرخ انتقال .br .TP .B \-step-link .br بارگذاری فیلترها به صورت دانه‌دانه هنگام حل پیوند به جای بارگذاری همه فیلترها برای مسیر حل‌شده .br .TP .BR \-threads " (عدد صحیح)" .br تنظیم N ریسه اضافی برای نشست. مقدار 1- به معنای استفاده از تمام هسته‌های پردازشی در دسترس است .br .TP .B \-no-probe .br غیرفعال‌سازی بررسی نوع داده (probing) در منابع و اتکا به پسوند پرونده (بارگذاری سریع‌تر اما مستعد خطای بیشتر) .br .TP .B \-no-argchk .br غیرفعال‌سازی ردیابی استفاده از آرگومان‌ها (تمامی آرگومان‌ها استفاده‌شده در نظر گرفته می‌شوند) .br .TP .BR \-blacklist " (رشته)" .br قرار دادن فیلترهای فهرست‌شده در رشته مشخص‌شده در لیست سیاه (فهرست جداشده با کاما). اگر نویسه نخست '-' باشد، این یک لیست سفید است؛ یعنی تنها فیلترهای فهرست‌شده در رشته مشخص‌شده مجاز خواهند بود .br .TP .B \-no-graph-cache .br غیرفعال‌سازی حافظه پنهان داخلی برای اتصالات گراف فیلتر. در صورت غیرفعال بودن، گراف در هر بار حل پیوند دوباره محاسبه می‌شود (مصرف حافظه کمتر اما کندتر) .br .TP .B \-no-reservoir .br غیرفعال‌سازی بازیافت حافظه برای بسته‌ها و ویژگی‌ها. این کار حافظه بسیار کمتری مصرف می‌کند، اما بار کاری بسیار بیشتری به تخصیص‌دهنده حافظه سیستم تحمیل می‌کند .br .TP .BR \-buffer-gen " (عدد صحیح، پیش‌فرض: 1000)" .br اندازه پیش‌فرض بافر به میکروثانیه برای PIDهای عمومی .br .TP .BR \-buffer-dec " (عدد صحیح، پیش‌فرض: 1000000)" .br اندازه پیش‌فرض بافر به میکروثانیه برای PIDهای ورودی رمزگشا .br .TP .BR \-buffer-units " (عدد صحیح، پیش‌فرض: 1)" .br اندازه پیش‌فرض بافر به فریم در زمانی که زمان‌بندی در دسترس نیست .br .TP .B \-check-props .br بررسی انواع ویژگی‌های شناخته‌شده هنگام تخصیص و بررسی انواع PID در برابر بسته هنگام دریافت (در حالت آزمون، در صورت عدم تطابق با کد خطای 5 خارج می‌شود) .br .SH "استفاده از نام‌های مستعار (Using Aliases)" .PL خط فرمان gpac هنگامی که از منابع یا فیلترهای متعددی استفاده می‌شود می‌تواند بسیار پیچیده شود. برای ساده‌سازی این موضوع، یک سامانه نام مستعار فراهم شده است. .br .br برای انتساب یک نام مستعار، از نحو .B gpac \-alias="NAME VALUE" استفاده کنید. .br * `NAME`: باید یک رشته منفرد و بدون فاصله باشد. .br * `VALUE`: فهرست آرگومان‌هایی که این نام مستعار جایگزین آن‌ها می‌شود. اگر تنظیم نشود، نام مستعار حذف می‌شود. .br .br هنگام تجزیه آرگومان‌ها، نام مستعار با مقدار خود جایگزین خواهد شد. .br مثال: .br gpac -alias="output aout vout" .br .br این دستور امکان پخش بعدی صوت و تصویر را با استفاده از .B gpac \-i src.mp4 output فراهم می‌کند. .br .br نام‌های مستعار می‌توانند از آرگومان‌های خط فرمان استفاده کنند. نحوهای مجاز عبارتند از: .br * `@{a}`: با مقدار آرگومان دارای نمایه a پس از نام مستعار جایگزین می‌شود .br * `@{a,b}`: با مقدار آرگومان‌های دارای نمایه‌های a و b جایگزین می‌شود .br * `@{a:b}`: با مقدار آرگومان‌های بین نمایه‌های a و b جایگزین می‌شود .br * `@{-a,b}`: با مقدار آرگومان‌های دارای نمایه‌های a و b جایگزین می‌شود، در حالی که یک جداکننده فهرست (به‌طور پیش‌فرض کاما) میان آن‌ها درج می‌کند .br * `@{-a:b}`: با مقدار آرگومان‌های بین نمایه‌های a و b جایگزین می‌شود، در حالی که یک جداکننده فهرست (به‌طور پیش‌فرض کاما) میان آن‌ها درج می‌کند .br * `@{+a,b}`: کلمه والد را در نام مستعار برای a و b تکثیر می‌کند، و این الگو را در هر نمونه با آرگومان متناظر جایگزین می‌نماید .br * `@{+a:b}`: کلمه والد را در نام مستعار برای هر آرگومان بین نمایه‌های a و b تکثیر می‌کند، و این الگو را در هر نمونه با آرگومان متناظر جایگزین می‌نماید .br .br نمایه مشخص‌شده می‌تواند به صورت‌های زیر باشد: .br * نمایه رو به جلو (forward index): یک عدد صحیح اکیداً مثبت، که در آن 1 نخستین آرگومان پس از نام مستعار است .br * نمایه رو به عقب (backward index): مقدار 'n' (یا 'N') برای اشاره به آخرین آرگومان در خط فرمان. این مقدار می‌تواند همراه با ‎-x برای بازگشت به عقب در آرگومان‌ها باشد (برای مثال @{n-1} آرگومان یکی مانده به آخر است) .br .br پیش از حل نام‌های مستعار، تمام آرگومان‌های گزینه‌ها به ابتدای خط فرمان منتقل می‌شوند. این بدان معناست که آرگومان‌های نام مستعار نمی‌توانند گزینه باشند. .br آرگومان‌هایی که توسط هیچ نام مستعاری استفاده نشده‌اند در خط فرمان باقی می‌مانند و بقیه حذف می‌شوند .br .br مثال: .br -alias="foo src=@{N} dst=test.mp4" .br .br دستور gpac foo f1 f2 به عبارت gpac src=f2 dst=test.mp4 f1 بسط می‌یابد .br مثال: .br -alias="list: inspect src=@{+:N}" .br .br دستور gpac list f1 f2 f3 به عبارت gpac inspect src=f1 src=f2 src=f3 بسط می‌یابد .br مثال: .br -alias="list inspect src=@{+2:N}" .br .br دستور gpac list f1 f2 f3 به عبارت gpac inspect src=f2 src=f3 f1 بسط می‌یابد .br مثال: .br -alias="plist aout vout flist:srcs=@{-,N}" .br .br دستور gpac plist f1 f2 f3 به عبارت gpac aout vout flist:srcs="f1,f2,f3" بسط می‌یابد .br .br مستندات نام مستعار را می‌توان با استفاده از .B gpac \-aliasdoc="NAME VALUE" تنظیم کرد که در آن NAME نام مستعار و VALUE متن مستندات است. .br مستندات نام مستعار سپس در راهنمای gpac ظاهر خواهد شد. .br .br .SH "اطلاعات کاربری (User Credentials)" .LP .br برخی از کارسازها در GPAC می‌توانند از احراز هویت مبتنی بر کاربر و گروه استفاده کنند. .br این اطلاعات به‌طور پیش‌فرض در فایل users.cfg واقع در دایرکتوری نمایه GPAC ذخیره می‌شود. .br این فایل را می‌توان با استفاده از گزینه .I \-users بازنویسی کرد. .br .br به‌طور پیش‌فرض، این فایل تا زمانی که دست‌کم یک کاربر پیکربندی نشده باشد، وجود ندارد. .br .br گزینه .I creds امکان بازبینی یا تغییر اطلاعات کاربران و گروه‌ها را فراهم می‌کند. نحو مقدار این گزینه به شرح زیر است: .br * `show` یا بدون مقدار: چاپ فایل users.cfg .br * `reset`: حذف فایل users.cfg (یعنی حذف تمام کاربران و گروه‌ها) .br * `NAME`: نمایش اطلاعات کاربر NAME .br * `+NAME`: افزودن کاربر NAME .br * `+NAME:I1=V1[,I2=V2]`: تنظیم اطلاع I1 با مقدار V1 برای کاربر NAME. نام اطلاع password گذرواژه را بدون اعلان بازنشانی می‌کند. .br * `-NAME`: حذف کاربر NAME .br * `_NAME`: اجبار به تغییر گذرواژه کاربر NAME .br * `@NAME`: نمایش اطلاعات گروه NAME .br * `@+NAME[:u1[,u2]]`: افزودن گروه NAME در صورت عدم وجود و اضافه کردن کاربران مشخص‌شده به گروه .br * `@-NAME:u1[,u2]`: حذف کاربران مشخص‌شده از گروه NAME .br * `@-NAME`: حذف گروه NAME .br .br به‌طور پیش‌فرض تمام کاربران اضافه‌شده عضو گروه users هستند. .br گذرواژه‌ها ذخیره نمی‌شوند، تنها یک هش SHA256 ذخیره می‌شود. .br .br کارسازهایی که از قوانین احراز هویت استفاده می‌کنند می‌توانند به جای نام یک دایرکتوری از یک فایل پیکربندی استفاده نمایند. .br این فایل پیکربندی در قالب بخش‌ها سازمان‌دهی شده است، که نام هر بخش توصیف‌کننده یک دایرکتوری است. .br مثال: .br [somedir] .br ru=foo .br rg=bar .br .br .br کلیدهای زیر به ازای هر دایرکتوری تعریف شده‌اند، اما ممکن است بسته به حالت عملکرد کارساز نادیده گرفته شوند: .br * ru: فهرست نام‌های کاربری جداشده با کاما با دسترسی خواندن به دایرکتوری .br * rg: فهرست نام‌های گروه جداشده با کاما با دسترسی خواندن به دایرکتوری .br * wu: فهرست نام‌های کاربری جداشده با کاما با دسترسی نوشتن به دایرکتوری .br * wg: فهرست نام‌های گروه جداشده با کاما با دسترسی نوشتن به دایرکتوری .br * mcast: فهرست نام‌های کاربری جداشده با کاما با دسترسی ایجاد چندپخشی (فقط کارساز RTSP) .br * filters: فهرست نام‌های فیلتر جداشده با کاما که دایرکتوری برای آن‌ها معتبر است. در صورت یافت نشدن یا all، بر تمام فیلترها اعمال می‌شود .br .br دسترسی‌ها را می‌توان با افزودن بخش‌هایی برای دایرکتوری‌های مدنظر، بر روی زیردایرکتوری‌ها نیز پیکربندی کرد. .br مثال: .br [d1] .br rg=bar .br [d1/d2] .br ru=foo .br .br با این پیکربندی: .br \- دایرکتوری d1 برای تمامی اعضای گروه bar قابل خواندن خواهد بود .br \- دایرکتوری d1/d2 تنها برای کاربر foo قابل خواندن خواهد بود .br .br کارسازها در GPAC در حال حاضر تنها از طرح احراز هویت Basic HTTP پشتیبانی می‌کنند و ترجیحاً باید بر بستر TLS اجرا شوند. .br .SH "حالت آزمایش با تاخیر (Defer test mode)" .LP .br این حالت می‌تواند برای آزمایش بارگذاری فیلترها به صورت تک‌به‌تک و درخواست صریح برای حل پیوند استفاده شود. .br این قابلیت بیشتر برای بازتولید نحوه ساخت نشست‌ها در برنامه‌های پیچیده‌تر به کار می‌رود. .br .br گزینه‌های rl، pi، pl و pd امکان آدرس‌دهی یک فیلتر با نمایه F در یک فهرست را فراهم می‌کنند. .br \- اگر گزینه دارای پسوند x باشد (مانند rlx=)، مقدار F=0 به معنای آخرین فیلتر در فهرست فیلترهای نشست است .br \- در غیر این صورت، F=0 به معنای آخرین فیلتر اعلان‌شده پیش از گزینه است .br .br گزینه‌های پیوند مجدد ‎-rl و ‎-rlx همواره نشست را تخلیه (flush) می‌کنند (تا زمانی که هیچ وظیفه‌ای زمان‌بندی نشده باشد اجرا می‌شوند). .br اجرای آخر را می‌توان نادیده گرفت. .br .br مثال: .br gpac -dl -np -i SRC reframer -g -rl -g inspect -g -rl .br .br این دستور فیلترهای SRC و reframer را بارگذاری می‌کند، گراف را چاپ می‌کند (بدون اتصال)، SRC را مجدداً پیوند می‌دهد، گراف را چاپ می‌کند (اتصال به reframer)، inspect را درج می‌کند، گراف را چاپ می‌کند (بدون اتصال)، reframer را مجدداً پیوند می‌دهد و اجرا می‌کند. در اینجا هیچ رویداد پخشی (play) ارسال نمی‌شود. .br مثال: .br gpac -dl -np -i SRC reframer inspect:deep -g -rl=2 -g -rl -se .br .br این دستور فیلترهای SRC، reframer و inspect را بارگذاری می‌کند، گراف را چاپ می‌کند (بدون اتصال)، SRC را مجدداً پیوند می‌دهد، گراف را چاپ می‌کند (اتصال به reframer)، گراف را چاپ می‌کند (بدون اتصال)، reframer را مجدداً پیوند می‌دهد، رویداد پخش را ارسال می‌کند و اجرا می‌شود. .br .br پیونددهی را می‌توان پس از بارگذاری فیلترها، با استفاده از نحو @F@SRC یا @@F@SRC انجام داد: .br \- نماد @F فیلتر مقصد را با استفاده از نمایه‌ای مبتنی بر صفر (F) از آخرین فیلتر بارگذاری‌شده مشخص می‌کند، مثلاً @0 نشان‌دهنده آخرین فیلتر بارگذاری‌شده است. .br \- نماد @@F فیلتر هدف را با استفاده از نمایه‌ای مبتنی بر صفر (F) از نخستین فیلتر بارگذاری‌شده مشخص می‌کند، مثلاً @@1 نشان‌دهنده دومین فیلتر بارگذاری‌شده است. .br * `@SRC` یا `@@SRC`: همان نحو دستورالعمل‌های پیوند .br منابع باید الزاماً پیش از پیوند مجدد خروجی‌ها با استفاده از .I rl تنظیم شوند. .br مثال: .br gpac -dl -i SRC F1 F2 [...] @1@2 @0@2 .br .br این دستور پس از بارگذاری تمام فیلترها، SRC را به عنوان منبع به F1 و SRC را به عنوان منبع به F2 متصل می‌کند. .br .br گزینه‌های زیر در حالت با تاخیر (defer mode) استفاده می‌شوند: .br .br .TP .B \-dl .br فعال‌سازی حالت پیوند با تاخیر برای آزمایش‌های ساخت مرحله‌به‌مرحله گراف .br .TP .B \-np .br جلوگیری از ارسال رویداد پخش از سینک‌ها .br .TP .B \-rl[=F] (string) .br پیوند مجدد خروجی‌های فیلتر F (پیش‌فرض 1) .br .TP .B \-wl[=F] (string) .br مشابه ‎-rl اما نشست را تخلیه (flush) نمی‌کند .br .TP .B \-pi=[+|-][F[:i]] (string) .br چاپ ویژگی‌های PID (همه یا با نمایه i) فیلتر F (پیش‌فرض 0) .br * در صورت داشتن پیشوند `-`: تنها فهرست کردن PIDها .br * در صورت داشتن پیشوند `+`: چاپ اطلاعات PID نیز .br .TP .B \-pl=[+][F[:i]]@NAME (string) .br کاوش زنجیره فیلتر از فیلتر F (پیش‌فرض 0) تا فیلتر داده‌شده NAME: .br * در صورت داشتن پیشوند `+`: چاپ تمام زنجیره‌های شناخته‌شده و اولویت‌های آن‌ها .br .TP .B \-pd=[F[:i]] (string) .br چاپ مقصدهای ممکن PID (همه یا با نمایه i) فیلتر F (پیش‌فرض 0) .br .TP .B \-f .br تخلیه نشست تا زمانی که هیچ وظیفه‌ای باقی نماند .br .TP .B \-g .br چاپ گراف .br .TP .B \-s .br چاپ آمارها .br .TP .B \-se .br ارسال رویداد PLAY از سینک‌ها (تنها یک‌بار انجام می‌شود) .br .TP .B \-m (string) .br چاپ پیام .br .SH "فایل پیکربندی (Configuration file)" .LP .br ابزار GPAC از یک فایل پیکربندی برای اصلاح گزینه‌های پیش‌فرض libgpac و فیلترها استفاده می‌کند. این فایل GPAC.cfg نام دارد و در مسیرهای زیر قرار دارد: .br \- در پلتفرم‌های ویندوز، در C:\Users\FOO\AppData\Roaming\GPAC یا در C:\Program Files\GPAC. .br \- در پلتفرم‌های iOS، در یک پوشه ‎.gpac در دایرکتوری ذخیره‌سازی برنامه. .br \- در پلتفرم‌های اندروید، در /sdcard/GPAC/ در صورت وجود این دایرکتوری، وگرنه در /data/data/io.gpac.gpac/GPAC. .br \- در سایر پلتفرم‌ها، در $HOME/.gpac/. .br .br برنامه‌ها در GPAC همچنین می‌توانند از طریق گزینه نمایه .I \-p یک فایل پیکربندی متفاوت مشخص کنند. به عنوان مثال .B gpac \-p=foo [] .br این دستور پیکربندی را از $HOME/.gpac/foo/GPAC.cfg بارگذاری کرده و در صورت نیاز آن را ایجاد می‌کند. .br نام رزروشده 0 برای غیرفعال کردن نوشتن در فایل پیکربندی استفاده می‌شود. .br .br فایل پیکربندی در قالب بخش‌ها ساختاربندی شده است که هر یک از یک یا چند کلید تشکیل شده است: .br \- بخش foo به صورت ‎[foo]\n‎ اعلان می‌شود .br \- کلید bar با مقدار N به صورت ‎bar=N\n‎ اعلان می‌شود. مقدار کلید N تفسیر نمی‌شود و همواره به عنوان متن ASCII پردازش می‌شود. .br .br به‌طور پیش‌فرض فایل پیکربندی تنها شامل چند گزینه و دایرکتوری خاص سیستم است. امکان سریال‌سازی کل مجموعه گزینه‌ها در فایل پیکربندی با استفاده از .I \-wc و .I \-wf وجود دارد. .br باید از این کار اجتناب شود زیرا حجم فایل پیکربندی حاصل بسیار زیاد خواهد شد و در نتیجه مصرف حافظه برنامه‌ها افزایش می‌یابد. .br گزینه‌های مشخص‌شده در فایل پیکربندی ممکن است در صورت وجود فایل restrict.cfg در دایرکتوری اشتراکی سیستمی GPAC (مانند ‎/usr/share/gpac یا C:\Program Files\GPAC)، توسط مقادیر آن بازنویسی شوند؛ این کار امکان اعمال مقادیر پیکربندی در سطح کل سیستم را فراهم می‌کند. .br نکته: روش‌های شرح‌داده‌شده در این بخش برای هر برنامه‌ای در GPAC که آرگومان‌های خود را به libgpac منتقل می‌کند، اعمال می‌شود. این مورد شامل gpac و MP4Box است. .br .br .SH "گزینه‌های هسته (Core options)" .LP .br گزینه‌های هسته libgpac را می‌توان از طریق فایل پیکربندی در بخش core با استفاده از نام گزینه بدون خط تیره ابتدایی به عنوان نام کلید نیز مقداردهی کرد. .br مثال: .br [core] .br threads=2 .br .br تنظیم این مقدار در فایل پیکربندی معادل استفاده از ‎-threads=2 است. .br گزینه‌های مشخص‌شده در خط فرمان، مقادیر فایل پیکربندی را بازنویسی می‌کنند. .br .SH "گزینه‌های فیلتر در پیکربندی (Filter options in configuration)" .LP .br امکان تغییر مقدار پیش‌فرض یک گزینه فیلتر با اصلاح فایل پیکربندی وجود دارد. گزینه‌های فیلتر foo در بخش [filter@foo]، با استفاده از نام گزینه و مقدار به عنوان جفت کلید-مقدار ذخیره می‌شوند. گزینه‌های مشخص‌شده از طریق فایل پیکربندی بر گزینه‌های مشخص‌شده در اعلان خط فرمان یا از طریق نام مستعار تقدم ندارند. .br مثال: .br [filter@rtpin] .br interleave=yes .br .br این دستور فیلتر ورودی rtp را وادار می‌کند تا به‌طور پیش‌فرض همواره RTP را بر بستر RTSP درخواست کند. .br برای ایجاد یک فایل پیکربندی با تمام گزینه‌های فیلتر به صورت سریال‌سازی‌شده، از .I \-wf استفاده کنید. .br .SH "گزینه‌های عمومی فیلتر (Global filter options)" .LP .br امکان مشخص کردن گزینه‌های عمومی برای چندین فیلتر با استفاده از ‎--OPTNAME=VAL وجود دارد. گزینه‌های عمومی گزینه‌های فیلتر را بازنویسی نمی‌کنند اما نسبت به گزینه‌های بارگذاری‌شده از فایل پیکربندی تقدم دارند. .br این کار گزینه OPTNAME را در صورت وجود، در هر فیلتر بارگذاری‌شده برابر با VAL قرار می‌دهد. .br مثال: .br --buffer=100 -i file vout aout .br .br این معادل مشخص کردن vout:buffer=100 aout:buffer=100 است. .br مثال: .br --buffer=100 -i file vout aout:buffer=10 .br .br این معادل مشخص کردن vout:buffer=100 aout:buffer=10 است. .br هشدار: این نحو تنها برای گزینه‌های معمولی فیلتر اعمال می‌شود. نمی‌توان از آن با میانبرهای توکار (gfreg، enc، ...) استفاده کرد. .br گزینه‌های فرا-فیلتر را می‌توان به همین ترتیب با استفاده از نحو ‎--OPT_NAME=VAL تنظیم کرد. .br مثال: .br --profile=Baseline -i file.cmp -o dump.264 .br .br این معادل مشخص کردن ‎-o dump.264:profile=Baseline است. .br .br برای هر دو نحو، این امکان وجود دارد که نام رجیستری فیلترِ گزینه را با استفاده از ‎--FNAME:OPTNAME=VAL یا ‎--FNAME@OPTNAME=VAL مشخص کرد. .br در این حالت، گزینه تنها برای فیلترهایی تنظیم خواهد شد که نمونه‌هایی از رجیستری FNAME هستند. این قابلیت زمانی استفاده می‌شود که چندین رجیستری از نام‌های گزینه یکسان استفاده می‌کنند. .br مثال: .br --flist@timescale=100 -i plist1 -i plist2 -o live.mpd .br .br این دستور گزینه timescale را روی فیلترهای لیست پخش تنظیم می‌کند اما بر فیلتر dasher اعمال نخواهد کرد. .br .SH "گزینه‌های هسته libgpac (libgpac core options):" .LP .br .TP .B \-tmp (string) .br مشخص کردن دایرکتوری برای ایجاد فایل‌های موقت به جای مدیریت فایل‌های موقت پیش‌فرض سیستم‌عامل .br .TP .B \-noprog .br غیرفعال کردن پیام‌های پیشرفت .br .TP .B \-quiet .br غیرفعال کردن تمام پیام‌ها، از جمله خطاها .br .TP .B \-proglf .br استفاده از خط جدید در هر پیام پیشرفت .br .TP .B \-strict-error,-se .br خروج از برنامه پس از گزارش اولین خطا .br .TP .B \-store-dir (string) .br تنظیم دایرکتوری ذخیره‌سازی .br .TP .B \-mod-dirs (string list) .br تنظیم دایرکتوری‌های ماژول اضافی به‌صورت یک فهرست جداشده با نقطه ویرگول (;) .br .TP .B \-js-dirs (string list) .br تنظیم دایرکتوری‌های جاوااسکریپت .br .TP .B \-no-js-mods (string list) .br غیرفعال کردن بارگذاری ماژول‌های جاوااسکریپت .br .TP .B \-ifce (string) .br تنظیم رابط چندپخشی (multicast) پیش‌فرض (پیش‌فرض ANY است)، به‌صورت یک آدرس IP یا نام دستگاه مطابق با فهرست ارائه‌شده توسط gpac \-h net. پیشوند '+' استفاده از IPv6 را برای رابط دوگانه تحمیل می‌کند .br .TP .B \-lang (string) .br تنظیم زبان ترجیحی .br .TP .B \-cfg,-opt (string) .br دریافت یا تنظیم مقدار در فایل پیکربندی. پارامتر رشته‌ای می‌تواند در قالب‌های زیر باشد: .br * `section:key=val`: مقدار کلید را به یک مقدار جدید تنظیم می‌کند .br * `section:key=null`, `section:key`: کلید را حذف می‌کند .br * `section=null`: بخش را حذف می‌کند .br * بدون آرگومان: کل فایل پیکربندی را چاپ می‌کند .br * `section`: بخش مشخص‌شده را چاپ می‌کند .br * `section:key`: کلید مشخص‌شده در بخش را چاپ می‌کند (بخش می‌تواند * باشد) - *:key: کلید مشخص‌شده را در تمام بخش‌ها چاپ می‌کند .br .TP .B \-no-save .br صرف‌نظر کردن از هرگونه تغییر اعمال‌شده روی فایل پیکربندی هنگام خروج .br .TP .B \-mod-reload .br تخلیه از حافظه (unload) / بارگذاری مجدد (reload) کتابخانه‌های اشتراکی ماژول در زمانی که دیگر استفاده نمی‌شوند .br .TP .B \-for-test .br غیرفعال کردن تمام تاریخ‌های ایجاد/تغییر و نسخه‌های GPAC در فایل‌ها .br .TP .B \-old-arch .br فعال‌سازی سازگاری با نسخه‌های قدیمی GPAC (پیش از معماری فیلترها) .br .TP .B \-ntp-shift (int) .br شیفت ساعت NTP به میزان مقدار مشخص‌شده بر حسب ثانیه .br .TP .B \-bs-cache-size (int, default: 512) .br اندازه کش برای خواندن و نوشتن جریان بیت (bitstream) از فایل (مقدار ۰ کش را غیرفعال می‌کند که منجر به I/O کندتر می‌شود) .br .TP .B \-no-check .br غیرفعال کردن آزمون‌های انطباق برای ورودی‌ها (در حال حاضر ISOBMFF). این کار احتمالاً منجر به کرش‌های تصادفی خواهد شد .br .TP .B \-unhandled-rejection .br دامپ کردن رد وعده‌های رسیدگی‌نشده (unhandled promise rejections) .br .TP .B \-startup-file (string) .br فایل راه‌اندازی ترکیب‌کننده (compositor) در حالت رابط گرافیکی (GUI) .br .TP .B \-docs-dir (string) .br دایرکتوری پیش‌فرض اسناد (برای رابط گرافیکی در iOS و Android) .br .TP .B \-last-dir (string) .br آخرین دایرکتوری کاری (برای رابط گرافیکی) .br .TP .B \-no-poll .br غیرفعال کردن poll و استفاده از select برای گروه‌های سوکت .br .TP .B \-no-tls-rcfg .br غیرفعال کردن پیکربندی مجدد خودکار TCP به TLS .br .TP .B \-no-fd .br استفاده از I/O با بافر به جای توصیف‌کننده فایل (file descriptor) برای خواندن/نوشتن - این امر می‌تواند عملیات روی فایل‌های کوچک را سریع‌تر کند .br .TP .B \-no-mx .br غیرفعال کردن تمام میوتکس‌ها، رشته‌ها (threads) و سمافورها (اگر از رشته‌های مورداستفاده اطمینان ندارید، از این گزینه استفاده نکنید) .br .TP .B \-xml-max-csize (int, default: 100k) .br حداکثر اندازه محتوا یا ویژگی XML .br .TP .B \-users (string) .br فایل پیکربندی احراز هویت برای کاربران و گروه‌ها .br .TP .B \-netcap (string) .br تنظیم قوانین ضبط و فیلتر کردن بسته‌ها با قالب [CFG][RULES]. هر آرگومان \-netcap یک پیکربندی را تعریف می‌کند .br بخش [CFG] فهرستی اختیاری و جداشده با کاما از موارد زیر است: .br * id=ID: شناسه (رشته) برای این پیکربندی. اگر NULL باشد، پیکربندی بر تمام سوکت‌هایی که شناسه netcap مشخص نکرده‌اند اعمال می‌شود .br * src=F: خواندن بسته‌ها از F، آن‌گونه که توسط GPAC یا یک فایل pcap یا pcapng تولید شده است .br * dst=F: خروجی دادن بسته‌ها به F (فایل GPAC یا pcap/pcapng)؛ در صورت تنظیم بودن src نمی‌تواند تنظیم شود .br * loop[=N]: تکرار فایل ضبط‌شده به تعداد N بار، یا نامحدود اگر N مشخص نشده یا منفی باشد .br * nrt: غیرفعال کردن پخش بلادرنگ (real-time) .br بخش [RULES] فهرستی اختیاری از [...OPT,OPT2] است که در آن OPT در موارد زیر قرار دارد: .br * m=K: تنظیم حالت قانون - K می‌تواند r فقط برای دریافت (پیش‌فرض)، w فقط برای ارسال یا rw برای هر دو باشد .br * s=K: تنظیم شروع بازه بسته روی K .br * e=K: تنظیم پایان بازه بسته روی K - فقط برای قوانین r و f استفاده می‌شود؛ مقدار ۰ یا تنظیم‌نشده به معنی اعمال قانون تا انتها است .br * n=K: تنظیم تعداد بسته‌هایی که باید دور ریخته شوند روی K - در صورت تنظیم نشدن، ۰ یا ۱ به معنای یک بسته منفرد است .br * r=K: دور ریختن تصادفی n بسته در هر K بسته .br * f=K: دور ریختن n بسته اول در هر K بسته .br * d=K: بازآرایی n بسته پس از K بسته بعدی؛ می‌تواند با قوانین f یا r استفاده شود .br * p=K: فیلتر کردن بسته‌ها فقط روی پورت K؛ در صورت تنظیم نشدن، قانون بر تمام بسته‌ها اعمال می‌شود .br * o=K: اصلاح (patch) بسته به جای دور ریختن آن (همیشه برای TCP صادق است)، با جایگزینی بایت در آفست K (مقدار ۰ اولین بایت است و کمتر از ۰ تصادفی است) .br * v=K: تنظیم مقدار بایت اصلاحی روی K (هگزادسیمال) یا مقدار منفی برای تصادفی (پیش‌فرض) .br * S=K: همانند s، اما تعداد بارگذاری مجدد/حلقه فایل ضبط را اضافه می‌کند .br * E=K: همانند e، اما تعداد بارگذاری مجدد/حلقه فایل ضبط را اضافه می‌کند .br .br مثال .br -netcap=dst=dump.gpc .br .br این دستور بسته‌ها را در dump.gpc ضبط می‌کند .br .br مثال .br -netcap=src=dump.gpc,id=NC1 -i session1.sdp:NCID=NC1 -i session2.sdp .br .br این دستور بسته‌ها را فقط برای session1.sdp از dump.gpc می‌خواند و به session2.sdp اجازه می‌دهد از سوکت‌های عادی استفاده کند .br .br مثال .br -netcap=[p=1234,s=100,n=20][r=200,s=500,o=10,v=FE] .br .br این دستور از رابط شبکه عادی استفاده کرده و بسته‌های ۱۰۰ تا ۱۱۹ را روی پورت ۱۲۳۴ دور می‌ریزد و یک بسته تصادفی را از هر ۲۰۰ بسته، با شروع از بسته ۵۰۰، با تنظیم بایت ۱۰ به FE اصلاح می‌کند .br .TP .B \-cache (string) .br محل دایرکتوری کش .br .TP .B \-proxy (string) .br تنظیم آدرس و پورت سرور پراکسی HTTP (اگر طرح پروتکل مشخص نشده باشد، از همان پروتکل مقصد استفاده می‌شود) .br .TP .B \-maxrate (int) .br تنظیم حداکثر نرخ دانلود HTTP بر حسب بیت بر ثانیه. مقدار ۰ به معنای نامحدود است .br .TP .B \-no-cache .br غیرفعال کردن ذخیره‌سازی موقت (کش) HTTP .br .TP .B \-offline-cache .br فعال‌سازی کش آفلاین HTTP (بدون اعتبارسنجی مجدد منابع موجود در کش) .br .TP .B \-clean-cache .br مشخص می‌کند که آیا کش HTTP باید هنگام راه‌اندازی/خروج پاکسازی شود یا خیر .br .TP .B \-cache-size (int, default: 100M) .br مشخص کردن حداکثر اندازه کش روی دیسک بر حسب بایت .br .TP .B \-cache-check (int, default: 60) .br فاصله زمانی پاکسازی کش بر حسب ثانیه؛ مقدار ۰ فقط کش را هنگام راه‌اندازی پاکسازی می‌کند .br .TP .B \-tcp-timeout (int, default: 5000) .br مدت زمان انتظار بر حسب میلی‌ثانیه برای اتصال HTTP/RTSP پیش از اعلام خطا .br .TP .B \-req-timeout (int, default: 10000) .br مدت زمان انتظار بر حسب میلی‌ثانیه برای درخواست HTTP/RTSP پیش از اعلام خطا (مقدار ۰ مهلت زمانی را غیرفعال می‌کند) .br .TP .B \-no-timeout .br نادیده گرفتن مهلت زمانی (timeout) در keep-alive پروتکل HTTP 1.1 .br .TP .B \-broken-cert .br فعال کردن پذیرش گواهی‌های SSL نامعتبر یا معیوب .br .TP .B \-ca-bundle (string) .br مسیر فایل بسته گواهی‌های CA سفارشی .br .TP .B \-user-agent,-ua (string) .br تنظیم نام عامل کاربر (user agent) برای HTTP/RTSP .br .TP .B \-user-profileid (string) .br تنظیم شناسه نمایه کاربر (از طریق سربرگ X-UserProfileID) در درخواست‌های HTTP .br .TP .B \-user-profile (string) .br تنظیم نام فایل نمایه کاربر. محتوای فایل به عنوان بدنه به درخواست‌های HTTP HEAD/GET ضمیمه می‌شود و Mime مربوطه text/xml است .br .TP .B \-query-string (string) .br درج رشته پرس‌وجو (query string بدون علامت ?) در URL در هنگام درخواست‌ها .br .TP .B \-dm-threads .br اجبار به استفاده از رشته‌ها (threads) برای درخواست‌های دانلود ناهمگام به جای زمان‌بند نشست .br .TP .B \-cte-rate-wnd (int, default: 20) .br تنظیم طول پنجره تحلیل بر حسب میلی‌ثانیه برای تخمین نرخ کدگذاری انتقال تکه‌ای (chunk-transfer encoding) .br .TP .B \-cred (string) .br مسیر کلید ۱۲۸ بیتی برای ذخیره‌سازی اعتبارنامه‌ها .br .TP .B \-no-h2 .br غیرفعال کردن HTTP2 .br .TP .B \-no-h2c .br غیرفعال کردن ارتقا به HTTP2 (یعنی روی اتصالات بدون TLS) .br .TP .B \-h2-copy .br فعال‌سازی کپی میانی داده‌ها در nghttp2 (به‌طور پیش‌فرض غیرفعال است اما ممکن است در wireshark به عنوان فریم‌های خراب گزارش شود) .br .TP .B \-h2-max-frame (int, default: 1m) .br تنظیم حداکثر اندازه فریم در HTTP2 .br .TP .B \-h3-ack-threshold (int, default: 2) .br آستانه ack پروتکل QUIC (مشاهده کنید: ngtcp2_settings.ack_thresh) .br .TP .B \-h3-algo (string, default: cubic, values: cubic|bbr|reno) .br الگوریتم کنترل ازدحام برای QUIC .br * cubic: CUBIC .br * bbr: BBR v2 .br * reno: Reno .br .TP .B \-h3-mwnd (int, default: 0) .br تنظیم حداکثر اندازه پنجره در QUIC/HTTP3 (مشاهده کنید: ngtcp2_settings.max_window) .br .TP .B \-h3-st-mwnd (int, default: 0) .br تنظیم حداکثر اندازه پنجره جریان در QUIC/HTTP3 (مشاهده کنید: ngtcp2_settings.max_stream) .br .TP .B \-hx-max-st (int, default: 100) .br تنظیم حداکثر تعداد جریان‌های هم‌روند HTTP2 یا QUIC/HTTP3 .br .TP .B \-hx-iwnd (int, default: 64m) .br تنظیم اندازه پنجره اتصال اولیه در HTTP2 یا QUIC/HTTP3 .br .TP .B \-hx-st-iwnd (int, default: 32m) .br تنظیم اندازه پنجره جریان اولیه در HTTP2 یا QUIC/HTTP3 .br .TP .B \-curl .br استفاده از CURL به جای پشته HTTP برنامه GPAC .br .TP .B \-h3 (Enum, default: auto) .br تنظیم حالت HTTP/3 .br * no: غیرفعال کردن HTTP/3 .br * first: اجبار به تلاش اولیه با HTTP/3 .br * auto: اتصال با استفاده از HTTP 1 یا 2 و استفاده از HTTP/3 برای درخواست(های) بعدی در صورت اعلان .br * only: فقط استفاده از HTTP/3 .br .TP .B \-h3-trace .br ردیابی (trace) پروتکل‌های QUIC و HTTP3 .br .TP .B \-dbg-edges .br ثبت وضعیت یال‌ها در گراف فیلتر قبل از حل دایکسترا (برای اشکال‌زدایی). یال‌ها به صورت edge_source(status(disable_depth), weight, src_cap_idx -> dst_cap_idx) ثبت می‌شوند .br .TP .B \-full-link .br پرتاب خطا در صورتی که هر PID در گراف فیلتر نتواند متصل شود .br .TP .B \-no-dynf .br غیرفعال کردن فیلترهای بارگذاری‌شده به صورت پویا .br .TP .B \-no-block (Enum, default: no) .br غیرفعال کردن حالت انسدادی (blocking) فیلترها .br * no: فعال‌سازی حالت انسدادی .br * fanout: غیرفعال کردن انسداد روی انشعاب خروجی (fan-out)، رفع انسداد PID به محض اینکه یکی از مقاصد آن به بسته‌ای نیاز داشته باشد .br * all: غیرفعال کردن انسداد .br .TP .B \-no-reg .br غیرفعال کردن تنظیم سرعت (بدون sleep) در نشست .br .TP .B \-no-reassign .br غیرفعال کردن تخصیص مجدد فیلتر منبع در تحلیل گراف PID .br .TP .B \-sched (Enum, default: lock) .br تنظیم حالت زمان‌بند (scheduler) .br * free: صف‌های بدون قفل (lock-free) به جز برای لیست تسک‌ها (پیش‌فرض در اکثر پلتفرم‌ها) .br * lock: استفاده از میوتکس برای صف‌ها در هنگام وجود چندین رشته (پیش‌فرض در arm64/aarch64) .br * freex: صف‌های بدون قفل از جمله برای لیست‌های تسک (آزمایشی) .br * flock: استفاده از میوتکس برای صف‌ها حتی در صورت نبود رشته (حالت اشکال‌زدایی) .br * direct: بدون رشته و ارسال مستقیم تسک‌ها تا جای ممکن (حالت اشکال‌زدایی) .br .TP .B \-max-chain (int, default: 6) .br تنظیم حداکثر طول زنجیره هنگام تحلیل پیوندهای فیلتر. مقدار پیش‌فرض مسیر [ in -> ] dmx -> reframe -> decode -> encode -> reframe -> mx [ -> out] را پوشش می‌دهد. زنجیره‌های فیلتر بارگذاری‌شده برای تطبیق (مانند تغییر قالب پیکسل) پس از تحلیل پیوند بارگذاری می‌شوند. تنظیم این مقدار روی ۰ تحلیل پویای پیوند را غیرفعال می‌کند و باید کل زنجیره را به صورت دستی مشخص کنید .br .TP .B \-max-sleep (int, default: 50) .br تنظیم حداکثر شکاف زمانی خواب (sleep) بر حسب میلی‌ثانیه در زمان فعال بودن تنظیم سرعت (regulation) .br .TP .B \-step-link .br بارگذاری فیلترها یکی پس از دیگری هنگام حل پیوند به جای بارگذاری همه فیلترها برای مسیر حل‌شده .br .TP .B \-threads (int) .br تنظیم N رشته اضافی برای نشست. مقدار ۱- به معنی استفاده از تمام هسته‌های موجود است .br .TP .B \-no-probe .br غیرفعال کردن کاوش داده‌ها (data probing) روی منابع و تکیه بر پسوند فایل (بارگذاری سریع‌تر اما مستعد خطای بیشتر) .br .TP .B \-no-argchk .br غیرفعال کردن ردیابی استفاده از آرگومان‌ها (تمام آرگومان‌ها به عنوان استفاده‌شده در نظر گرفته می‌شوند) .br .TP .B \-blacklist (string) .br قرار دادن فیلترهای فهرست‌شده در رشته مشخص‌شده (فهرست جداشده با کاما) در لیست سیاه. اگر اولین نویسه '-' باشد، این یک لیست سفید خواهد بود، یعنی فقط فیلترهای ذکرشده در رشته مشخص‌شده مجاز خواهند بود .br .TP .B \-no-graph-cache .br غیرفعال کردن کش داخلی اتصالات گراف فیلتر. در صورت غیرفعال بودن، گراف در هر تحلیل پیوند مجدداً محاسبه می‌شود (مصرف حافظه کمتر اما سرعت پایین‌تر) .br .TP .B \-no-reservoir .br غیرفعال کردن بازیافت حافظه برای بسته‌ها و ویژگی‌ها. این گزینه حافظه بسیار کمتری مصرف می‌کند اما فشار بسیار بیشتری بر تخصیص‌دهنده حافظه سیستم وارد می‌سازد .br .TP .B \-buffer-gen (int, default: 1000) .br اندازه بافر پیش‌فرض بر حسب میکروثانیه برای PIDهای عمومی .br .TP .B \-buffer-dec (int, default: 1000000) .br اندازه بافر پیش‌فرض بر حسب میکروثانیه برای PIDهای ورودی رمزگشا (decoder) .br .TP .B \-buffer-units (int, default: 1) .br اندازه بافر پیش‌فرض بر حسب فریم در زمانی که اطلاعات زمان‌بندی در دسترس نیست .br .TP .B \-check-props .br بررسی انواع ویژگی‌های شناخته‌شده هنگام انتساب و انواع PID در برابر بسته هنگام واکشی (در حالت تست، در صورت عدم تطابق با کد خطای ۵ خارج می‌شود) .br .TP .B \-gl-bits-comp (int, default: 8) .br تعداد بیت‌ها در هر مؤلفه رنگ در OpenGL .br .TP .B \-gl-bits-depth (int, default: 16) .br تعداد بیت‌ها برای بافر عمق در OpenGL .br .TP .B \-gl-doublebuf .br فعال‌سازی بافر دوگانه (double buffering) در OpenGL .br .TP .B \-glfbo-txid (int) .br تنظیم شناسه بافت (texture ID) خروجی هنگام استفاده از خروجی glfbo. زمینه (context) اوپن‌جی‌ال باید مقداردهی اولیه شود و gf_term_process با زمینه فعال OpenGL فراخوانی گردد .br .TP .B \-video-output (string) .br مشخص کردن نام ماژول خروجی ویدیویی مورداستفاده (مشاهده کنید: gpac \-h modules). نام رزروشده glfbo در حالت پخش‌کننده برای ترسیم در بافت OpenGL مشخص‌شده با .I glfbo-txid استفاده می‌شود. در این حالت، برنامه مسئول ارسال رویداد به ترکیب‌کننده (compositor) است .br .TP .B \-audio-output (string) .br مشخص کردن نام ماژول خروجی صوتی مورداستفاده .br .TP .B \-font-reader (string) .br مشخص کردن نام ماژول فونت‌خوان .br .TP .B \-font-dirs (string) .br مشخص کردن فهرست جداشده با کاما از دایرکتوری‌ها جهت پویش برای یافتن فونت‌ها .br .TP .B \-rescan-fonts .br مشخص می‌کند که دایرکتوری فونت باید دوباره پویش شود .br .TP .B \-wait-fonts .br انتظار برای بارگذاری فونت‌های SVG پیش از نمایش فریم‌ها .br .TP .B \-webvtt-hours .br اجبار به نوشتن ساعت هنگام سریال‌سازی WebVTT .br .TP .B \-charset (string) .br تنظیم مجموعه کاراکتر در زمانی که از ورودی تشخیص داده نمی‌شود. مقادیر ممکن عبارتند از: .br * utf8: اجبار به UTF-8 .br * utf16: اجبار به UTF-16 با ترتیب بایت کم‌ارزش (little endian) .br * utf16be: اجبار به UTF-16 با ترتیب بایت پرارزش (big endian) .br * other: تلاش برای تجزیه به هر صورت .br .TP .B \-srt-forced .br فعال‌سازی SRT با پسوندهای زیرنویس اجباری (forced subtitles) .br .TP .B \-rmt .br فعال‌سازی وب‌سرور پایش از راه دور (remote monitoring) .br .TP .B \-rmt-port (int, default: 6363) .br تنظیم پورت وب‌سوکت rmt .br .TP .B \-rmt-localhost .br محدود کردن وب‌سوکت rmt به پذیرش اتصال فقط از localhost .br .TP .B \-rmt-sleep (int, default: 10) .br تنظیم زمان خواب (میلی‌ثانیه) وب‌سوکت rmt بین به‌روزرسانی‌های سرور .br .TP .B \-rmt-cert (string) .br فایل گواهی با فرمت PEM برای استفاده در حالت TLS وب‌سوکت rmt .br .TP .B \-rmt-pkey (string) .br فایل کلید خصوصی با فرمت PEM برای استفاده در حالت TLS وب‌سوکت rmt .br .TP .B \-rmt-path (string, default: $GSHARE/scripts/rmt/server.js) .br مسیر بک‌اند جاوااسکریپت وب‌سوکت rmt .br .TP .B \-rmt-log (string) .br مسیر ضبط لاگ بک‌اند؛ در صورت NULL بودن از ضبط صرف‌نظر می‌شود .br .TP .B \-userws-port (int, default: 6364) .br تنظیم پورت وب‌سوکت کاربر .br .TP .B \-userws-localhost .br محدود کردن وب‌سوکت کاربر به پذیرش اتصال فقط از localhost .br .TP .B \-userws-sleep (int, default: 10) .br تنظیم زمان خواب (میلی‌ثانیه) وب‌سوکت کاربر بین به‌روزرسانی‌های سرور .br .TP .B \-userws-cert (string) .br فایل گواهی با فرمت PEM برای استفاده در حالت TLS برای وب‌سوکت کاربر .br .TP .B \-userws-pkey (string) .br فایل کلید خصوصی با فرمت PEM برای استفاده در حالت TLS برای وب‌سوکت کاربر .br .TP .B \-diso-nosize .br صرف‌نظر کردن از اطلاعات اندازه باکس هنگام دامپ کردن ISOBMFF .br .TP .B \-m2ts-vvc-old .br راهکار موقت (hack) برای جریان‌های قدیمی TS که به جای 0x33 از 0x32 برای VVC استفاده می‌کنند .br .TP .B \-piff-force-subsamples .br راهکار موقت برای فایل‌های PIFF PSEC تولیدشده توسط نسخه‌های 0.9.0 و 1.0 ابزار MP4Box که subsample_count اشتباهی برای صدا درج کرده‌اند .br .TP .B \-vvdec-annexb .br راهکار موقت برای ترکیب قدیمی vvdec+libavcodec که فقط از فرمت annexB پشتیبانی می‌کند .br .TP .B \-heif-hevc-urn .br استفاده از URN مربوط به HEVC برای آلفا و عمق در HEIF به جای MPEG-B URN (ویرایش اول HEIF) .br .TP .B \-boxdir (string) .br استفاده از تعاریف باکس در دایرکتوری مشخص‌شده برای دامپ XML .br .TP .B \-no-mabr-patch .br غیرفعال کردن تجزیه باکس‌های اصلاح‌شده isom از mabr توسط GPAC (مانند اکثر مرورگرها/پخش‌کننده‌ها رفتار خواهد کرد) .br .TP .B \-no-cdrf .br غیرفعال کردن وابستگی نمونه cdrf .br .TP .B \-no-evp .br غیرفعال کردن تمام شتاب‌دهنده‌های سخت‌افزاری OpenSSL .br .SH "گزینه‌های لاگ libgpac (libgpac logs options):" .LP .br .TP .B \-noprog .br غیرفعال کردن پیام‌های پیشرفت .br .TP .B \-quiet .br غیرفعال کردن تمام پیام‌ها، از جمله خطاها .br .TP .B \-log-file,-lf (string) .br تنظیم فایل لاگ خروجی .br .TP .B \-log-clock,-lc .br ثبت زمان بر حسب میکروثانیه از زمان شروع GPAC پیش از هر خط لاگ به جز ابزار برنامه (app tool) .br .TP .B \-log-utc,-lu .br ثبت زمان UTC بر حسب میلی‌ثانیه پیش از هر خط لاگ به جز ابزار برنامه .br .TP .B \-logs (string) .br تنظیم ابزارها و سطوح لاگ. .br .br می‌توانید ابزارهای مختلف درگیر در یک نشست را به صورت مستقل ثبت کنید. .br آرگومان log_args به صورت فهرستی از toolX[:toolZ]@levelX است که با دو‌نقطه (':') از هم جدا شده‌اند. .br مقدار levelX می‌تواند یکی از موارد زیر باشد: .br * quiet: صرف‌نظر کردن از لاگ‌ها .br * error: فقط ثبت پیام‌های خطا .br * warning: ثبت پیام‌های خطا + هشدار .br * info: ثبت پیام‌های خطا + هشدار + اطلاعاتی .br * debug: ثبت تمام پیام‌ها .br * strict: خروج در صورت بروز خطا برای این ابزار گزارش‌گیری و استفاده از سطح لاگ پیش‌فرض در صورت ذکر ابزار .br .br مقدار toolX می‌تواند یکی از موارد زیر باشد: .br * core: هسته libgpac .br * mutex: ثبت تمام فراخوانی‌های میوتکس .br * mem: ردیاب حافظه GPAC .br * module: ماژول‌های GPAC (خروجی صوتی/تصویری، موتور فونت، رسترایزر دوبعدی) .br * filter: اشکال‌زدایی نشست فیلتر .br * sched: اشکال‌زدایی زمان‌بند نشست فیلتر .br * codec: پیام‌های کدک (مورد استفاده فیلترهای رمزگذار و رمزگشا) .br * coding: فرمت‌های جریان بیت (صوتی، تصویری، صحنه) .br * container: فرمت‌های کانتینر (ISO File، MPEG-2 TS، AVI، ...) و فیلترهای مالتی‌پلکسر/دی‌مالتی‌پلکسر .br * network: سوکت‌های TCP/UDP و TLS .br * http: ترافیک HTTP .br * cache: زیرسیستم کش HTTP .br * rtp: ترافیک RTP .br * dash: لاگ‌های پخش جریانی HTTP (DASH) .br * route: اشکال‌زدایی پروتکل ROUTE (ATSC3) .br * media: پیام‌های فیلترهای عمومی و فیلترهای reframer/rewriter .br * parser: تجزیه‌کننده‌های متنی (svg، xmt، bt، ...) .br * mmio: مدیریت I/O (دستگاه‌های AV، فایل، پایپ‌ها، OpenGL) .br * audio: رندرکننده/میکسر/خروجی صوتی .br * script: موتور اسکریپت به جز لاگ کنسول .br * console: لاگ کنسول اسکریپت .br * scene: گراف صحنه و مدیریت صحنه .br * compose: موتور ترکیب‌کننده (2D، 3D و غیره) .br * ctime: اطلاعات زمان‌بندی رسانه و SMIL از موتور ترکیب .br * interact: پیام‌های تعاملی (رویدادهای UI و رویدادهای راه‌اندازی‌شده DOM و مسیر VRML) .br * rti: آمار زمان اجرای ترکیب‌کننده .br * all: ثبت گزارش تمام ابزارها - ابزارهای دیگر را می‌توان پس از آن مشخص کرد .br کلمه کلیدی ویژه ncl می‌تواند برای غیرفعال کردن لاگ‌های رنگی تنظیم شود. .br کلمه کلیدی ویژه strict می‌تواند برای خروج در اولین خطا روی هر ابزاری تنظیم شود. .br مقدار levelX می‌تواند پسوند +strict را بپذیرد تا خطای سخت‌گیرانه را فقط برای ابزار(های) گزارش‌گیری داده‌شده اعمال کند. .br .br مثال .br -logs=all@info:dash@debug:ncl .br .br این دستور تمام لاگ‌ها را به سطح info و لاگ dash را به سطح debug تغییر می‌دهد و لاگ‌های رنگی را غیرفعال می‌کند .br .TP .B \-proglf .br استفاده از خط جدید در هر پیام پیشرفت .br .TP .B \-log-dual,-ld .br ارسال خروجی هم به فایل و هم به stderr .br .SH "نمای کلی (OVERVIEW)" .LP .br فیلترها واحدهای پردازشی قابل‌پیکربندی هستند که بسته‌های داده را مصرف و تولید می‌کنند. این بسته‌ها از طریق یک کانال داده به نام PID میان فیلترها منتقل می‌شوند. یک PID مسئول تخصیص/ردیابی بسته‌های داده و ارسال آن‌ها به فیلتر(های) مقصد است. یک PID خروجی فیلتر می‌تواند به صفر یا چند فیلتر متصل شود. این انشعاب (fan-out) به‌صورت درونی توسط GPAC مدیریت می‌شود (چیزی به نام فیلتر tee در GPAC وجود ندارد). .br نکته: هنگامی که یک PID نتواند به هیچ فیلتری متصل شود، یک هشدار صادر شده و تمام بسته‌های ارسال‌شده روی این PID نابود خواهند شد. با این حال نشست همچنان می‌تواند اجرا شود، مگر اینکه .I \-full-link تنظیم شده باشد. .br .br هر PID خروجی مجموعه‌ای از ویژگی‌ها را حمل می‌کند که داده‌های تحویلی آن را توصیف می‌نمایند (مانند width، height، codec و...). ویژگی‌ها می‌توانند توکار (مشاهده gpac \-h props) یا تعریف‌شده توسط کاربر باشند. هر PID تغییرات ویژگی‌های خود را ردیابی کرده و در حین پردازش بسته، بازپیکربندی فیلتر را فعال می‌کند. این امر به زنجیره فیلتر اجازه می‌دهد در زمان اجرا مجدداً پیکربندی شود و بخش‌هایی از زنجیره را در صورت لزوم بازخوانی نماید (برای مثال، تخلیه یک رمزگشای ویدیو هنگام جابه‌جایی از منابع فشرده به غیرفشرده). .br .br هر فیلتر مجموعه‌ای از آرگومان‌ها را برای پیکربندی خود ارائه می‌دهد، که از انواع ویژگی‌ها و مقادیر توصیف‌شده به‌صورت رشته‌های قالب‌بندی‌شده با جداکننده‌ها استفاده می‌کنند. این راهنما با مجموعه‌های جداکننده پیش‌فرض :=#,@ برای تعیین فیلترها، ویژگی‌ها و گزینه‌ها ارائه شده است. برای تغییر آن‌ها از .I \-seps استفاده کنید. .br .SH "قالب ویژگی و گزینه فیلتر (Property and filter option format)" .LP .br * بولین (boolean): قالب‌بندی‌شده به‌صورت yes، true، 1 یا no، false، 0 .br * شمارش (enumeration) (فقط برای آرگومان‌های فیلتر): باید از نحو ارائه‌شده در توضیحات آرگومان استفاده شود، در غیر این صورت مقدار 0 (اولین مورد در شمارش) فرض می‌شود. .br * یک‌بعدی (اعداد، ممیز شناور، اعداد صحیح...): قالب‌بندی‌شده به‌صورت value[unit]، که در آن unit می‌تواند k، K (ضربدر ۱۰۰۰) یا m، M (ضربدر ۱۰۰۰۰۰۰) یا g، G (ضربدر ۱۰۰۰۰۰۰۰۰۰) یا sec (ضربدر ۱۰۰۰) یا min (ضربدر ۶۰۰۰۰) باشد. +I به معنی حداکثر مقدار float/int/uint و -I به معنی حداقل مقدار float/int/uint است. .br * کسر (fraction): قالب‌بندی‌شده به‌صورت num/den یا num-den یا num، که در این حالت مخرج در صورتی که num یک عدد صحیح باشد 1، یا اگر num یک مقدار ممیز شناور باشد 1000000 خواهد بود. .br * عدد صحیح ۳۲ بیتی بدون علامت: قالب‌بندی‌شده به‌صورت عدد یا هگزادسیمال با استفاده از قالب 0xAABBCCDD. .br * چندبعدی (بردارها): قالب‌بندی‌شده به‌صورت مقادیر DIM1xDIM2[xDIM3[xDIM4]]، بدون ضریب واحد. .br * برای بردارهای صحیح دوبعدی، نام‌های وضوح زیر می‌توانند استفاده شوند: 360, 480, 576, 720, 1080, hd, 2k, 2160, 4k, 4320, 8k .br * رشته (string): قالب‌بندی‌شده به‌صورت: .br * `value`: مقدار را در رشته کپی می‌کند. .br * `file@FILE`: بارگیری رشته از FILE محلی (باز شده در حالت باینری). .br * `bxml@FILE`: باینری‌سازی XML از FILE محلی و تنظیم نوع ویژگی به data - مشاهده https://wiki.gpac.io/xmlformats/NHML-Format .br * داده (data): قالب‌بندی‌شده به‌صورت: .br * `size@address`: بلوک داده ثابت، بدون کپی درونی؛ size اندازه بلوک و address اشاره‌گر داده را مشخص می‌کند. .br * `0xBYTESTRING`: بلوک داده تعیین‌شده در هگزادسیمال، کپی‌شده به‌صورت درونی. .br * `file@FILE`: بارگیری داده از FILE محلی (باز شده در حالت باینری). .br * `bxml@FILE`: باینری‌سازی XML از FILE محلی - مشاهده https://wiki.gpac.io/xmlformats/NHML-Format .br * `b64@DATA`: بارگیری داده از DATA کدگذاری‌شده با base-64. .br * `FMT@val`: بارگیری مقادیر از val (فهرست جداشده با کاما) با FMT که u8، s8، u16، s16، u32، s32، u64، s64، flt، dbl، hex یا str است. .br * اشاره‌گر (pointer): نشانی اشاره‌گر همان‌طور که با %p در C قالب‌بندی می‌شود. .br * فهرست‌های رشته: قالب‌بندی‌شده به‌صورت val1,val2[,...]. هر مقدار همچنین می‌تواند از نحو file@FILE استفاده کند. .br * فهرست‌های عدد صحیح: قالب‌بندی‌شده به‌صورت val1,val2[,...] .br .br نکته: نویسه‌های خاص در قالب‌های ویژگی (0x,/,-,+I,-I,x) قابل پیکربندی نیستند. .br .br اعداد و کسرها می‌توانند به‌صورت THH:MM:SS.ms، TMM:SS.ms، THH:MM:SS یا TMM:SS بیان شوند که به میلی‌ثانیه تبدیل می‌گردند. .br .SH "اعلان فیلتر [FILTER] (Filter declaration [FILTER])" .LP .br .SS "اعلان عمومی (Generic declaration)" .br هر فیلتر با نام خود اعلان می‌شود، همراه با آرگومان‌های اختیاری فیلتر که به‌صورت فهرستی از جفت‌های name=value جداشده با دونقطه پیوست می‌شوند. نحو اضافی برای موارد زیر ارائه شده است: .br * بولین: مقدار می‌تواند حذف شود که پیش‌فرض آن true است (مانند :allt). استفاده از ! قبل از نام نتیجه را نقیض می‌کند (مانند :!moof_first). .br * شمارش‌ها: نام می‌تواند حذف شود، برای مثال :disp=pbo معادل با :pbo است. .br .br .br هنگامی که پارامترهای رشته‌ای استفاده می‌شوند (مانند URLها)، توصیه می‌شود با استفاده از کلمه کلیدی gpac رشته را اسکیپ کنید. .br مثال .br filter:ARG=http://foo/bar?yes:gpac:opt=VAL .br .br این دستور URL را به‌درستی استخراج خواهد کرد. .br مثال .br filter:ARG=http://foo/bar?yes:opt=VAL .br .br این دستور در استخراج آن شکست می‌خورد و :opt=VAL را به‌عنوان بخشی از URL نگه می‌دارد. .br سازوکار اسکیپ برای منابع محلی که وجود فایل در طول تجزیه آرگومان بررسی می‌شود، لازم نیست. همچنین برای گرداننده‌های پروتکل توکار (avin://، video://، audio://، pipe://) نیازی به آن نیست. .br برای طرح‌واره‌هایی (schemes) که از مسیر سرور استفاده نمی‌کنند، مانند tcp:// و udp://، در صورتی که یک / پایانی بعد از شماره پورت اضافه شود، نیازی به اسکیپ نیست. .br مثال .br -i tcp://127.0.0.1:1234:OPT .br .br این دستور در استخراج URL و گزینه‌ها شکست خواهد خورد. .br مثال .br -i tcp://127.0.0.1:1234/:OPT .br .br این دستور URL و گزینه‌ها را استخراج خواهد کرد. .br نکته: یک ترفند برای اجتناب از توالی اسکیپ، اعلان گزینه URLها در انتها است، مانند f1:opt1=foo:url=http://bar، به شرطی که فقط یک پارامتر URL برای تعیین در فیلتر داشته باشید. .br .br با دو برابر کردن جداکننده، غیرفعال کردن محلی تجزیه گزینه (کاربردی برای گزینه‌های رشته‌ای) امکان‌پذیر است. .br مثال .br filter::opt1=UDP://IP:PORT/:someopt=VAL::opt2=VAL2 .br .br این دستور UDP://IP:PORT/:someopt=VAL را بدون بررسی به opt1 و VAL2 را به opt2 ارسال می‌کند. .br .br .SS "فیلترهای منبع و مقصد (Source and Sink filters)" .br فیلترهای منبع (source) و مقصد (sink) نیازی به مخاطب قرار گرفتن با نام فیلتر ندارند؛ تعیین src= یا dst= به‌جای آن کافی است. همچنین می‌توانید از نحو -src URL یا -i URL برای منابع و -dst URL یا -o URL برای مقصدها استفاده کنید؛ این امر امکان تکمیل خودکار در پوسته را فراهم می‌کند. .br مثال .br "src=file.mp4" یا "-src file.mp4" یا "-i file.mp4" .br .br این دستور فیلتری (برای مثال fin) را پیدا می‌کند که قادر به بارگیری file.mp4 باشد. همین نتیجه را می‌توان با استفاده از fin:src=file.mp4 به دست آورد. .br مثال .br "dst=dump.yuv" یا "-dst dump.yuv" یا "-o dump.yuv" .br .br این دستور محتوای ویدیویی را در dump.yuv تخلیه می‌کند. همین نتیجه را می‌توان با استفاده از fout:dst=dump.yuv به دست آورد. .br .br فیلترهای خاص منبع یا مقصد همچنین می‌توانند با استفاده از filterName:src=URL یا filterName:dst=URL مشخص شوند. .br .br نحوهای src= و dst= همچنین می‌توانند در نام مستعار (alias) برای شبیه‌سازی پویای آرگومان استفاده شوند (مشاهده gpac -hx alias). .br .br .SS "اجبار فیلترهای خاص (Forcing specific filters)" .br گزینه ویژه‌ای به نام gfreg وجود دارد که امکان تعیین فیلترهای ترجیحی برای استفاده در هنگام کار با URLها را فراهم می‌کند. .br مثال .br src=file.mp4:gfreg=ffdmx,ffdec .br .br این دستور از ffdmx برای خواندن file.mp4 و از ffdec برای رمزگشایی آن استفاده می‌کند. .br این قابلیت می‌تواند برای آزمایش یک فیلتر خاص در زمانی که زنجیره‌های فیلتر جایگزین ممکن هستند، استفاده شود. .br .SS "تعیین رمزگذارها و رمزگشاها (Specifying encoders and decoders)" .br به‌طور پیش‌فرض در صورتی که مقصد قالب مورد نظر را بپذیرد، زنجیره فیلترها بدون هیچ‌گونه رمزگشایی/رمزگذاری حل‌وفصل خواهد شد. در غیر این صورت، رمزگشاها/رمزگذارها به‌طور پویا برای انجام تبدیل بارگیری می‌شوند، مگر اینکه حل‌وفصل پویا غیرفعال شده باشد. یک نام فیلتر میان‌بر ویژه برای رمزگذارها به نام enc وجود دارد که امکان تطبیق با فیلتری را فراهم می‌کند که رمزگذاری مورد نظر را ارائه می‌دهد. پارامترهای enc عبارتند از: .br * c=NAME: کدک مورد نظر را مشخص می‌کند. NAME می‌تواند نام کدک GPAC یا نمونه رمزگذار برای ffmpeg/غیره باشد. .br * b=UINT، rate=UINT، bitrate=UINT: نرخ بیت را بر حسب بیت در ثانیه نشان می‌دهد. .br * g=UINT، gop=UINT: اندازه GOP را بر حسب فریم نشان می‌دهد. .br * pfmt=NAME: نام قالب پیکسل مقصد منبع را نشان می‌دهد (مشاهده ویژگی‌ها (-h props))، در صورتی که توسط کدک پشتیبانی شود. .br * all_intra=BOOL: نشان می‌دهد که تمام فریم‌ها باید فریم‌های داخلی (intra) باشند، در صورتی که توسط کدک پشتیبانی شود. .br .br گزینه‌های دیگر در صورتی که فیلتر تجزیه آرگومان عمومی را بپذیرد، به آن ارسال خواهند شد (مانند آنچه برای ffmpeg صدق می‌کند). .br نحو میان‌بر c=TYPE (مانند c=aac:opts) نیز پشتیبانی می‌شود. .br .br مثال .br gpac -i dump.yuv:size=320x240:fps=25 enc:c=avc:b=150000:g=50:cgop=true:fast=true -o raw.264 .br .br این دستور یک جریان AVC با نرخ ۲۵ فریم در ثانیه و ۱۷۵ کیلوبیت بر ثانیه با طول دوره GOP برابر با ۲ ثانیه با استفاده از تنظیمات closed gop و رمزگذاری سریع برای ffmpeg ایجاد می‌کند. .br .br عملیات معکوس (اجبار به انجام رمزگشایی) با استفاده از فیلتر reframer امکان‌پذیر است. .br مثال .br gpac -i file.mp4 reframer:raw=av -o null .br .br این دستور رمزگشایی رسانه از file.mp4 را اجبار کرده و نتیجه را دور می‌ریزد (به null ارسال می‌کند) (برای مثال انجام بنچمارک رمزگشا). .br .SS "اسکیپ کردن جداکننده‌های گزینه‌ها (Escaping option separators)" .br هنگامی که فیلتری از گزینه‌ای استفاده می‌کند که به‌عنوان رشته با همان نویسه جداکننده gpac تعریف شده است، می‌توانید مجموعه جداکننده‌ها را اصلاح کنید یا با دو برابر کردن جداکننده، آن را اسکیپ نمایید. گزینه‌های محصورشده در جداکننده دو برابر تجزیه نمی‌شوند. این قابلیت بیشتر برای متافیلترهایی مانند ffmpeg به منظور ارسال گزینه‌ها به زیرفیلترهایی چون libx264 استفاده می‌شود (به پارامتر x264opts رجوع کنید). همچنین می‌تواند برای اسکیپ کردن مقدار یک فهرست حاوی نویسه جداکننده ویرگول استفاده شود. .br مثال .br f:a=foo:b=bar .br .br این دستور گزینه a را برابر با foo و گزینه b را برابر با bar روی فیلتر تنظیم می‌کند. .br مثال .br f::a=foo:b=bar .br .br این دستور گزینه a را برابر با foo:b=bar روی فیلتر تنظیم می‌کند. .br مثال .br f:a=foo::b=bar:c::d=fun .br .br این دستور گزینه a را برابر با foo، گزینه b را برابر با bar:c و گزینه d را برابر با fun روی فیلتر تنظیم می‌کند. .br مثال .br f:list=a,b1,,b2,c .br .br این دستور مقادیر فهرست را برابر با a، b1,b2 و c قرار می‌دهد. .br .br .SH "پیوند دادن فیلترها [LINK] (Filter linking [LINK])" .LP .br .br هر فیلتر یک یا چند مجموعه از قابلیت‌ها را ارائه می‌دهد که بسته قابلیت (capability bundle) نامیده می‌شوند و نوع ویژگی و مقادیری هستند که باید توسط PIDهای متصل‌شونده مطابقت داشته باشند یا مستثنی شوند. .br برای بررسی منابع و مقصدهای ممکن برای فیلتر FNAME، از gpac -h links FNAME استفاده کنید. .br .br حل‌کننده گراف فیلتر (filter graph resolver) از این اطلاعات همراه با ویژگی‌های PID برای پیوند دادن فیلترهای مختلف استفاده می‌کند. .br .br دستورالعمل‌های پیوند، در صورت ارائه، مشخص می‌کنند که یک فیلتر می‌تواند از کدام منبع اتصال بپذیرد. .br آن‌ها مشخص نمی‌کنند که یک فیلتر می‌تواند به کدام مقصد متصل شود. .br .br .SS "پیوند پیش‌فرض فیلترها (Default filter linking)" .br هنگامی که هیچ دستورالعمل پیوندی داده نشده باشد (به زیر مراجعه کنید)، راهبرد پیوند پیش‌فرض استفاده‌شده یا حالت ضمنی (implicit mode، پیش‌فرض در gpac) یا حالت کامل (complete mode، در صورتی که .I \-cl تنظیم شده باشد) است. .br هر PID برای امکان اتصال به تمام فیلترهای تعریف‌شده، به ترتیب اعلان آن‌ها بررسی می‌شود. .br برای هر فیلتر DST که اتصالی از PID را می‌پذیرد، به‌صورت مستقیم یا با فیلترهای واسط: .br - اگر فیلتر DST دارای دستورالعمل‌های پیوند باشد، از آن‌ها برای مجاز کردن یا رد اتصال PID استفاده کنید. .br - در غیر این صورت، اگر حالت کامل فعال باشد، اتصال را مجاز کنید. .br - در غیر این صورت (حالت ضمنی): .br - اگر DST یک فیلتر مقصد (sink) نباشد و اولین فیلتر منطبق بدون دستورالعمل پیوند باشد، اتصال را مجاز کنید. .br - در غیر این صورت، اگر DST یک فیلتر مقصد نباشد و اولین فیلتر منطبق بدون دستورالعمل پیوند نباشد، اتصال را رد کنید. .br - در غیر این صورت (DST یک فیلتر مقصد است) و اتصال قبلی به یک فیلتر غیرمقصد وجود نداشته باشد، اتصال را مجاز کنید. .br .br در تمام حالت‌های پیوند، یک فیلتر می‌تواند با تنظیم گزینه RSID روی فیلتر، از پیوند داده شدن به فیلتری بدون دستورالعمل‌های پیوند جلوگیری کند. .br این کار معمولاً هنگام درج/حذف پویای فیلترها در یک نشست موجود لازم است که در آن برخی فیلترها شناسه‌ای تعریف‌نشده دارند و برای زنجیره درج‌شده مطلوب نیستند. .br فیلتری با RSID تنظیم‌شده قابل شبیه‌سازی نیست. .br .br مثال .br gpac -i file.mp4 c=avc -o output .br .br با این پیکربندی در حالت ضمنی: .br - اگر فایل دارای PID ویدیو باشد، به enc متصل می‌شود اما به output متصل نخواهد شد. PID خروجی enc به output متصل می‌شود. .br - اگر فایل دارای PIDهایی غیر از ویدیو باشد، به output متصل خواهند شد، زیرا این فیلتر enc فقط ویدیو را می‌پذیرد. .br .br مثال .br gpac -cl -i file.mp4 c=avc -o output .br .br با این پیکربندی در حالت کامل: .br - اگر فایل دارای PID ویدیو باشد، هم به enc و هم به output متصل می‌شود، و PID خروجی enc به output متصل خواهد شد. .br - اگر فایل دارای PIDهایی غیر از ویدیو باشد، به output متصل خواهند شد. .br .br علاوه بر این در حالت ضمنی، اتصالات فیلتر به فیلترهای تعریف‌شده میان آخرین منبع و مقصد(ها) محدود می‌شوند. .br مثال .br gpac -i video1 reframer:saps=1 -i video2 ffsws:osize=128x72 -o output .br .br این دستور موارد زیر را متصل می‌کند: .br - video1 به reframer و سپس reframer به output، اما از اتصال reframer به ffsws جلوگیری می‌کند. .br - video2 به ffsws و سپس ffsws به output، اما از اتصال video2 به reframer جلوگیری می‌کند. .br .br مثال .br gpac -i video1 -i video2 reframer:saps=1 ffsws:osize=128x72 -o output .br .br این دستور video1 و video2 را به reframer->ffsws->output متصل خواهد کرد. .br .br حالت ضمنی امکان تعیین زنجیره‌های پردازش خطی (بدون انشعاب PID مگر برای خروجی(های) نهایی) را بدون دستورالعمل‌های پیوند فراهم می‌کند و خط فرمان را برای موارد رایج ساده می‌سازد. .br هشدار: ترتیب آرگومان‌ها در حالت ضمنی واقعاً اهمیت دارد! .br .br مثال .br gpac -i file.mp4 c=avc c=aac -o output .br .br اگر فایل دارای یک PID ویدیو باشد، به c=avc متصل می‌شود اما به output وصل نخواهد شد. PID خروجی c=avc به output متصل می‌شود. .br اگر فایل دارای یک PID صوتی باشد، به c=aac متصل می‌شود اما به output وصل نخواهد شد. PID خروجی c=aac به output متصل می‌شود. .br اگر فایل دارای PIDهایی غیر از صدا یا تصویر باشد، به output متصل خواهند شد. .br .br مثال .br gpac -i file.mp4 ffswf=osize:128x72 c=avc resample=osr=48k c=aac -o output .br .br این دستور موارد زیر را اجبار می‌کند: .br - SRC(video)->ffsws->enc(video)->output و جلوگیری از اتصالات SRC(video)->output، SRC(video)->enc(video) و ffsws->output که در حالت کامل رخ می‌دادند. .br - SRC(audio)->resample->enc(audio)->output و جلوگیری از اتصالات SRC(audio)->output، SRC(audio)->enc(audio) و resample->output که در حالت کامل رخ می‌دادند. .br .br .SS "پیوندهای سریع (Quick links)" .br پیوند میان فیلترها می‌تواند به‌صورت دستی مشخص شود. نحو آن یک نویسه @ است که اختیاری با یک عدد صحیح دنبال می‌شود (در صورت حذف 0 است). .br این نشان می‌دهد که فیلتر بعدی مشخص‌شده در اعلان خط فرمان فقط باید به یک فیلتر فهرست‌شده قبلی پیوند داده شود. .br عدد صحیح اختیاری یک نمایه مبنای صفر به اعلان‌های فیلتر قبلی است (0 اعلان فیلتر قبلی را نشان می‌دهد، 1 فیلتر قبل از اعلان قبلی، ...). .br اگر به‌جای @ از @@ استفاده شود، عدد صحیح اختیاری نمایه فیلتر را با شروع از اولین فیلتر (نمایه 0) مشخص‌شده در خط فرمان نشان می‌دهد. .br چندین دستورالعمل پیوند می‌تواند برای یک فیلتر داده شود. .br مثال .br fA fB @1 fC .br .br این نشان می‌دهد که fC ورودی‌ها را فقط از fA می‌پذیرد. .br مثال .br fA fB fC @1 @0 fD .br .br این نشان می‌دهد که fD ورودی‌ها را فقط از fB و fC می‌پذیرد. .br مثال .br fA fB fC ... @@1 fZ .br .br این نشان می‌دهد که fZ ورودی‌ها را فقط از fB می‌پذیرد. .br .br .SS "پیوندهای پیچیده (Complex links)" .br دستورالعمل پیوند @ صرفاً یک میان‌بر سریع برای تنظیم آرگومان‌های فیلتر زیر است: .br * FID=name: شناسه‌ای را به فیلتر اختصاص می‌دهد .br * SID=name1[,name2...]: فهرستی از شناسه‌های فیلتر یا sourceIDها را تنظیم می‌کند که فهرست ورودی‌های ممکن برای یک فیلتر را محدود می‌سازد. .br .br مثال .br fA fB @1 fC .br .br این دستور معادل با fA:FID=1 fB fC:SID=1 است. .br مثال .br fA:FID=1 fB fC:SID=1 .br .br این نشان می‌دهد که fC ورودی را فقط از fA می‌پذیرد، اما fB ممکن است ورودی‌ها را از fA بپذیرد. .br مثال .br fA:FID=1 fB:FID=2 fC:SID=1 fD:SID=1,2 .br .br این نشان می‌دهد که fD ورودی را فقط از fA و fB، و fC ورودی را فقط از fA می‌پذیرد. .br نکته: فیلتری با sourceID تنظیم‌شده نمی‌تواند ورودی را از فیلترهای بدون شناسه دریافت کند. .br .br نام یک sourceID می‌تواند با * پایان یابد تا به‌جای نام کامل بر اساس پیشوند تطبیق داده شود؛ پیشوند شامل تمام نویسه‌ها تا قبل از * است. .br مثال .br fA:FID=AB1 fB:FID=ABCD fC:FID=B1 fD:SID=AB* .br .br این نشان می‌دهد که fD ورودی را فقط از fA و fB می‌پذیرد اما از fC نمی‌پذیرد. .br .br نام sourceID می‌تواند با استفاده از شناسه قطعه (به‌طور پیش‌فرض #) بیشتر گسترش یابد: .br * name#PIDNAME: فقط PID(های) با نام PIDNAME را می‌پذیرد .br * name#TYPE: فقط PIDهای با نوع رسانه منطبق را می‌پذیرد. TYPE می‌تواند audio، video، scene، text، font، meta باشد .br * name#TYPEN: فقط Nمین (نمایه مبنای یک) PID با نوع منطبق را از منبع می‌پذیرد (برای مثال video2 فقط دومین PID ویدیو را می‌پذیرد) .br * name#TAG=VAL: در صورتی که فیلتر والد آن هیچ برچسبی نداشته باشد یا برچسبی منطبق با VAL داشته باشد، PID را می‌پذیرد .br * name#ITAG=VAL: در صورتی که فیلتر والد آن هیچ برچسب ارث‌بری‌شده‌ای نداشته باشد یا برچسب ارث‌بری‌شده‌ای منطبق با VAL داشته باشد، PID را می‌پذیرد .br * name#P4CC=VAL: فقط PIDهای دارای ویژگی توکار از نوع P4CC و مقدار VAL را می‌پذیرد. .br * name#PName=VAL: مشابه بالا، با استفاده از نام توکار متناظر با ویژگی. .br * name#AnyName=VAL: مشابه بالا، با استفاده از نام یک ویژگی غیرتوکار. .br * name#Name=OtherPropName: مقدار را با مقدار ویژگی دیگری از PID مقایسه می‌کند. در صورتی که مقدار مورد مقایسه وجود نداشته باشد یا با مقدار مورد بررسی متفاوت باشد، تطبیق شکست خواهد خورد. ویژگی مورد مقایسه باید یک ویژگی توکار باشد. .br اگر ویژگی روی PID تعریف نشده باشد، ویژگی منطبق در نظر گرفته می‌شود. در غیر این صورت، مقدار آن در برابر مقدار ارائه‌شده بررسی می‌شود. .br .br تغییردهنده‌های زیر برای مقایسه‌ها مجاز هستند (برای هر قالب قطعه با استفاده از =): .br * name#P4CC=!VAL: فقط PIDهای با ویژگی غیرمنطبق با VAL را می‌پذیرد. .br * name#P4CC-VAL: فقط PIDهای با ویژگی اکیداً کمتر از VAL را می‌پذیرد (فقط برای ویژگی‌های عددی یک‌بعدی). .br * name#P4CC+VAL: فقط PIDهای با ویژگی اکیداً بزرگتر از VAL را می‌پذیرد (فقط برای ویژگی‌های عددی یک‌بعدی). .br .br نام sourceID همچنین می‌تواند از نویسه عمومی (wildcard) استفاده کند یا خالی باشد تا یک ویژگی را بدون در نظر گرفتن فیلتر منبع تطبیق دهد. .br مثال .br fA fB:SID=*#ServiceID=2 .br fA fB:SID=#ServiceID=2 .br .br این نشان می‌دهد که اتصال میان fA و fB فقط برای PIDهای دارای ویژگی ServiceID برابر با 2 تطبیق داده شود. .br این پسوندها همچنین با میان‌بر LINK @ کار می‌کنند. .br مثال .br fA fB @1#video fC .br .br این نشان می‌دهد که fC ورودی‌ها را فقط از fA و از نوع video می‌پذیرد. .br مثال .br gpac -i img.heif @#ItemID=200 vout .br .br این نشان می‌دهد که به vout فقط PIDهای با ویژگی ItemID برابر با 200 متصل شوند. .br مثال .br gpac -i vid.mp4 @#PID=1 vout .br .br این نشان می‌دهد که به vout فقط PIDهای با ویژگی ID برابر با 1 متصل شوند. .br مثال .br gpac -i vid.mp4 @#Width=640 vout .br .br این نشان می‌دهد که به vout فقط PIDهای با ویژگی Width برابر با 640 متصل شوند. .br مثال .br gpac -i vid.mp4 @#Width-640 vout .br .br این نشان می‌دهد که به vout فقط PIDهای با ویژگی Width کمتر از 640 متصل شوند. .br مثال .br gpac -i vid.mp4 @#ID=ItemID#ItemNumber=1 vout .br .br این دستور به vout فقط PIDهای با ویژگی ID برابر با ویژگی ItemID (نگه‌داشتن آیتم‌ها، دور انداختن ترک‌ها) و شماره آیتم 1 (اولین آیتم) را متصل می‌کند. .br .br برای بررسی چندین ویژگی PID، می‌توان چندین قطعه را تعیین کرد. .br مثال .br gpac -i vid.mp4 @#Width=640#Height+380 vout .br .br این نشان می‌دهد که به vout فقط PIDهای با ویژگی Width برابر با 640 و Height بزرگتر از 380 متصل شوند. .br .br هشدار: اگر یک PID به‌طور مستقیم به یک یا چند فیلتر بارگیری‌شده صریح متصل شود، هیچ حل‌وفصل پیوند پویای دیگری برای اتصال آن به فیلترهای دیگر بدون تنظیم sourceID انجام نخواهد شد. دستورالعمل‌های پیوند باید با دقت تنظیم شوند. .br مثال .br fA @ reframer fB .br .br اگر fB ورودی‌های ارائه‌شده توسط fA را بپذیرد اما reframer نپذیرد، این دستور PID مربوط به fA را به فیلتر fB پیوند می‌دهد زیرا fB هیچ sourceID ندارد. .br از آنجا که PID متصل است، موتور فیلتر سعی در حل پیوند میان fA و reframer نخواهد کرد. .br .br یک استثنا برای فایل‌های محلی وجود دارد: به‌طور پیش‌فرض، یک مقصد فایل محلی، مالتی‌پلکس مجدد PIDهای ورودی از یک فایل محلی را اجبار می‌کند. .br مثال .br gpac -i file.mp4 -o dump.mp4 .br .br این دستور از اتصال مستقیم PID از نوع file به مقصد file.mp4 جلوگیری کرده و فایل را مجدداً مالتی‌پلکس می‌کند. .br .br گزینه ویژه nomux برای اجازه دادن به اتصالات مستقیم استفاده می‌شود (برای فیلترهای غیرمقصد نادیده گرفته می‌شود). .br مثال .br gpac -i file.mp4 -o dump.mp4:nomux .br .br این کار منجر به کپی مستقیم فایل خواهد شد. .br .br این فقط برای مقصدهای فایل‌های محلی اعمال می‌شود. برای پایپ‌ها، سوکت‌ها یا سایر خروجی‌های فایل (HTTP، ROUTE): .br - کپی مستقیم به‌طور پیش‌فرض فعال است .br - nomux=0 می‌تواند برای اجبار به مالتی‌پلکس مجدد استفاده شود .br .br .SS "برچسب‌گذاری زیرنشست (Sub-session tagging)" .br فیلترها می‌توانند با استفاده از :FS=N که در آن N یک عدد صحیح مثبت است، به یک زیرنشست اختصاص یابند. .br فیلترهای متعلق به زیرنشست‌های مختلف فقط در شرایط زیر می‌توانند به یکدیگر پیوند داده شوند: .br - اگر صریحاً از طریق دستورالعمل‌های sourceID (@ یا SID) مجاز شده باشد .br - یا اگر شناسه زیرنشست یکسانی داشته باشند .br .br این قابلیت بیشتر برای حالت ضمنی در gpac استفاده می‌شود: هر اولین فیلتر منبعی که بعد از یک فیلتر مقصد مشخص شود، یک زیرنشست جدید را آغاز می‌کند. .br مثال .br gpac -i in1.mp4 -i in2.mp4 -o out1.mp4 -o out2.mp4 .br .br این دستور منجر به مالتی‌پلکس شدن هر دو ورودی در هر دو خروجی خواهد شد. .br مثال .br gpac -i in1.mp4 -o out1.mp4 -i in2.mp4 -o out2.mp4 .br .br این دستور منجر به ترکیب in1 در out1 و in2 در out2 می‌شود؛ دو فیلتر اخیر به یک زیرنشست متفاوت تعلق دارند. .br .br .SH "توارث آرگومان‌ها (Arguments inheriting)" .LP .br مگر اینکه صریحاً غیرفعال شده باشد (مشاهده .I \-max-chain )، موتور فیلتر اتصالات ضمنی یا صریح (LINK) میان فیلترها را حل‌وفصل کرده و هر زنجیره فیلتری را که برای اتصال فیلترها لازم باشد تخصیص می‌دهد. در حین انجام این کار، فیلترهای جدید را با آرگومان‌های ارث‌بری‌شده از هر دو منبع و مقصد بارگیری می‌کند. .br مثال .br gpac -i file.mp4:OPT -o file.aac -o file.264 .br .br این دستور :OPT را به تمام فیلترهای بارگیری‌شده میان منبع و دو مقصد ارسال می‌کند. .br مثال .br gpac -i file.mp4 -o file.aac:OPT -o file.264 .br .br این دستور :OPT را به تمام فیلترهای بارگیری‌شده میان منبع و مقصد file.aac ارسال می‌کند. .br نکته: آرگومان‌های مقصد ارث‌بری‌شده آرگومان‌هایی هستند که پس از گزینه dst= قرار می‌گیرند. .br مثال .br gpac -i file.mp4 fout:OPTFOO:dst=file.aac:OPTBAR .br .br این دستور :OPTBAR را به تمام فیلترهای بارگیری‌شده میان منبع file.mp4 و مقصد file.aac ارسال می‌کند، اما OPTFOO را ارسال نمی‌کند. .br توارث آرگومان‌ها می‌تواند با استفاده از کلمه کلیدی gfloc متوقف شود: آرگومان‌های پس از این کلمه کلیدی ارث‌بری نخواهند شد. .br مثال .br gpac -i file.mp4 -o file.aac:OPTFOO:gfloc:OPTBAR -o file.264 .br .br این دستور :OPTFOO را به تمام فیلترهای بارگیری‌شده میان منبع file.mp4 و مقصد file.aac ارسال می‌کند، اما OPTBAR را ارسال نمی‌کند. .br آرگومان‌ها به‌طور پیش‌فرض ردیابی می‌شوند تا بررسی شود که آیا توسط زنجیره فیلتر استفاده شده‌اند یا خیر، و اگر چنین نباشد یک هشدار صادر می‌شود. .br ممکن است تعیین آرگومان‌هایی که شاید بسته به حل‌وفصل گراف مصرف نشوند مفید باشد؛ کلمه کلیدی خاص gfopt نشان می‌دهد که آرگومان‌های پس از کلمه کلیدی ردیابی نخواهند شد. .br مثال .br gpac -i file.mp4 -o file.aac:OPTFOO:gfopt:OPTBAR -o file.264 .br .br این دستور در صورتی که OPTFOO مصرف نشود هشدار می‌دهد، اما OPTBAR را ردیابی نخواهد کرد. .br .br یک فیلتر می‌تواند با استفاده از گزینه :N=name یک نام دریافت کند (برای اهداف بازرسی، ارث‌بری نمی‌شود). این نام در حل‌وفصل پیوند استفاده نمی‌شود و ممکن است در زمان اجرا توسط نمونه فیلتر تغییر کند. .br .br یک فیلتر می‌تواند با استفاده از گزینه :TAG=name یک برچسب (هر رشته‌ای) دریافت کند. این برچسب نیازی نیست یکتا باشد و می‌تواند برای مستثنی کردن فیلتر در حل‌وفصل پیوند استفاده شود. برچسب‌ها ارث‌بری نمی‌شوند، بنابراین فیلترهای بارگیری‌شده پویا هرگز برچسب ندارند. .br .br یک فیلتر همچنین می‌تواند با استفاده از گزینه :ITAG=name یک برچسب ارث‌بری‌شده (هر رشته‌ای) دریافت کند. این‌گونه برچسب‌ها ارث‌بری می‌شوند و معمولاً برای ردیابی فیلترهای بارگیری‌شده پویا به کار می‌روند. .br .br .SH "الگوسازی URL (URL templating)" .LP .br URLهای مقصد را می‌توان به‌صورت پویا با استفاده از الگوها ساخت. الگوی $KEYWORD$ در الگو با مقدار حل‌وفصل‌شده جایگزین می‌شود و $KEYWORD%%0Nd$ در الگو با عدد صحیح حل‌وفصل‌شده جایگزین می‌گردد، که در صورت نیاز با حداکثر N صفر پر (pad) می‌شود. .br کلمه کلیدی (KEYWORD) به بزرگ و کوچک بودن حروف حساس است و ممکن است چندین بار در رشته وجود داشته باشد. کلمات کلیدی پشتیبانی‌شده: .br * num: با شماره فایل در صورت تعریف جایگزین می‌شود، در غیر این صورت 0 .br * PID: شناسه PID منبع .br * URL: نشانی اینترنتی (URL) فایل منبع .br * File: مسیر روی دیسک برای فایل منبع؛ اگر پیدا نشد، در صورت تنظیم از URL یا در غیر این صورت از نام PID استفاده می‌شود .br * Type: نام نوع جریان PID (video، audio...) .br * OType: مشابه Type اما هنگام رمزنگاری جریان از نوع اصلی استفاده می‌کند (مانند انتقال از crypt به video) .br * p4cc=ABCD: از ویژگی PID با مقدار 4CC برابر ABCD استفاده می‌کند .br * pname=VAL: از ویژگی PID با نام VAL استفاده می‌کند .br * cts، dts، dur، sap: از ویژگی‌های اولین بسته در PID در زمان حل‌وفصل الگو استفاده می‌کند .br * OTHER: ویژگی 4CC را برای نام ارائه‌شده مکان‌یابی می‌کند، یا در صورت عدم تطابق 4CC، نام ویژگی را مکان‌یابی می‌نماید. .br .br $$ یک اسکیپ برای $ است. برای پوسته‌هایی که به‌طور خودکار $$ را با $ جایگزین می‌کنند، نحو $;$ می‌تواند برای بیان $$ استفاده شود. .br .br الگوسازی می‌تواند هنگام رمزگذاری چندین کیفیت در یک مرحله مفید باشد. .br مثال .br gpac -i dump.yuv:size=640x360 vcrop:wnd=0x0x320x180 c=avc:b=1M @2 c=avc:b=750k -o dump_$CropOrigin$x$Width$x$Height$.264 .br .br این دستور یک نسخه برش‌خورده (crop) از منبع، رمزگذاری‌شده در AVC با نرخ 1M، و یک نسخه کامل از محتوا در AVC با نرخ 750k ایجاد خواهد کرد. خروجی‌ها dump_0x0x320x180.264 برای نسخه برش‌خورده و dump_0x0x640x360.264 برای نسخه برش‌نخورده خواهند بود. .br .SH "شبیه‌سازی فیلترها (Cloning filters)" .LP .br هنگامی که یک فیلتر یک اتصال منفرد را می‌پذیرد و دارای یک ورودی متصل است، دیگر برای حل‌وفصل پویا در دسترس نیست. ممکن است مواردی وجود داشته باشد که این رفتار مطلوب نباشد. یک فایل HEIF با N آیتم را در نظر بگیرید و این کار را انجام دهید: .br .br gpac -i img.heif -o dump_$ItemID$.jpg .br .br در این حالت، تنها یک آیتم (احتمالاً اولین آیتم اعلان‌شده در فایل) به مقصد متصل خواهد شد. .br سایر آیتم‌ها متصل نخواهند شد زیرا مقصد فقط یک PID ورودی را می‌پذیرد. .br مثال .br gpac -i img.heif -o dump_$ItemID$.jpg .br .br در این حالت، مقصد برای هر آیتم شبیه‌سازی (clone) می‌شود و به لطف الگوسازی URL، همگی به JPEGهای متفاوتی صادر خواهند شد. .br مثال .br gpac -i vid.mpd c=avc:FID=1 -o transcode.mpd:SID=1 .br .br در این حالت، رمزگذار برای هر PID ویدیویی در منبع شبیه‌سازی می‌شود و مقصد فقط از PIDهای برآمده از رمزگذارها استفاده خواهد کرد. .br .br هنگامی که پیوند ضمنی فعال است، تمام فیلترها به‌طور پیش‌فرض قابل شبیه‌سازی هستند. این امر امکان تکرار پردازش را برای هر یک از PIDهای با نوع یکسان فراهم می‌کند. .br مثال .br gpac -i dual_audio resample:osr=48k c=aac -o dst .br .br فیلتر نمونه‌برداری مجدد (resampler) برای هر PID صوتی شبیه‌سازی می‌شود و رمزگذار برای هر خروجی نمونه‌برداری مجدد شبیه‌سازی خواهد شد. .br می‌توانید دستورالعمل‌های شبیه‌سازی را صریحاً غیرفعال کنید: .br .br gpac -i dual_audio resample:osr=48k:clone=0 c=aac -o dst .br .br اولین صدا به فیلتر resample، دومین به فیلتر enc و خروجی resample به یک شبیه (clone) از فیلتر enc متصل خواهد شد. .br .br .SH "الگوسازی زنجیره‌های فیلتر (Templating filter chains)" .LP .br ممکن است مواردی وجود داشته باشد که تعداد خروجی‌های مطلوب به محتوای منبع بستگی دارد، برای مثال تخلیه یک مالتی‌پلکس از N سرویس در N فایل. هنگامی که مقصد شامل مالتی‌پلکس کردن PIDهای ورودی است، گزینه :clone کافی نیست زیرا مالتی‌پلکسر همیشه PIDهای ورودی را می‌پذیرد. .br برای مدیریت این موضوع، می‌توان از نام ویژگی PID در sourceID یک فیلتر با مقدار * یا یک مقدار خالی استفاده کرد. در این حالت، هر زمان که یک PID جدید با مقدار جدیدی برای ویژگی پیدا شود، فیلتر با چنین sourceID به‌طور پویا شبیه‌سازی خواهد شد. .br هشدار: این ویژگی فقط باید با یک ویژگی منفرد تنظیم‌شده روی * (یا خالی) به ازای هر source ID فراخوانی شود، در غیر این صورت نتایج نامشخص خواهد بود. .br مثال .br gpac -i source.ts -o file_$ServiceID$.mp4:SID=*#ServiceID=* .br gpac -i source.ts -o file_$ServiceID$.mp4:SID=#ServiceID= .br .br در این حالت، هر مقدار ServiceID جدید یافت‌شده هنگام اتصال PIDها به مقصد، یک فایل مقصد جدید ایجاد خواهد کرد. .br .br شبیه‌سازی در حالت پیوند ضمنی روی خروجی نیز اعمال می‌شود: .br .br gpac -i dual_audio -o dst_$PID$.aac .br .br هر ترک صوتی در aac تخلیه خواهد شد (در صورت نیاز همراه با رمزگذاری مجدد). .br .br .SH "انتساب ویژگی‌های PID (Assigning PID properties)" .LP .br تعریف ویژگی‌ها روی PIDهای خروجی که توسط یک فیلتر اعلان می‌شوند، امکان‌پذیر است. این امر امکان برچسب‌گذاری بخش‌هایی از گراف با ویژگی‌های متفاوت از سایر بخش‌ها (برای مثال ServiceID) را فراهم می‌کند. نحو آن همانند گزینه فیلتر است و از جداکننده قطعه برای شناسایی ویژگی‌ها استفاده می‌کند، مانند #Name=Value. .br این کار ویژگی PIDهای خروجی (4cc، نام توکار یا هر نام دیگری) را روی مقدار داده‌شده تنظیم می‌کند. مقدار می‌تواند برای بولین حذف شود (پیش‌فرض true است، مانند :#Alpha). .br ویژگی‌های غیرتوکار به شرح زیر تجزیه می‌شوند: .br - file@FOO به‌صورت رشته با مقداری تنظیم‌شده بر روی محتوای FOO اعلان می‌شود. .br - bxml@FOO به‌صورت data با مقداری تنظیم‌شده بر روی محتوای باینری‌شده FOO اعلان می‌شود. .br - FOO به‌صورت رشته با مقداری تنظیم‌شده بر روی FOO اعلان می‌شود. .br - TYPE@FOO بر اساس TYPE تجزیه می‌شود. اگر نوع شناخته نشود، کل مقدار به‌عنوان رشته کپی می‌شود. برای انواع تعریف‌شده به gpac -h props مراجعه کنید. .br .br ویژگی‌های PID اختصاص‌یافته توسط کاربر روی فیلتر fA توسط تمام فیلترهایی که برای حل اتصال fA -> fB به‌طور پویا بارگیری شده‌اند ارث‌بری خواهد شد. .br اگر fB نیز دارای ویژگی‌های PID اختصاص‌یافته توسط کاربر باشد، این ویژگی‌ها فقط از فیلتر fB به بعد در زنجیره اعمال می‌شوند و توسط فیلترهای میان fA و fB ارث‌بری نمی‌شوند. .br .br هشدار: ویژگی‌ها پالایش نمی‌شوند و ویژگی‌های PIDهای خروجی فیلتر را بازنویسی (override) می‌کنند؛ مراقب باشید که نشست را با بازنویسی ویژگی‌های اصلی مانند width/height/samplerate/... مختل نکنید! .br مثال .br gpac -i v1.mp4:#ServiceID=4 -i v2.mp4:#ServiceID=2 -o dump.ts .br .br این دستور جریان‌ها را در dump.ts مالتی‌پلکس می‌کند، با استفاده از ServiceID 4 برای PIDهای v1.mp4 و ServiceID 2 برای PIDهای v2.mp4. .br .br ویژگی‌های PID ممکن است با بررسی سایر ویژگی‌های PID به‌صورت مشروط اختصاص داده شوند. نحو آن از پرانتز (غیرقابل‌پیکربندی) پس از علامت انتساب ویژگی استفاده می‌کند: .br #Prop=(CP=CV)VAL .br این دستور ویژگی Prop از PID را برای PIDهایی با ویژگی CP برابر با CV روی VAL تنظیم می‌کند. .br #Prop=(CP=CV)VAL,(CP2=CV2)VAL2 .br این دستور ویژگی Prop از PID را برای PIDهایی با ویژگی CP برابر با CV روی VAL، و برای PIDهایی با ویژگی CP2 برابر با CV2 روی VAL2 تنظیم می‌کند. .br #Prop=(CP=CV)(CP2=CV2)VAL .br این دستور ویژگی Prop از PID را برای PIDهایی با ویژگی CP برابر با CV و ویژگی CP2 برابر با CV2 روی VAL تنظیم می‌کند. .br #Prop=(CP=CV)VAL,()DEFAULT .br این دستور ویژگی Prop از PID را برای PIDهایی با ویژگی CP برابر با CV روی VAL، یا برای سایر PIDها روی DEFAULT تنظیم می‌کند. .br نحو شرط همانند نحو قطعه شناسه منبع (source ID fragment) است. .br نکته: در صورت تنظیم، مقدار پیش‌فرض (شرط خالی) همیشه با PID مطابقت دارد، بنابراین باید در انتهای فهرست شرایط قرار گیرد. .br مثال .br gpac -i source.mp4:#MyProp=(audio)"Super Audio",(video)"Super Video" .br .br این دستور ویژگی MyProp را برای PIDهای صوتی روی Super Audio و برای PIDهای ویدیویی روی Super Video تنظیم می‌کند. .br مثال .br gpac -i source.mp4:#MyProp=(audio1)"Super Audio" .br .br این دستور ویژگی MyProp را برای اولین PID صوتی اعلان‌شده روی Super Audio تنظیم می‌کند. .br مثال .br gpac -i source.mp4:#MyProp=(Width+1280)HD .br .br این دستور ویژگی MyProp را برای PIDهایی با ویژگی Width بزرگتر از 1280 روی HD تنظیم می‌کند. .br .br مقدار ویژگی می‌تواند از الگوها با کلمات کلیدی زیر استفاده کند: .br * $GINC(init[,inc]) یا @GINC(...): به ازای هر PID خروجی جدید فیلتر با یک عدد صحیح جایگزین می‌شود (برای جزئیات نحو به گزینه‌های خاص فیلتر مراجعه کنید) .br * PROP (محصور بین `$` یا `@`): با مقدار سریالی‌شده ویژگی PROP (نام یا 4CC) مربوط به PID یا با رشته خالی در صورت عدم وجود چنین ویژگی جایگزین می‌شود .br مثال .br gpac -i source.ts:#ASID=$PID$ .br .br این دستور شناسه AdaptationSet مربوط به DASH را روی مقدار شناسه PID تنظیم می‌کند. .br مثال .br gpac -i source.ts:#RepresentationID=$ServiceID$ .br .br این دستور شناسه Representation مربوط به DASH را روی مقدار ServiceID مربوط به PID تنظیم می‌کند. .br .br یک ویژگی همچنین می‌تواند با عدم تعیین هیچ مقداری حذف شود. حذف مشروط با استفاده از نحو بالا امکان‌پذیر است. .br مثال .br gpac -i source.ts:#FOO= .br .br این دستور ویژگی FOO را روی PID خروجی حذف خواهد کرد. .br .br .SH "استفاده از فایل‌های گزینه (Using option files)" .LP .br استفاده از یک فایل برای تعریف گزینه‌های یک فیلتر، با تعیین نام فایل مقصد به‌عنوان یک گزینه بدون مقدار، یعنی :myopts.txt امکان‌پذیر است. .br هشدار: فقط فایل‌های محلی مجاز هستند. .br یک فایل گزینه یک فایل متنی ساده شامل یک یا چند گزینه یا ویژگی PID در یک یا چند خط است. .br - خطی که با "//" شروع می‌شود یک دیدگاه (comment) است و نادیده گرفته می‌شود (غیرقابل‌پیکربندی). .br - خطی که با ":" شروع می‌شود نشان‌دهنده یک گزینه اسکیپ‌شده است (کل خط به‌عنوان یک گزینه واحد تجزیه می‌شود). .br گزینه‌ها در یک فایل گزینه ممکن است به فایل‌های گزینه دیگر اشاره کنند، با حداکثر سطح تغییر مسیر ۵. .br اعلان یک فایل گزینه (filter:myopts.txt) از همان قوانین توارث گزینه‌های عادی پیروی می‌کند. .br مثال .br gpac -i source.mp4:myopts.txt:foo=bar -o dst .br .br هر فیلتر بارگیری‌شده میان source.mp4 و dst هر دو گزینه myopts.txt و foo را به ارث می‌برد و گزینه‌ها و ویژگی‌های PID ارائه‌شده در myopts.txt را حل‌وفصل خواهد کرد. .br .br .SH "نادیده گرفتن فیلترها در زمان اجرا (Ignoring filters at run-time)" .LP .br گزینه ویژه ccp می‌تواند برای جایگزینی فیلترها با یک فیلتر همانی (identity filter) در زمان اجرا بر اساس شناسه کدک ورودی استفاده شود. .br این گزینه فهرستی از شناسه‌های کدک برای بررسی است. برای فیلترهای رمزگذار، یک فهرست خالی نوع کدک رمزگذار را مجدداً استفاده می‌کند. .br هنگامی که شناسه کدک PID با یکی از کدک‌های تعیین‌شده مطابقت داشته باشد، فیلتر با یک فیلتر reframer با یک ورودی PID منفرد و نام و شناسه یکسان جایگزین می‌شود. .br مثال .br -i src c=avc:b=1m:ccp -o mux .br .br این دستور در صورتی که PID ورودی در قالب AVC|H264 باشد، فیلتر رمزگذار را با یک reframer جایگزین می‌کند، یا از رمزگذار برای سایر PIDهای تصویری استفاده می‌نماید. .br مثال .br -i src c=avc:b=1m:ccp=avc,hevc -o mux .br .br این دستور در صورتی که PID ورودی در قالب AVC|H264 یا HEVC باشد، فیلتر رمزگذار را با یک reframer جایگزین می‌کند، یا از رمزگذار برای سایر PIDهای تصویری استفاده می‌نماید. .br مثال .br -i src cecrypt:cfile=drm.xml:ccp=aac -o mux .br .br این دستور در صورتی که PID ورودی در قالب AAC باشد، فیلتر رمزنگار (encryptor) را با یک reframer جایگزین می‌کند، یا از رمزنگار برای سایر PIDها استفاده می‌نماید. .br .br .SH "گزینه‌های خاص فیلتر (Specific filter options)" .LP .br برخی کلمات کلیدی خاص هنگام پردازش گزینه‌های فیلتر جایگزین می‌شوند. .br هشدار: این کلمات کلیدی برای ویژگی‌های PID اعمال نمی‌شوند. چند کلمه کلیدی نمی‌تواند برای یک گزینه واحد تعریف شود. .br کلمات کلیدی تعریف‌شده: .br * $GSHARE: با مسیر سیستمی به دایرکتوری اشتراکی GPAC جایگزین می‌شود (مانند /usr/share/gpac) .br * $GJS: با اولین مسیر از دایرکتوری اشتراکی سراسری و مسیرهای تنظیم‌شده از طریق .I \-js-dirs که حاوی نام فایل پس از ماکرو است جایگزین می‌شود، مانند $GJS/source.js .br * $GDOCS: با مسیر سیستمی به موارد زیر جایگزین می‌شود: .br - دایرکتوری اسناد برنامه برای iOS .br - متغیر محیطی EXTERNAL_STORAGE در صورت وجود، یا در غیر این صورت /sdcard برای Android .br - دایرکتوری خانگی کاربر برای سایر پلتفرم‌ها .br * $GCFG: با مسیر سیستمی به پوشه حاوی پیکربندی GPAC جایگزین می‌شود .br * $GLANG: با گزینه زبان پیکربندی سراسری .I \-lang جایگزین می‌شود .br * $GUA: با گزینه عامل کاربر (user agent) پیکربندی سراسری .I \-user-agent جایگزین می‌شود .br * $GINC(init_val[,inc]): با init_val جایگزین شده و هر بار که فیلتر جدیدی با استفاده از این رشته ایجاد شود، init_val را به مقدار inc (عدد مثبت یا منفی، در صورت عدم تعیین 1) افزایش می‌دهد. .br .br سازه $GINC می‌تواند برای اختصاص پویای اعداد در زنجیره‌های فیلتر استفاده شود: .br .br gpac -i source.ts tssplit @#ServiceID= -o dump_$GINC(10,2).ts .br .br این دستور اولین سرویس را در dump_10.ts، دومین سرویس را در dump_12.ts و... تخلیه خواهد کرد. .br .br همان‌طور که پیش‌تر مشاهده شد، گزینه‌های زیر ممکن است روی هر فیلتری تنظیم شوند، اما در راهنمای فیلترهای فردی قابل مشاهده نیستند: .br * FID: شناسه فیلتر (مقدار رشته‌ای) .br * SID: منبع(های) فیلتر (مقدار رشته‌ای) .br * N=NAME: نام فیلتر (مقدار رشته‌ای) .br * FS: شناسه زیرنشست (مقدار عدد صحیح بدون علامت) .br * RSID: الزام به وجود sourceID در فیلترهای مقصد (بدون مقدار) .br * TAG: برچسب فیلتر (مقدار رشته‌ای) .br * ITAG: برچسب ارث‌بری‌شده فیلتر (مقدار رشته‌ای) .br * FBT: زمان بافر بر حسب میکروثانیه (مقدار عدد صحیح بدون علامت) .br * FBU: واحدهای بافر (مقدار عدد صحیح بدون علامت) .br * FBD: زمان بافر رمزگشایی بر حسب میکروثانیه (مقدار عدد صحیح بدون علامت) .br * clone: فعال‌سازی/غیرفعال‌سازی صریح فلگ شبیه‌سازی فیلتر (بدون مقدار) .br * nomux: فعال‌سازی/غیرفعال‌سازی کپی مستقیم فایل (بدون مقدار) .br * gfreg: نام‌های ثبتی فیلتر ترجیحی برای حل پیوند (مقدار رشته‌ای) .br * gfloc: گزینه‌های زیر محلی برای اعلان فیلتر هستند و ارث‌بری نمی‌شوند (بدون مقدار) .br * gfopt: گزینه‌های زیر ردیابی نمی‌شوند (بدون مقدار) .br * gpac: جداکننده آرگومان برای URLها (بدون مقدار) .br * ccp: کنترل جایگزینی فیلتر (مقدار فهرست رشته‌ای) .br * NCID: شناسه پیکربندی netcap برای استفاده (رشته) .br * LT: تنظیم ابزارها و سطوح گزارش‌گیری اضافی برای فیلتر با استفاده از همان نحو -logs، مانند :LT=filter@debug (مقدار رشته‌ای) .br * DBG: اشکال‌زدایی ویژگی PID ورودی ناموجود (=pid)، ویژگی بسته ورودی ناموجود (=pck) یا هر دو (=all) .br .br گزینه‌های کنترل بافر برای تغییر بافرسازی پیش‌فرض PIDهای یک فیلتر استفاده می‌شوند: .br - FBT حداکثر زمان بافر PIDهای خروجی یک فیلتر را کنترل می‌کند .br - FBU حداکثر تعداد بسته‌ها را در بافر PIDهای خروجی یک فیلتر در صورت در دسترس نبودن زمان‌بندی کنترل می‌کند .br - FBD حداکثر زمان بافر PIDهای ورودی یک فیلتر رمزگشا را کنترل می‌کند، برای سایر فیلترها نادیده گرفته می‌شود .br .br اگر فیلتر دیگری پیام‌های الزامات بافر را ارسال کند، حداکثر مقدار FBT (به‌ترتیب FBD) و زمان بافر درخواستی کاربر برای زمان بافر خروجی (به‌ترتیب زمان بافر رمزگشایی) استفاده خواهد شد. .br .br گزینه‌های FBT، FBU، FBD و DBG می‌توانند تنظیم شوند: .br * به ازای هر نمونه فیلتر: fA reframer:FBU=2 .br * به ازای هر کلاس فیلتر برای اجرای جاری: --reframer@FBU=2 .br * در فایل پیکربندی GPAC در بخش مربوط به هر فیلتر: [filter@reframer]FBU=2 .br .br مقادیر پیش‌فرض توسط پارامترهای پیش‌فرض نشست -buffer-gen، buffer-units و -buffer-dec تعریف می‌شوند. .br .br .SH "فیلترهای خارجی (External filters)" .LP .br نرم‌افزار GPAC همراه با مجموعه‌ای از فیلترهای توکار در libgpac ارائه می‌شود. همچنین ممکن است فیلترهای خارجی را در کتابخانه‌های پویا، واقع در پوشه پیش‌فرض ماژول‌ها یا پوشه‌های فهرست‌شده در گزینه .I \-mod-dirs بارگیری کند. فایل‌ها باید با gf_* نام‌گذاری شوند و یک تابع منفرد به نام RegisterFilter را صادر نمایند که یک ثبت فیلتر (filter register) را بازمی‌گرداند - برای جزئیات بیشتر به مستندات libgpac مراجعه کنید. .br .SH "ویژگی‌های توکار GPAC (GPAC Built-in properties)" .LP .br انواع ویژگی‌های توکار .br .TP .B sint .br عدد صحیح ۳۲ بیتی علامت‌دار .br .TP .B uint .br عدد صحیح ۳۲ بیتی بدون علامت .br .TP .B lsint .br عدد صحیح ۶۴ بیتی علامت‌دار .br .TP .B luint .br عدد صحیح ۶۴ بیتی بدون علامت .br .TP .B bool .br بولی (boolean) .br .TP .B frac .br کسر ۳۲/۳۲ بیتی .br .TP .B lfrac .br کسر ۶۴/۶۴ بیتی .br .TP .B flt .br عدد ممیز شناور ۳۲ بیتی .br .TP .B dbl .br عدد ممیز شناور ۶۴ بیتی .br .TP .B v2di .br بردار ۲ بعدی از اعداد صحیح ۳۲ بیتی .br .TP .B v2d .br بردار ۲ بعدی از اعداد ممیز شناور ۶۴ بیتی .br .TP .B v3di .br بردار ۳ بعدی از اعداد صحیح ۳۲ بیتی .br .TP .B v4di .br بردار ۴ بعدی از اعداد صحیح ۳۲ بیتی .br .TP .B str .br رشته UTF-8 .br .TP .B mem .br بافر داده .br .TP .B cstr .br رشته ثابت UTF-8 .br .TP .B cmem .br بافر داده ثابت .br .TP .B ptr .br اشاره‌گر ۳۲ یا ۶۴ بیتی .br .TP .B strl .br فهرست رشته‌های UTF-8 .br .TP .B uintl .br فهرست اعداد صحیح ۳۲ بیتی بدون علامت .br .TP .B sintl .br فهرست اعداد صحیح ۳۲ بیتی علامت‌دار .br .TP .B v2il .br فهرست بردارهای ۲ بعدی از اعداد صحیح ۳۲ بیتی .br .TP .B 4cc .br کد چهار نویسه‌ای (Four character code) .br .TP .B 4ccl .br فهرست کدهای چهار نویسه‌ای .br .TP .B pfmt .br قالب پیکسل خام .br .TP .B afmt .br قالب صوتی خام .br .TP .B cprm .br متغیرهای اولیه رنگ (color primaries)، مقدار رشته‌ای یا عددی صحیح از ISO/IEC 23091-2 .br .TP .B ctfc .br مشخصات تبدیل رنگ (color transfer characteristics)، مقدار رشته‌ای یا عددی صحیح از ISO/IEC 23091-2 .br .TP .B cmxc .br ضرایب ماتریس رنگ (color matrix coefficients)، مقدار رشته‌ای یا عددی صحیح از ISO/IEC 23091-2 .br .TP .B alay .br پیکربندی چینش کانال، مقدار رشته‌ای یا عددی صحیح از ISO/IEC 23091-3 .br .br ویژگی‌های توکار برای PIDها و بسته‌ها به صورت «نام (نوع FLAGS 4CC): توضیحات» فهرست شده‌اند: .br پرچم‌های FLAGS می‌توانند D (قابل صرف‌نظر کردن - راهنمای پالایه چندگانه‌ساز GSF را ببینید) و P (ویژگی بسته) باشند .br .TP .B ID (PIDI,uint, ) .br شناسه جریان (Stream ID) .br .TP .B ESID (ESID,uint,D ) .br شناسه ESID استاندارد MPEG-4 مربوط به PID .br .TP .B ItemID (ITID,uint, ) .br شناسه آیتم تصویر در HEIF، دارای همان مقدار ID .br .TP .B ItemNumber (ITIX,uint, ) .br شماره (مبتنی بر ۱) آیتم تصویر در HEIF، به ترتیب اعلان در فایل .br .TP .B TrackNumber (PIDX,uint, ) .br شماره (مبتنی بر ۱) ترک به ترتیب اعلان در فایل .br .TP .B ServiceID (PSID,uint,D ) .br شناسه سرویس والد .br .TP .B ClockID (CKID,uint,D ) .br شناسه PID مرجع ساعت .br .TP .B DependencyID (DPID,uint, ) .br شناسه لایه‌ای که به آن وابستگی وجود دارد .br .TP .B SubLayer (DPSL,bool, ) .br مشخص می‌کند که PID به جای لایه ارتقا، یک زیرلایه از جریان وابسته است .br .TP .B PlaybackMode (PBKM,uint,D ) .br حالت بازپخش پشتیبانی‌شده: .br * 0: بدون کنترل زمان .br * 1: پخش/مکث/پرش، سرعت=۱ .br * 2: پخش/مکث/پرش، سرعت>=۰ .br * 3: پخش/مکث/پرش، بازپخش معکوس .br .TP .B Scalable (SCAL,bool, ) .br جریان مقیاس‌پذیر .br .TP .B TileBase (SABT,bool, ) .br جریان پایه کاشی (Tile base stream) .br .TP .B TileID (PTID,uint, ) .br شناسه کاشی برای PIDهای hvt1/hvt2 .br .TP .B Language (LANG,cstr, ) .br کد زبان: کد ۲ یا ۳ نویسه‌ای ISO639 یا RFC 4646 .br .TP .B ServiceName (SNAM,str,D ) .br نام سرویس والد، اعلام‌شده به عنوان اطلاعات PID .br .TP .B ServiceProvider (SPRO,str,D ) .br ارائه‌دهنده سرویس والد، اعلام‌شده به عنوان اطلاعات PID .br .TP .B StreamType (PMST,uint, ) .br نوع جریان چندرسانه‌ای .br .TP .B StreamSubtype (PSST,4cc,D ) .br کد 4CC زیرنوع چندرسانه‌ای (کمکی، توالی تصویر و غیره)، منطبق با نوع گرداننده (handler) در ISOM .br .TP .B ISOMSubtype (PIST,4cc,D ) .br کد 4CC زیرنوع چندرسانه‌ای ISOM (مانند avc1 avc2...) .br .TP .B OrigStreamType (POST,uint, ) .br نوع اصلی جریان پیش از رمزگذاری .br .TP .B CodecID (POTI,uint, ) .br شناسه کدک (MPEG-4 OTI یا ISOBMFF 4CC) .br .TP .B InitialObjectDescriptor (PIOD,bool, ) .br مشخص می‌کند که PID در توصیف‌گر اولیه شیء (IOD) برای MPEG-4 تعریف شده است .br .TP .B Unframed (PFRM,bool, ) .br داده‌های چندرسانه‌ای فریم‌بندی نشده‌اند، یعنی هر بسته یک واحد دسترسی (AU) یا فریم کامل نبوده یا در قالب داخلی نمی‌باشد (مانند annexB برای avc/hevc، یا adts برای aac) .br .TP .B UnframedAU (PFRF,bool, ) .br رسانه فریم‌بندی‌نشده همچنان دارای مرزهای درست AU است: یک بسته معادل یک AU کامل است، اما ممکن است قالب بسته، قالب داخلی نباشد (مانند annexB برای avc/hevc، یا adts برای aac) .br .TP .B LATM (LATM,bool, ) .br رسانه از نوع AAC فریم‌بندی‌نشده در قالب LATM است .br .TP .B USRT (USRT,bool, ) .br رسانه از نوع SRT فریم‌بندی‌نشده است؛ سرایند درون بار مفید و با زمان شروع ۰ قرار دارد .br .TP .B Duration (PDUR,lfrac, ) .br مدت زمان رسانه .br .TP .B EstimatedDuration (EDUR,bool, ) .br مدت زمان رسانه یک مدت تخمینی بر اساس نرخ انتقال است .br .TP .B NumFrames (NFRM,uint,D ) .br تعداد فریم‌های موجود در جریان .br .TP .B FrameOffset (FRMO,uint,D ) .br اندیس نخستین فریم در جریان (مورد استفاده در گزارش‌دهی) .br .TP .B ConstantFrameSize (CFRS,uint, ) .br اندازه فریم‌ها برای جریان‌های با اندازه فریم ثابت .br .TP .B TimeshiftDepth (PTSD,frac,D ) .br عمق بافر جابه‌جایی زمانی (timeshift) .br .TP .B TimeshiftTime (PTST,dbl,D ) .br زمان در بافر جابه‌جایی زمانی بر حسب ثانیه - تغییرات از طریق اطلاعات PID اعلام می‌شوند (بدون پیکربندی مجدد) .br .TP .B TimeshiftState (PTSS,uint,D ) .br وضعیت بافر جابه‌جایی زمانی: ۰ وضعیت عادی (OK)، ۱ سرریز منفی (underflow)، ۲ سرریز مثبت (overflow) - تغییرات از طریق اطلاعات PID اعلام می‌شوند (بدون پیکربندی مجدد) .br .TP .B Timescale (TIMS,uint, ) .br مقیاس زمانی رسانه (تفاضل برچسب زمانی N معادل N/timescale ثانیه است) .br .TP .B ProfileLevel (PRPL,uint,D ) .br نشانگر مشخصه (Profile) و سطح (Level) .br .TP .B DecoderConfig (DCFG,mem, ) .br داده‌های پیکربندی رمزگشا .br .TP .B DecoderConfigEnhancement (ECFG,mem, ) .br داده‌های پیکربندی رمزگشای لایه(های) ارتقا. همچنین توسط جریان‌های متنی 3GPP/Apple برای ارائه جدول کامل توصیف نمونه مورد استفاده در SDP به کار می‌رود .br .TP .B DSISuperset (DCFS,bool, ) .br پیکربندی رمزگشا ابرمجموعه‌ای از پیکربندی قبلی رمزگشا است .br .TP .B DecoderConfigIndex (ICFG,uint, ) .br اندیس مبتنی بر ۱ پیکربندی رمزگشا برای فایل‌های رسانه‌ای پایه ISO .br .TP .B SampleRate (AUSR,uint, ) .br نرخ نمونه‌برداری صوتی .br .TP .B SamplesPerFrame (FRMS,uint, ) .br تعداد نمونه‌های صوتی در یک فریم کدگذاری‌شده .br .TP .B NumChannels (CHNB,uint, ) .br تعداد کانال‌های صوتی .br .TP .B BPS (ABPS,uint, ) .br تعداد بیت در هر نمونه در منبع فشرده‌شده .br .TP .B ChannelLayout (CHLO,luint, ) .br ماسک چینش کانال‌ها .br .TP .B AudioFormat (AFMT,afmt, ) .br قالب نمونه صوتی .br .TP .B AudioPlaybackSpeed (ASPD,dbl,D ) .br سرعت بازپخش صوت، فقط برای پیکربندی مجدد خروجی صوتی استفاده می‌شود .br .TP .B Delay (MDLY,lsint, ) .br تاخیر نمایش در مقایسه با برچسب‌های زمانی ترکیب، در مقیاس زمانی رسانه. مقدار مثبت به معنای نگه داشتن (تاخیر انداختن) جریان است. مقدار منفی به معنای رد کردن ابتدای جریان است .br .TP .B CTSShift (MDTS,uint, ) .br آفست CTS برای اعمال در صورت منفی بودن ctts .br .TP .B SkipPriming (ASKP,bool, ) .br داده‌های راه‌اندازی اولیه صوتی (priming) نباید هنگام آغاز رمزگشایی حذف شوند .br .TP .B Width (WIDT,uint, ) .br عرض بصری (ویدیو / متن / گرافیک) .br .TP .B Height (HEIG,uint, ) .br ارتفاع بصری (ویدیو / متن / گرافیک) .br .TP .B PixelFormat (PFMT,pfmt, ) .br قالب پیکسل .br .TP .B PixelFormatWrapped (PFMW,pfmt, ) .br قالب پیکسل زیرین جریان ویدیو در صورتی که قالب پیکسل بافت خارجی GL باشد .br .TP .B Stride (VSTY,uint, ) .br گام سطری (stride) تصویر یا صفحه Y/alpha .br .TP .B StrideUV (VSTC,uint, ) .br گام سطری (stride) صفحه UV یا صفحات U/V .br .TP .B BitDepthLuma (YBPS,uint, ) .br عمق بیت برای مولفه‌های روشنایی (luma) .br .TP .B BitDepthChroma (CBPS,uint, ) .br عمق بیت برای مولفه‌های رنگ‌پذیری (chroma) .br .TP .B FPS (VFPF,frac, ) .br نرخ فریم ویدیو .br .TP .B Interlaced (VILC,bool, ) .br ویدیو درهم‌بافته (interlaced) است .br .TP .B SAR (PSAR,frac, ) .br نسبت ابعاد نمونه (یعنی پیکسل) (مقادیر منفی به معنای نبود SAR و حذف اطلاعات در ظرف‌ها است) .br .TP .B MaxWidth (MWID,uint, ) .br حداکثر عرض (ویدیو / متن / گرافیک) تمامی لایه‌های ارتقا .br .TP .B MaxHeight (MHEI,uint, ) .br حداکثر ارتفاع (ویدیو / متن / گرافیک) تمامی لایه‌های ارتقا .br .TP .B ZOrder (VZIX,sint, ) .br ترتیب عمق (Z-order) ویدیو، از ۰ (اولین) تا بیشینه عدد صحیح (آخرین) .br .TP .B TransX (VTRX,sint, ) .br انتقال افقی ویدیو (مقادیر مثبت به سمت راست) .br .TP .B TransY (VTRY,sint, ) .br انتقال عمودی ویدیو (مقادیر مثبت به سمت بالا) .br .TP .B TransXRight (VTRx,sint, ) .br آفست افقی ویدیو از سمت راست (مقادیر مثبت به سمت راست)، برای مواردی که عرض مرجع ناشناخته است .br .TP .B TransYTop (VTRy,sint, ) .br انتقال عمودی ویدیو (۰ بالا است، مقادیر مثبت به سمت پایین)، برای مواردی که ارتفاع مرجع ناشناخته است .br .TP .B Hidden (HIDE,bool, ) .br مشخص می‌کند که PID در رندر بصری/صوتی پنهان است .br .TP .B CropOrigin (VCXY,v2di, ) .br موقعیت در پنجره منبع، X و Y نشان‌دهنده مختصات در منبع هستند (0,0 برای بالا-چپ) .br .TP .B OriginalSize (VOWH,v2di, ) .br تفکیک‌پذیری اصلی ویدیو .br .TP .B SRD (SRDI,v4di, ) .br موقعیت و اندازه ویدیو در دستگاه مرجع ارائه‌شده توسط SRDRef .br .TP .B SRDRef (SRDR,v2di, ) .br عرض و ارتفاع دستگاه مرجع SRD .br .TP .B SRDMap (SRDM,uintl, ) .br نگاشت ویدیوهای ورودی در ویدیوی بازسازی‌شده، بیان‌شده به صورت {Ox,Oy,Ow,Oh,Dx,Dy,Dw,Dh} به ازای هر ورودی، با: .br * Ox,Oy,Ow,Oh: موقعیت و اندازه ویدیوی ورودی (معمولاً منطبق با ویژگی SRD آن)، بیان‌شده در دستگاه مرجع خروجی ارائه‌شده توسط SRDRef .br * Dx,Dy,Dw,Dh: موقعیت و اندازه ویدیوی ورودی در خروجی بازسازی‌شده، بیان‌شده در دستگاه مرجع خروجی ارائه‌شده توسط SRDRef .br .TP .B Alpha (VALP,bool, ) .br ویدیو در این PID یک نگاشت آلفا (alpha map) است .br .TP .B Mirror (VMIR,uint, ) .br حالت آینه‌ای (به صورت ماسک بیتی با پرچم‌های ۰: بدون آینه، ۱: در راستای محور Y، ۲: در راستای محور X) .br .TP .B Rotate (VROT,uint, ) .br چرخش ویدیو به صورت value*90 درجه پادساعتگرد .br .TP .B ClapW (CLPW,frac, ) .br عرض روزنه تمیز (clean aperture) بر حسب پیکسل‌های روشنایی (luma) .br .TP .B ClapH (CLPH,frac, ) .br ارتفاع روزنه تمیز بر حسب پیکسل‌های روشنایی .br .TP .B ClapX (CLPX,frac, ) .br آفست افقی مرکز روزنه تمیز بر حسب پیکسل‌های روشنایی، ۰ در مرکز تصویر .br .TP .B ClapY (CLPY,frac, ) .br آفست عمودی مرکز روزنه تمیز بر حسب پیکسل‌های روشنایی، ۰ در مرکز تصویر .br .TP .B NumViews (PNBV,uint, ) .br تعداد نماهای بسته‌بندی‌شده در یک فریم (فقط بالا به پایین) .br .TP .B Bitrate (RATE,uint, ) .br نرخ بیت بر حسب bps .br .TP .B Maxrate (MRAT,uint, ) .br حداکثر نرخ بیت بر حسب bps .br .TP .B TargetRate (TBRT,uint, ) .br نرخ بیت هدف بر حسب bps، برای تنظیم رمزگذارها .br .TP .B DBSize (DBSZ,uint, ) .br اندازه بافر رمزگشایی بر حسب بایت .br .TP .B MediaDataSize (MDSZ,luint,D ) .br اندازه داده‌های رسانه بر حسب بایت .br .TP .B DataRef (DREF,bool,D ) .br امکان ارجاع مستقیم به داده وجود دارد (هر فریم فشرده‌شده مجموعه‌ای پیوسته از بایت‌ها در منبع بدون هیچ تبدیلی است) .br .TP .B URL (FURL,str,D ) .br نشانی URL منبع .br .TP .B RemoteURL (RURL,str,D ) .br نشانی URL دوردست منبع - مورد استفاده در سیستم‌های MPEG-4 .br .TP .B RedirectURL (RELO,str,D ) .br نشانی URL تغییر مسیر منبع .br .TP .B SourcePath (FSRC,str,D ) .br مسیر فایل منبع در فایل‌سیستم .br .TP .B FileAlias (FALI,str,D ) .br نام مستعار برای فایل منبع، جایگزین $URL$ و $File$ در الگوها .br .TP .B MIMEType (MIME,str,D ) .br نوع MIME منبع .br .TP .B Extension (FEXT,str,D ) .br پسوند فایل منبع .br .TP .B Cached (CACH,bool,D ) .br فایل به طور کامل در حافظه نهان (کش) ذخیره شده است .br .TP .B DownloadRate (DLBW,uint,D ) .br نرخ بارگیری منبع بر حسب بیت بر ثانیه - تغییرات از طریق اطلاعات PID اعلام می‌شوند (بدون پیکربندی مجدد) .br .TP .B DownloadSize (DLSZ,luint,D ) .br اندازه منبع بر حسب بایت .br .TP .B DownBytes (DLBD,luint,D ) .br تعداد بایت‌های بارگیری‌شده - تغییرات از طریق اطلاعات PID اعلام می‌شوند (بدون پیکربندی مجدد) .br .TP .B ByteRange (FBRA,lfrac,D ) .br محدوده بایتی منبع .br .TP .B DisableProgressive (NPRG,uint, ) .br برخی بلوک‌ها در فایل هنگام بستن نیاز به وصله‌زنی (جایگزینی یا درج) دارند که احتمالاً بارگذاری تدریجی را غیرفعال می‌کند .br .TP .B IsoAltBrands (ABRD,4ccl,D ) .br برندهای ISOBMFF مرتبط با PID/فایل .br .TP .B IsoBrand (MBRD,4cc,D ) .br برند اصلی ساختار ISOBMFF مرتبط با PID/فایل .br .TP .B MovieTime (MHTS,lfrac,D ) .br مدت زمان و مقیاس زمانی سرایند فیلم در ISOBMFF .br .TP .B HasSync (PSYN,bool,D ) .br مشخص می‌کند که PID دارای نقاط همگام‌سازی است .br .TP .B ServiceWidth (DWDT,uint,D ) .br عرض نمایشی سرویس .br .TP .B ServiceHeight (DHGT,uint,D ) .br ارتفاع نمایشی سرویس .br .TP .B IsDefault (PDEF,bool,D ) .br شناسه PID پیش‌فرض برای این نوع جریان .br .TP .B CarouselRate (CARA,uint,D ) .br نرخ تکرار بر حسب میلی‌ثانیه برای داده‌های گردشی (carousel) سیستم .br .TP .B AudioVolume (AVOL,uint,D ) .br بلندی صدای صوت .br .TP .B AudioPan (APAN,uint,D ) .br توازن صوتی (Balance/Pan) .br .TP .B AudioPriority (APRI,uint,D ) .br اولویت ریسه صوتی .br .TP .B ProtectionScheme (SCHT,4cc, ) .br نوع طرح محافظت (4CC) مورد استفاده .br .TP .B SchemeVersion (SCHV,uint, ) .br نسخه طرح محافظت مورد استفاده .br .TP .B SchemeURI (SCHU,str, ) .br شناسه URI طرح محافظت .br .TP .B KMS_URI (KMSU,str, ) .br شناسه URI برای سیستم مدیریت کلید (KMS) .br .TP .B SelectiveEncryption (ISSE,bool, ) .br از رمزگذاری انتخابی ISMA/OMA استفاده شده است .br .TP .B IVLength (ISIV,uint, ) .br اندازه بردار مقداردهی اولیه (IV) در ISMA .br .TP .B KILength (ISKI,uint, ) .br اندازه KeyIndication در ISMA .br .TP .B CryptType (OMCT,uint, ) .br نوع رمزگذاری OMA .br .TP .B ContentID (OMID,str, ) .br شناسه محتوای OMA (محتوای Content ID) .br .TP .B TextualHeaders (OMTH,str, ) .br سرایندهای متنی OMA .br .TP .B PlaintextLen (OMPT,luint, ) .br اندازه داده‌های متن‌ساده در OMA .br .TP .B CryptInfo (ECRI,str,D ) .br نشانی URL (فقط فایل محلی) فایل اطلاعات رمزگذاری برای این PID، برای اجبار به عبور مستقیم از clear استفاده کنید .br .TP .B DecryptInfo (EDRI,str,D ) .br نشانی URL (فقط فایل محلی) فایل اطلاعات رمزگشایی برای این PID - راهنمای رمزگشا را ببینید .br .TP .B SenderNTP (NTPS,luint,DP) .br برچسب زمانی ۶۴ بیتی NTP در سمت فرستنده یا گیرنده داده .br .TP .B ReceiverNTP (NTPR,luint,DP) .br مقدار NTP گیرنده (برچسب زمانی ۶۴ بیتی) که معمولاً با ویژگی NTP فرستنده همراه است .br .TP .B UTC (UTCD,luint,DP) .br برچسب زمانی UTC (بر حسب میلی‌ثانیه) مربوط به بسته والد .br .TP .B Encrypted (EPCK,bool, ) .br بسته‌های این جریان به صورت پیش‌فرض رمزگذاری شده‌اند (با این حال وضعیت رمزگذاری در پرچم‌های crypt بسته مشخص می‌شود) - تغییرات از طریق اطلاعات PID اعلام می‌شوند (بدون پیکربندی مجدد) .br .TP .B OMAPreview (ODPR,luint, ) .br محدوده پیش‌نمایش OMA .br .TP .B CENC_PSSH (PSSH,mem, ) .br داده باینری PSSH برای CENC، قالب‌بندی‌شده به صورت: .br (u32)NbSystems [ (bin128)SystemID(u32)version(u32)KID_count[ (bin128)keyID ] (u32)priv_size(char*priv_size)priv_data] .br .TP .B CENC_SAI (SAIS,mem, P) .br داده CENC SAI برای بسته، قالب‌بندی‌شده به صورت: .br (char(IV_Size))IV(u16)NbSubSamples [(u16)ClearBytes(u32)CryptedBytes] .br .TP .B KeyInfo (CBIV,mem, ) .br اطلاعات چندکلیدی قالب‌بندی‌شده به صورت: .br is_mkey(u8); .br nb_keys(u16); .br [ .br IV_size(u8); .br KID(bin128); .br if (!IV_size) {; .br const_IV_size(u8); .br constIV(const_IV_size); .br } .br ] .br .br .TP .B CENCPattern (CPTR,frac, ) .br الگوی رمزگذاری CENC؛ پرش به اندازه frac.num و رمزگذاری به اندازه frac.den .br .TP .B CENCStore (CSTR,4cc, ) .br محل ذخیره‌سازی 4CC برای داده‌های SAI .br .TP .B CENCstsdMode (CSTM,uint, ) .br حالت توصیف نمونه CENC هنگام استفاده از نمونه‌های شفاف: .br * 0: از یک توصیف نمونه واحد استفاده می‌شود .br * 1: یک همزاد شفاف از توصیف نمونه ایجاد شده و پیش از توصیف نمونه CENC درج می‌شود .br * 2: یک همزاد شفاف از توصیف نمونه ایجاد شده و پس از توصیف نمونه CENC درج می‌شود .br .TP .B AMRModeSet (AMST,uint, ) .br مجموعه حالت (ModeSet) برای AMR و AMR-WideBand .br .TP .B SubSampleInfo (SUBS,mem, P) .br داده باینری توصیف‌کننده N زیرنمونه (subsample) از نمونه، با ساختار N [(u32)flags(u32)size(u32)codec_param(u8)priority(u8) discardable]. زیرنمونه‌ها برای یک پرچم مشخص باید به ترتیب قرار گیرند، اما پرچم‌ها می‌توانند درهم‌تنیده (interleaved) باشند .br .TP .B NALUMaxSize (NALS,uint, ) .br حداکثر اندازه واحدهای NAL در استریم \- تغییرات از طریق اعلام تغییر اطلاعات PID مشخص می‌شوند (بدون پیکربندی مجدد) .br .TP .B FileNumber (FNUM,uint, P) .br اندیس پرونده هنگام ذخیره‌سازی در پرونده‌ها .br .TP .B FileName (FNAM,str, P) .br نام پرونده خروجی هنگام ذخیره‌سازی / قطعه‌بندی DASH. باید روی اولین بسته متعلق به پرونده جدید تنظیم شود .br .TP .B IDXName (INAM,str, P) .br نام پرونده نمایه هنگام قطعه‌بندی MPEG-2 TS برای DASH. باید روی اولین بسته متعلق به پرونده جدید تنظیم شود .br .TP .B FileSuffix (FSUF,str, P) .br نام پسوند پرونده، جایگزین برای $FS$ در الگوهای کاشی (tile templates) .br .TP .B EODS (EODS,bool, P) .br پایان قطعه DASH .br .TP .B CueStart (PCUS,bool, P) .br روی بسته‌هایی تنظیم می‌شود که شروع یک قطعه DASH/HLS را برای قطعه‌بندی مبتنی بر کیو (cue-driven) مشخص می‌کنند \- راهنمای dasher را ببینید .br .TP .B MediaTime (MTIM,dbl,DP) .br زمان رسانه‌ای متناظر بسته والد (۰ به عنوان مبدأ) .br .TP .B MaxFrameSize (MFRS,uint,D ) .br حداکثر اندازه فریم در استریم \- تغییرات از طریق اعلام تغییر اطلاعات PID مشخص می‌شوند (بدون پیکربندی مجدد) .br .TP .B AvgFrameSize (AFRS,uint,D ) .br اندازه میانگین فریم در استریم (فقط ISOBMFF، ویژگی ایستا) .br .TP .B MaxTSDelta (MTSD,uint,D ) .br حداکثر دلتای DTS بین فریم‌ها (فقط ISOBMFF، ویژگی ایستا) .br .TP .B MaxCTSOffset (MCTO,uint,D ) .br حداکثر آفست مطلق CTS (فقط ISOBMFF، ویژگی ایستا) .br .TP .B ConstantDuration (SCTD,uint,D ) .br مدت‌زمان ثابت نمونه‌ها، ۰ به معنای مدت‌زمان متغیر است (فقط ISOBMFF، ویژگی ایستا) .br .TP .B TrackTemplate (ITKT,mem,D ) .br باکس ترک سریالایزشده ISOBMFF برای این PID، بدون هیچ اطلاعات نمونه‌ای (stbl خالی و dref خالی) .br .TP .B TrexTemplate (ITXT,mem,D ) .br باکس trex سریالایزشده ISOBMFF برای این PID .br .TP .B STSDTemplate (ISTD,mem,D ) .br مدخل توصیف نمونه سریالایزشده ISOBMFF برای این PID .br .TP .B MovieUserData (IMUD,mem,D ) .br باکس‌های UDTA و دیگر باکس‌های سطح moov سریالایزشده ISOBMFF (فهرست) برای این PID .br .TP .B HandlerName (IHDL,str,D ) .br نام گرداننده (handler) ترک در ISOBMFF .br .TP .B TrackFlags (ITKF,uint,D ) .br پرچم‌های سرآیند ترک در ISOBMFF .br .TP .B TrackMatrix (ITKM,sintl,D ) .br ماتریس سرآیند ترک در ISOBMFF .br .TP .B AltGroup (IALG,uint,D ) .br شناسه گروه جایگزین (alt group) در ISOBMFF .br .TP .B ForceNCTTS (IFNC,bool,D ) .br اجبار به استفاده از آفست‌های منفی CTS در ISOBMFF .br .TP .B Disable (ITKD,bool,D ) .br پرچم غیرفعال‌سازی در ISOBMFF .br .TP .B Period (PEID,str,D ) .br شناسه دوره (Period) در DASH .br .TP .B PStart (PEST,lfrac,D ) .br زمان شروع دوره DASH \- راهنمای dasher را ببینید .br .TP .B PDur (PEDU,lfrac,D ) .br مدت‌زمان دوره DASH \- راهنمای dasher را ببینید .br .TP .B Representation (DRID,str,D ) .br شناسه بازنمایی (Representation) در DASH .br .TP .B ASID (DAID,uint,D ) .br شناسه مجموعه انطباق (Adaptation Set) والد در DASH .br .TP .B SSR (SSRR,sint,D ) .br شناسه مجموعه انطباق (Adaptation Set): .br * همان مقدار ASID: حالت SSR معمولی که برای جابه‌جایی بین مجموعه‌ها (cross-AS switching) استفاده نمی‌شود .br * شناسه یک مجموعه انطباق دیگر: فعال‌سازی جابه‌جایی بین این مجموعه و مجموعه ارجاع‌شده .br * مقدار منفی: حالت سازگاری با LL-HLS .br .TP .B ASQuery (ASQR,str,D ) .br رشته پرس‌وجو برای افزودن به این مجموعه انطباق هنگام درخواست قطعات .br .TP .B MuxSrc (MSRC,str,D ) .br نام منبع (منابع) مالتی‌پلاکس، تنظیم‌شده توسط dasher برای هدایت خروجی‌های خود .br .TP .B DashMode (DMOD,uint,D ) .br حالت DASH مورد استفاده توسط مالتی‌پلکسر در صورت وجود، تنظیم‌شده توسط dasher. مقدار ۰ بدون DASH، مقدار ۱ DASH معمولی و مقدار ۲ VoD است .br .TP .B InitBase64 (IB64,bool,D ) .br مشخص می‌کند مالتی‌پلکسر باید نسخه کدگذاری‌شده base64 قطعه آغازین را ارسال کند .br .TP .B SegSync (DFSS,bool,D ) .br مشخص می‌کند قطعه پیش از ارسال رویدادهای اندازه قطعه/فرگمنت باید به طور کامل تخلیه (flush) شود .br .TP .B DashDur (DDUR,frac,D ) .br مدت‌زمان هدف قطعه DASH بر حسب ثانیه .br .TP .B FragDur (FDUR,frac,D ) .br مدت‌زمان هدف فرگمنت DASH بر حسب ثانیه .br .TP .B DashMultiPid (DMSD,ptr,D ) .br اشاره‌گر به GF_List مربوط به PIDهای ورودی برای قطعات دارای چندین مدخل stsd، تنظیم‌شده توسط dasher .br .TP .B DashMultiPidIdx (DMSI,uint,D ) .br اندیس مبتنی بر ۱ مربوط به PID در فهرست چند PID، تنظیم‌شده توسط dasher .br .TP .B DashMultiTrack (DMTK,ptr,D ) .br اشاره‌گر به GF_List مربوط به PIDهای ورودی برای قطعات چندترکه، تنظیم‌شده توسط dasher .br .TP .B Role (ROLE,strl,D ) .br فهرست نقش‌های این PID، که در آن هر رشته نقش می‌تواند یک نقش DASH، یک مقدار URN:role-value یا هر رشته دیگری باشد (این حالت هشداری صادر کرده و از یک URI سفارشی برای نقش استفاده می‌کند) .br .TP .B PDesc (PDES,strl,D ) .br فهرست توصیف‌گرها برای دوره DASH شامل این PID .br .TP .B ASDesc (ACDS,strl,D ) .br فهرست توصیف‌گرهای شرطی برای مجموعه انطباق DASH شامل این PID. اگر یک PID با همان نوع ویژگی اما با مقدار متفاوت یافت شود، PIDها در مجموعه‌های انطباق متفاوتی قرار خواهند گرفت .br .TP .B ASCDesc (AADS,strl,D ) .br فهرست توصیف‌گرهای مشترک برای مجموعه انطباق DASH شامل این PID .br .TP .B RDesc (RDES,strl,D ) .br فهرست توصیف‌گرها برای بازنمایی DASH شامل این PID .br .TP .B BUrl (BURL,strl,D ) .br فهرست نشانی‌های وب پایه (Base URLs) برای این PID .br .TP .B Template (DTPL,str, ) .br الگوی مورد استفاده برای تولید DASH برای این PID .br .TP .B StartNumber (DRSN,uint, ) .br شماره شروع برای استفاده در این PID \- راهنمای dasher را ببینید .br .TP .B xlink (XLNK,str,D ) .br نشانی URL دوره دوردست برای DASH \- راهنمای dasher را ببینید .br .TP .B ClampDur (DCMD,lfrac,D ) .br حداکثر مدت‌زمان رسانه برای پردازش از PID در حالت DASH .br .TP .B HLSPL (HLVP,str,D ) .br نام لیست‌پخش متغیر (variant playlist) در HLS برای این رسانه .br .TP .B HLSGroup (HLGI,str,D ) .br نام گروه HLS یک استریم .br .TP .B HLSRend (HLGR,strl,D ) .br فهرست گروه‌های HLS مجاز در رندر گروهی \- در صورت عدم تنظیم، همه گروه‌ها مجاز هستند .br .TP .B HLSForce (HLFI,str,D ) .br اجبار به نوشتن EXT-X-STREAM-INF در صورتی که استریم در یک گروه رندر باشد؛ مقدار، نام گروه‌های مرتبط است (می‌تواند خالی باشد) .br .TP .B HLSMExt (HLMX,strl,D ) .br فهرست پسوندهای الحاقی برای افزودن به لیست‌پخش اصلی (master playlist) برای این PID .br .TP .B HLSVExt (HLVX,strl,D ) .br فهرست پسوندهای الحاقی برای افزودن به لیست‌پخش متغیر (variant playlist) برای این PID .br .TP .B DCue (DCUE,str,D ) .br نام یک پرونده فهرست کیو (cue list) برای این PID \- راهنمای dasher را ببینید .br .TP .B DSegs (DCNS,uint,D ) .br تعداد قطعات DASH تعریف‌شده توسط اطلاعات کیو در DASH .br .TP .B Codec (CODS,str,D ) .br رشته پارامتر کدک جهت تحمیل. اگر با '.' شروع شود، به کدپوینت ISOBMFF الحاق می‌گردد؛ در غیر این صورت جایگزین رشته کدک می‌شود .br .TP .B SingleScale (DSTS,bool,D ) .br سرآیند ویدیو (Movie header) باید از مقیاس زمانی رسانه‌ایِ اولین ترک اضافه‌شده استفاده کند .br .TP .B RequireReorder (PUDP,bool,D ) .br بسته‌های PID از منبعی همراه با تلفات بسته و تغییر ترتیب دریافت می‌شوند (UDP) .br .TP .B Primary (PITM,bool,D ) .br آیتم اصلی (Primary item) در ISOBMFF .br .TP .B DFMode (DFWD,uint,D ) .br حالت هدایت DASH (forward mode) برای این PID استفاده می‌شود. اگر مقدار ۲ باشد، مانیفست نیز در ویژگی بسته حمل می‌شود .br .TP .B DFManifest (DMPD,str,DP) .br مقدار مانیفست در حالت هدایت (forward mode) .br .TP .B DFVariant (DHLV,strl,DP) .br مقدار لیست‌پخش متغیر در حالت هدایت (forward mode) .br .TP .B DFVariantName (DHLN,strl,DP) .br مقدار نام لیست‌پخش متغیر در حالت هدایت (forward mode) .br .TP .B DFPStart (DPST,luint,D ) .br مقدار زمان شروع دوره فعال بر حسب میلی‌ثانیه در حالت هدایت (forward mode) .br .TP .B DFPckPStart (PDPS,bool,DP) .br مشخص‌کننده شروع دوره جدید (فقط روی اولین بسته‌های دوره‌های غیر از دوره اول تنظیم می‌شود) .br .TP .B HLSKey (HLSK,str, ) .br شناسه‌های URI، KEYFORMAT و KEYFORMATVERSIONS برای ایجاد رمزگذاری کامل قطعه HLS، در غیر این صورت نشانی کلید (Key URI) (رمزگشایی و sample-AES) .br .TP .B HLSIV (HLSI,mem, ) .br بردار مقداردهی اولیه (Init Vector) برای رمزگشایی HLS .br .TP .B CKUrl (CCKU,str, ) .br نشانی وب (URL) برای سرور مجوز ClearKey .br .TP .B ColorPrimaries (CPRM,cprm,D ) .br رنگ‌های پایه (Color primaries) .br .TP .B ColorTransfer (CTRC,ctfc,D ) .br ویژگی‌های انتقال رنگ (Color transfer) .br .TP .B ColorTransferAlternative (CATC,ctfc,D ) .br ویژگی‌های جایگزین انتقال رنگ .br .TP .B ColorMatrix (CMXC,cmxc,D ) .br ضریب ماتریس رنگ .br .TP .B FullRange (CFRA,bool,D ) .br پرچم دامنه کامل رنگ (Full range) .br .TP .B Chroma (CFMT,uint,D ) .br قالب کروما (کرومافرمت، استانداردهای ISO/IEC 23001-8 / 23091-2 را ببینید) .br .TP .B ChromaLoc (CLOC,uint,D ) .br موقعیت کروما (استانداردهای ISO/IEC 23001-8 / 23091-2 را ببینید) .br .TP .B ContentLightLevel (CLLI,mem,D ) .br سطح روشنایی محتوا، بارداده باکس clli (استاندارد ISO/IEC 14496-12 را ببینید)، می‌تواند به صورت فهرستی از ۲ عدد صحیح در تعریف فرگمنت تنظیم شود (مانند "=max_cll,max_pic_avg_ll") .br .TP .B MasterDisplayColour (MDCV,mem,D ) .br اطلاعات رنگ نمایشگر مرجع، بارداده باکس mdcv (استاندارد ISO/IEC 14496-12 را ببینید)، می‌تواند به صورت فهرستی از ۱۰ عدد صحیح در تعریف فرگمنت تنظیم شود (مانند "=dpx0,dpy0,dpx1,dpy1,dpx2,dpy2,wpx,wpy,max,min") .br .TP .B ICC (ICCP,mem,D ) .br پروفایل ICC (استاندارد ISO 15076-1 یا ICC.1 را ببینید) .br .TP .B SrcMagic (PSMG,luint,D ) .br عدد جادویی برای ذخیره در ترک، فقط توسط واردکننده‌ها (importers) استفاده می‌شود .br .TP .B MuxIndex (TIDX,uint,D ) .br اندیس ترک هدف در پرونده مقصد، ذخیره‌شده به ترتیب از کمترین مقدار (توسط دی‌مالتی‌پلکسرها تنظیم نمی‌شود) .br .TP .B NoTSLoop (NTSL,bool, ) .br برچسب‌های زمانی روی این PID در صورت تکرار حلقه تنظیم می‌شوند (مورد استفاده در خروجی مالتی‌پلکسر TS) .br .TP .B MHAProfiles (MHCP,uintl,D ) .br فهرست پروفایل‌های سازگار برای این شیء صوتی MPEG-H Audio .br .TP .B FragStart (PFRB,uint,DP) .br بسته نشان‌دهنده شروع فرگمنت (مقدار ۱) یا شروع قطعه (مقدار ۲) است .br .TP .B FragRange (PFRR,lfrac,DP) .br موقعیت شروع و پایان فرگمنت بر حسب بایت، در صورتی که بسته شروع فرگمنت یا قطعه باشد .br .TP .B FragTFDT (PFRT,luint,DP) .br زمان رمزگشایی اولین بسته در فرگمنت .br .TP .B SIDXRange (PFSR,lfrac,DP) .br موقعیت شروع و پایان sidx بر حسب بایت در قطعه در صورت وجود .br .TP .B VODSIDXRange (PRSR,lfrac,D ) .br موقعیت شروع و پایان sidx ریشه بر حسب بایت .br .TP .B MoofTemplate (MFTP,mem,DP) .br باکس moof سریالایزشده متناظر با شروع یک فرگمنت یا قطعه فیلم (همراه با styp و اختیاری sidx) .br .TP .B InitSeg (PCKI,bool, P) .br در صورتی که بسته یک پرونده کامل قطعه آغازین (init segment) در DASH باشد، روی true تنظیم می‌شود .br .TP .B RawGrab (PGRB,uint,D ) .br مشخص می‌کند PID یک دریافت‌کننده رسانه خام (وب‌کم، میکروفون و غیره) است. مقدار ۲ برای دوربین جلو استفاده می‌شود .br .TP .B KeepAfterEOS (PKAE,bool,D ) .br شناسه PID باید پس از پایان استریم (EOS) زنده نگه داشته شود (LASeR و BIFS) .br .TP .B CoverArt (PCOV,mem,D ) .br داده‌های تصویر کاور مربوط به PID. اگر داده مرتبط NULL باشد، داده درون PID حمل می‌شود .br .TP .B BufferLength (PBPL,uint,D ) .br بافر پخش (playout buffer) بر حسب میلی‌ثانیه .br .TP .B MaxBuffer (PBMX,uint,D ) .br حداکثر اشغال بافر بر حسب میلی‌ثانیه .br .TP .B ReBuffer (PBRE,uint,D ) .br آستانه بافر مجدد (Rebuffer) بر حسب میلی‌ثانیه، مقدار ۰ بافر مجدد را غیرفعال می‌کند .br .TP .B ViewIdx (VIDX,uint,D ) .br اندیس نما برای چندنمایی (multiview) (مقدار ۱ نمای چپ است) .br .TP .B FragURL (OFRA,str,D ) .br نشانی وب فرگمنت (بدون '#') از نشانی اصلی (مورد استفاده توسط برخی فیلترها جهت تنظیم ویژگی روی PIDهای رسانه‌ای) .br .TP .B MCASTIP (MSIP,str,D ) .br نشانی IP چندپخشی (Multicast) نشست برای ROUTE/MABR .br .TP .B MCASTPort (MSPN,uint,D ) .br شماره درگاه (Port) نشست برای ROUTE/MABR .br .TP .B MCASTName (MSFN,str,D ) .br نام (مکان) پرونده خام برای اعلان در نشست ROUTE/MABR .br .TP .B MCASTCarousel (MSCR,frac,D ) .br دوره کاروسل (Carousel) بر حسب ثانیه برای پرونده خام یا مانیفست/قطعات آغازین با تاخیر کم در نشست‌های ROUTE/MABR .br .TP .B MCASTUpload (MSST,frac,D ) .br زمان بارگذاری (آپلود) بر حسب ثانیه برای پرونده‌های خام در نشست‌های ROUTE/MABR .br .TP .B Stereo (PSTT,uint,D ) .br نوع استریو در ویدیو .br .TP .B Projection (PPJT,uint,D ) .br نوع تصویرنگاشت (Projection) ویدیو .br .TP .B InitialPose (PPOS,v3di,D ) .br حالت اولیه برای ویدیوی ۳۶۰ درجه، بر حسب درجه به صورت ۱۶.۱۶ بیت (x زاویه yaw، y زاویه pitch و z زاویه roll است) .br .TP .B CMPad (PCMP,uint,D ) .br تعداد پیکسل‌های پدینگ از لبه هر وجه در نگاشت مکعبی (cube map) .br .TP .B EQRClamp (PEQC,v4di,D ) .br محدودسازی (Clamping) فریم برای EQR به صورت ممیز ثابت ۰.۳۲ (x بالا، y پایین، z چپ و w راست است) .br .TP .B SceneNode (PSND,bool, ) .br مشخص می‌کند PID یک رمزگشای گره صحنه است (AFX BitWrapper در BIFS) .br .TP .B OrigCryptoScheme (POCS,4cc, ) .br طرح رمزنگاری اولیه روی یک PID رمزگشایی‌شده .br .TP .B TSBSegs (PTSN,uint,D ) .br تغییر زمانی بر حسب تعداد قطعات برای استریم‌های HAS، فقط توسط فیلترهای dashin و dasher تنظیم می‌شود .br .TP .B IsManifest (PHSM,uint,D ) .br مشخص می‌کند PID یک مانیفست HAS است (بیت ۹ در صورت پخش زنده روی ۱ تنظیم می‌شود)، مقدار ۸ بیت پایین می‌تواند مقادیر زیر باشد: .br * 0: مانیفست نیست .br * 1: مانیفست DASH .br * 2: مانیفست HLS .br * 3: مانیفست GHI(X) .br .TP .B Sparse (PSPA,bool,D ) .br شناسه PID احتمالا دارای فواصل زمانی خالی بین بسته‌ها است (پراکنده / Sparse) .br .TP .B CharSet (PCHS,str,D ) .br مجموعه نویسه‌ها برای PID متنی ورودی .br .TP .B ForcedSub (PFCS,uint,D ) .br زیرنویس اجباری (Forced sub) برای PID: .br * 0: اجباری نیست .br * 1: برخی فریم‌ها اجباری هستند .br * 2: همه فریم‌ها اجباری هستند .br .TP .B ChapTimes (CHPT,uintl,D ) .br زمان‌های شروع فصل‌ها .br .TP .B ChapNames (CHPN,strl,D ) .br نام‌های فصل‌ها .br .TP .B IsChap (PCHP,bool,D ) .br شناسه PID زیرنویس مربوط به فصل‌ها است (برای فصل‌های شبیه به QuickTime) .br .TP .B SkipBegin (PCKS,uint, P) .br میزان پرش از ابتدای بسته بر حسب مقیاس زمانی PID (هنگامی که روی PID تنظیم شود، نشان می‌دهد بسته‌های دارای پرش وجود خواهند داشت) .br .TP .B SkipPres (PCKD,bool, P) .br بسته و هر بسته پس از آن با CTS بزرگ‌تر از این بسته نباید نمایش داده شوند (توسط reframer جهت ایجاد فهرست‌های ویرایش استفاده می‌شود) .br .TP .B OriginalDuration (PCOD,frac, P) .br زمان سپری‌شده (.num) و مدت‌زمان اصلی (.den، مقدار ۰ اگر آخرین نسخه بسته باشد) برای بسته‌های زائد (redundant) .br .TP .B HasSkipBegin (PSBP,bool, ) .br مشخص می‌کند آیا PID بسته‌هایی با ویژگی SkipBegin را حمل خواهد کرد یا خیر .br .TP .B HLSRef (PHLR,luint,D ) .br ارجاع لیست‌پخش HLS، یک شناسه یکتا برای شناسایی مالتی‌پلاکس رسانه ارائه می‌دهد و در بسته‌های حامل لیست‌های پخش فرزند قید می‌شود .br .TP .B PckHLSRef (HPLR,luint,DP) .br مشابه HLSRef اما جهت انتقال پرونده ROUTE/MABR روی بسته‌ها حمل می‌شود .br .TP .B LLHAS (HLHS,uint,D ) .br حالت تاخیر کم برای DASH/HLS .br .TP .B LLHASFragNum (HLSN,uint,DP) .br شماره فرگمنت در DASH-SSR/LLHLS .br .TP .B DownloadSession (GHTT,ptr,D ) .br اشاره‌گر به نشست دانلود .br .TP .B HasTemi (PTEM,bool,D ) .br پرچم حضور TEMI .br .TP .B XPSMask (PXPM,uint,DP) .br ماسک مجموعه پارامترها .br .TP .B RangeEnd (PCER,bool, P) .br اعلام می‌کند که این بسته آخرین بسته در بازه پخش موردنظر است .br .TP .B RefID (PKID,sint, P) .br شناسه بسته برای وابستگی (معمولاً POC برای ویدیو) .br .TP .B Refs (PRFS,sintl, P) .br فهرست شناسه‌های بسته‌هایی که این بسته به آن‌ها وابسته است .br .TP .B UDTA (PUDT,ptr,DP) .br داده‌های کاربر برای بسته .br .TP .B Timecode (TCOD,mem, P) .br نخستین تایم‌کد استخراج‌شده از SEI (در صورت وجود) .br .TP .B DOVI (DOVI,mem, ) .br پیکربندی دالبی ویژن (DolbyVision) .br .TP .B OutPath (FDST,str, ) .br نام پرونده خروجی PID مورد استفاده توسط برخی فیلترها که PIDهای خام اضافی ایجاد می‌کنند .br .TP .B ACrypMeta (AMET,mem, ) .br متادیتا برای رمزگذاری Adobe .br .TP .B HasCRoll (CROL,bool, ) .br مشخص می‌کند آیا چرخش کلید در CENC استفاده می‌شود یا خیر .br .TP .B STSDAllTemplates (ISTA,mem,D ) .br باکس توصیف نمونه سریالایزشده ISOBMFF برای این PID .br .TP .B STSDTemplateIdx (ISTI,uint,D ) .br اندیس STSDAllTemplates متناظر .br .TP .B PremuxType (PPST,uint, ) .br نوع استریم اصلی PID پیش از مالتی‌پلاکس، فقط برای راه‌اندازی ROUTE/MABR استفاده می‌شود .br .TP .B CodecMerge (PCMB,uint,D ) .br مشخص می‌کند PID می‌تواند با دیگر استریم‌های دارای مقدار یکسان برای رمزگشایی واحد ادغام شود (در حال حاضر فقط HEVC) .br .TP .B RelativePath (FNRL,bool,DP) .br مشخص می‌کند نام پرونده بسته از مسیر نسبی استفاده می‌کند .br .TP .B ClearKeyID (CCKI,mem,D ) .br شناسه کلید برای طرح ClearKey .br .TP .B DashSparse (DSSG,bool,D ) .br مشخص می‌کند قطعات DASH در حالت پراکنده (sparse mode بر اساس زمینه) تولید می‌شوند .br .TP .B DashDepGroup (DGDI,uint,D ) .br شناسه گروه وابستگی DASH را مشخص می‌کند .br .TP .B SC35Ref (SC35,uint,D ) .br اطلاعات SCTE35 مربوط به این PID روی شماره PID مشخص‌شده حمل می‌شود .br .TP .B NoInit (PNIN,bool,D ) .br شناسه PID از هیچ قطعه آغازینی در DASH استفاده نمی‌کند (حالت هدایت پرونده در dasher، فقط برای ROUTE/MABR استفاده می‌شود) .br .TP .B ForceUnframe (PFUF,bool,D ) .br اجبار به ایجاد فیلتر بازنویس (فقط برای اجبار به تجزیه مجدد کدک‌های مبتنی بر NALU استفاده می‌شود) .br .TP .B MetaCodecID (MDCI,uint,D ) .br شناسه برای متارمزگذارها (FFmpeg، ...) .br .TP .B MetaCodecName (MDCN,str,D ) .br نام مورد استفاده برای متارمزگذارها (FFmpeg، ...) .br .TP .B MetaCodecOpaque (MDOP,uint,D ) .br ویژگی داخلی مورد استفاده برای داده‌های مبهم کدک در دی‌مالتی‌پلکسرهای متا (FFmpeg، ...) .br .TP .B HASSegStart (FMSS,lfrac,DP) .br زمان شروع قطعه برای زمان‌بندی ROUTE/MABR .br .TP .B SplitStart (PSPS,uint,DP) .br زمان شروع تقسیم بسته بر حسب مقیاس زمانی PID، برای دشینگ مبتنی بر نمایه .br .TP .B SplitEnd (PSPE,uint,DP) .br زمان پایان تقسیم بسته بر حسب مقیاس زمانی PID، برای دشینگ مبتنی بر نمایه .br .TP .B InitName (PINM,str,D ) .br نام قطعه آغازین هنگام دشینگ، مورد استفاده برای ROUTE/MABR .br .TP .B SegURL (SURL,str,DP) .br نشانی وب قطعه مبدأ (هنگام هدایت مرزهای فرگمنت) .br .TP .B DynPSSH (PSHP,mem, P) .br داده باینری PSSH برای CENC، با همان قالب CENC_PSSH، مورد استفاده هنگام استفاده از کلید اصلی و کلیدهای چرخشی، اعلام‌شده در اولین بسته از قطعه‌ای که PSSH در آن تغییر می‌کند .br .TP .B LLHASTemplate (PSRT,str, P) .br الگو برای زیرقطعات DASH-SSR و LLHLS .br .TP .B PartialRepair (PCPR,bool, P) .br نشان می‌دهد داده‌های مالتی‌پلاکس در داده‌های مرتبط قابل تجزیه هستند اما دارای خطا می‌باشند (فقط روی بسته‌های آسیب‌دیده تنظیم می‌شود) .br .TP .B SEILoaded (PSEI,bool,D ) .br مشخص می‌کند که PID در حال استخراج داده‌های SEI/درون‌باندی (inband) از بسته‌ها است .br .TP .B Fake (PFAK,bool,D ) .br نشان‌دهنده استریمی است که در منبع وجود دارد اما به صورت PID تحویل داده نمی‌شود .br .TP .B ContentLightLevel (CLLP,mem,DP) .br سطح روشنایی محتوا، بارداده باکس clli (استاندارد ISO/IEC 14496-12 را ببینید)، می‌تواند به صورت فهرستی از ۲ عدد صحیح در تعریف فرگمنت تنظیم شود (مانند "=max_cll,max_pic_avg_ll") .br .TP .B MasterDisplayColour (MDCP,mem,DP) .br اطلاعات رنگ نمایشگر مرجع، بارداده باکس mdcv (استاندارد ISO/IEC 14496-12 را ببینید)، می‌تواند به صورت فهرستی از ۱۰ عدد صحیح در تعریف فرگمنت تنظیم شود (مانند "=dpx0,dpy0,dpx1,dpy1,dpx2,dpy2,wpx,wpy,max,min") .br .TP .B SEILoaded (SEIP,bool,DP) .br مشخص می‌کند که بسته دارای داده‌های SEI/درون‌باندی در ویژگی‌های خود است .br .TP .B OriginalPTS (OPTS,luint,DP) .br مشخص‌کننده PTS یا PCR اصلی هنگام نگاشت مجدد M2TS PCR .br .TP .B OriginalDTS (ODTS,luint,DP) .br مشخص‌کننده DTS اصلی هنگام نگاشت مجدد M2TS PCR .br .TP .B MABRBaseURLs (MABU,strl,D ) .br نشانی‌های اختیاری برای MABR \- اگر اولین نشانی خالی باشد، سرور مبدأ به عنوان سرور ترمیم اعلان نمی‌شود .br .TP .B Forced (PCFS,bool,DP) .br مشخص می‌کند بسته یک زیرنویس اجباری است .br .TP .B TimeDiscontinuity (PDIS,uint,D ) .br مشخص‌کننده ناپیوستگی زمانی در PID \- مقدار با هر ناپیوستگی یک واحد افزایش می‌یابد .br .TP .B AmbientIlluminance (AMIL,uint,D ) .br روشنایی محیطی استخراج‌شده از استریم را مشخص می‌کند .br .TP .B AmbientLightX (AMLX,uint,D ) .br مختصات x نور محیطی استخراج‌شده از استریم را مشخص می‌کند .br .TP .B AmbientLightY (AMLY,uint,D ) .br مختصات y نور محیطی استخراج‌شده از استریم را مشخص می‌کند .br .SH "فرمت‌های پیکسل (Pixel formats)" .LP .br .TP .B yuv420 (ext *.yuv) .br فرمت YUV 420 صفحه‌ای (Planar) ۸ بیتی .br .TP .B yvu420 (ext *.yvu) .br فرمت YVU 420 صفحه‌ای (Planar) ۸ بیتی .br .TP .B yuv420_10 (ext *.yuvl) .br فرمت YUV 420 صفحه‌ای (Planar) ۱۰ بیتی .br .TP .B yuv422 (ext *.yuv2) .br فرمت YUV 422 صفحه‌ای (Planar) ۸ بیتی .br .TP .B yuv422_10 (ext *.yp2l) .br فرمت YUV 422 صفحه‌ای (Planar) ۱۰ بیتی .br .TP .B yuv444 (ext *.yuv4) .br فرمت YUV 444 صفحه‌ای (Planar) ۸ بیتی .br .TP .B yuv444_10 (ext *.yp4l) .br فرمت YUV 444 صفحه‌ای (Planar) ۱۰ بیتی .br .TP .B uyvy (ext *.uyvy) .br فرمت UYVY 422 بسته‌بندی‌شده (Packed) ۸ بیتی .br .TP .B vyuy (ext *.vyuy) .br فرمت VYUV 422 بسته‌بندی‌شده (Packed) ۸ بیتی .br .TP .B yuyv (ext *.yuyv) .br فرمت YUYV 422 بسته‌بندی‌شده (Packed) ۸ بیتی .br .TP .B yvyu (ext *.yvyu) .br فرمت YVYU 422 بسته‌بندی‌شده (Packed) ۸ بیتی .br .TP .B uyvl (ext *.uyvl) .br فرمت UYVY 422 بسته‌بندی‌شده (Packed) ۱۰ تا ۱۶ بیتی .br .TP .B vyul (ext *.vyul) .br فرمت VYUV 422 بسته‌بندی‌شده (Packed) ۱۰ تا ۱۶ بیتی .br .TP .B yuyl (ext *.yuyl) .br فرمت YUYV 422 بسته‌بندی‌شده (Packed) ۱۰ تا ۱۶ بیتی .br .TP .B yvyl (ext *.yvyl) .br فرمت YVYU 422 بسته‌بندی‌شده (Packed) ۱۰ تا ۱۶ بیتی .br .TP .B nv12 (ext *.nv12) .br فرمت YUV 420 نیمه‌صفحه‌ای (Semi-planar) ۸ بیتی، صفحه Y و صفحه بسته‌بندی‌شده UV .br .TP .B nv21 (ext *.nv21) .br فرمت YVU 420 نیمه‌صفحه‌ای (Semi-planar) ۸ بیتی، صفحه Y و صفحه بسته‌بندی‌شده VU .br .TP .B nv1l (ext *.nv1l) .br فرمت YUV 420 نیمه‌صفحه‌ای (Semi-planar) ۱۰ بیتی، صفحه Y و صفحه UV .br .TP .B nv2l (ext *.nv2l) .br فرمت YVU 420 نیمه‌صفحه‌ای (Semi-planar) ۸ بیتی، صفحه Y و صفحه VU .br .TP .B yuva (ext *.yuva) .br فرمت YUV+alpha 420 صفحه‌ای (Planar) ۸ بیتی .br .TP .B yuvd (ext *.yuvd) .br فرمت YUV+depth 420 صفحه‌ای (Planar) ۸ بیتی .br .TP .B yuv444a (ext *.yp4a) .br فرمت YUV+alpha 444 صفحه‌ای (Planar) ۸ بیتی .br .TP .B yuv444p (ext *.yv4p) .br فرمت YUV 444 بسته‌بندی‌شده (Packed) ۸ بیتی .br .TP .B v308 (ext *.v308) .br فرمت VYU 444 بسته‌بندی‌شده (Packed) ۸ بیتی .br .TP .B yuv444ap (ext *.y4ap) .br فرمت YUV+alpha 444 بسته‌بندی‌شده (Packed) ۸ بیتی .br .TP .B v408 (ext *.v408) .br فرمت UYV+alpha 444 بسته‌بندی‌شده (Packed) ۸ بیتی .br .TP .B v410 (ext *.v410) .br فرمت UYV 444 بسته‌بندی‌شده (Packed) ۱۰ بیتی لیتل‌اندین (LE) .br .TP .B v210 (ext *.v210) .br فرمت UYVY 422 بسته‌بندی‌شده (Packed) ۱۰ بیتی لیتل‌اندین (LE) .br .TP .B grey (ext *.grey) .br مقیاس خاکستری (Greyscale) ۸ بیتی .br .TP .B algr (ext *.algr) .br آلفا + خاکستری (Alpha+Grey) ۸ بیتی .br .TP .B gral (ext *.gral) .br خاکستری + آلفا (Grey+Alpha) ۸ بیتی .br .TP .B rgb8 (ext *.rgb8) .br فرمت RGB 332، ۸ بیت به ازای هر پیکسل .br .TP .B rgb4 (ext *.rgb4) .br فرمت RGB 444، ۱۲ بیت (ذخیره‌شده در ۱۶ بیت) به ازای هر پیکسل .br .TP .B rgb5 (ext *.rgb5) .br فرمت RGB 555، ۱۵ بیت (ذخیره‌شده در ۱۶ بیت) به ازای هر پیکسل .br .TP .B rgb6 (ext *.rgb6) .br فرمت RGB 555، ۱۶ بیت به ازای هر پیکسل .br .TP .B rgba (ext *.rgba) .br فرمت RGBA ۳۲ بیتی (۸ بیت به ازای هر مؤلفه) .br .TP .B argb (ext *.argb) .br فرمت ARGB ۳۲ بیتی (۸ بیت به ازای هر مؤلفه) .br .TP .B bgra (ext *.bgra) .br فرمت BGRA ۳۲ بیتی (۸ بیت به ازای هر مؤلفه) .br .TP .B abgr (ext *.abgr) .br فرمت ABGR ۳۲ بیتی (۸ بیت به ازای هر مؤلفه) .br .TP .B rgb (ext *.rgb) .br فرمت RGB ۲۴ بیتی (۸ بیت به ازای هر مؤلفه) .br .TP .B bgr (ext *.bgr) .br فرمت BGR ۲۴ بیتی (۸ بیت به ازای هر مؤلفه) .br .TP .B xrgb (ext *.xrgb) .br فرمت xRGB ۳۲ بیتی (۸ بیت به ازای هر مؤلفه) .br .TP .B rgbx (ext *.rgbx) .br فرمت RGBx ۳۲ بیتی (۸ بیت به ازای هر مؤلفه) .br .TP .B xbgr (ext *.xbgr) .br فرمت xBGR ۳۲ بیتی (۸ بیت به ازای هر مؤلفه) .br .TP .B bgrx (ext *.bgrx) .br فرمت BGRx ۳۲ بیتی (۸ بیت به ازای هر مؤلفه) .br .TP .B rgbd (ext *.rgbd) .br فرمت RGB به همراه عمق (RGB+depth) ۳۲ بیتی (۸ بیت به ازای هر مؤلفه) .br .TP .B rgbds (ext *.rgbds) .br فرمت RGB به همراه عمق و بیت شکل (۸ بیت برای هر مؤلفه RGB، عمق ۷ بیتی (بیت‌های پایین) + ۱ بیت شکل) .br .TP .B extgl (ext *.extgl) .br بافت خارجی OpenGL با فرمت نامشخص، برای استفاده با samplerExternalOES .br .br .TP .B uncv (ext *.uncv) .br فرمت فشرده‌نشده عمومی ISO/IEC 23001-17 .br .SH "فرمت‌های صوتی (Audio formats)" .LP .br .TP .B u8 (ext *.pc8) .br فرمت صوتی PCM هشت بیتی .br .TP .B s16 (ext *.pcm) .br فرمت صوتی PCM شانزده بیتی لیتل‌اندین .br .TP .B s16b (ext *.pcmb) .br فرمت صوتی PCM شانزده بیتی بیگ‌اندین .br .TP .B s24 (ext *.s24) .br فرمت صوتی PCM بیست و چهار بیتی .br .TP .B s24b (ext *.s24b) .br فرمت صوتی PCM بیست و چهار بیتی بیگ‌اندین .br .TP .B s32 (ext *.s32) .br فرمت صوتی PCM سی و دو بیتی لیتل‌اندین .br .TP .B s32b (ext *.s32b) .br فرمت صوتی PCM سی و دو بیتی بیگ‌اندین .br .TP .B flt (ext *.flt) .br فرمت صوتی PCM ممیز شناور ۳۲ بیتی .br .TP .B fltb (ext *.fltb) .br فرمت صوتی PCM ممیز شناور ۳۲ بیتی بیگ‌اندین .br .TP .B dbl (ext *.dbl) .br فرمت صوتی PCM ممیز شناور ۶۴ بیتی .br .TP .B dblb (ext *.dblb) .br فرمت صوتی PCM ممیز شناور ۶۴ بیتی بیگ‌اندین .br .TP .B u8p (ext *.pc8p) .br فرمت صوتی PCM هشت بیتی صفحه‌ای (Planar) .br .TP .B s16p (ext *.pcmp) .br فرمت صوتی PCM شانزده بیتی لیتل‌اندین صفحه‌ای (Planar) .br .TP .B s24p (ext *.s24p) .br فرمت صوتی PCM بیست و چهار بیتی صفحه‌ای (Planar) .br .TP .B s32p (ext *.s32p) .br فرمت صوتی PCM سی و دو بیتی لیتل‌اندین صفحه‌ای (Planar) .br .TP .B fltp (ext *.fltp) .br فرمت صوتی PCM ممیز شناور ۳۲ بیتی صفحه‌ای (Planar) .br .TP .B dblp (ext *.dblp) .br فرمت صوتی PCM ممیز شناور ۶۴ بیتی صفحه‌ای (Planar) .br .SH "انواع جریان (Stream types)" .LP .br .TP .B Visual .br جریان ویدیو یا تصویر .br .TP .B Audio .br جریان صوتی .br .TP .B SceneDescription .br جریان صحنه .br .TP .B Text .br جریان متن یا زیرنویس .br .TP .B Metadata .br جریان فراداده (Metadata) .br .TP .B File .br جریان فایل خام .br .TP .B Encrypted .br جریان چندرسانه‌ای رمزگذاری‌شده .br .TP .B ObjectDescriptor .br جریان توصیف‌گر شیء (ObjectDescriptor) در MPEG-4 .br .TP .B ClockReference .br جریان مرجع ساعت (Clock Reference) در MPEG-4 .br .TP .B MPEG7 .br جریان توصیف MPEG-7 .br .TP .B IPMP .br جریان مدیریت حقوق دیجیتال (IPMP/DRM) در MPEG-4 .br .TP .B OCI .br جریان اطلاعات محتوای شیء (OCI) در MPEG-4 .br .TP .B MPEGJ .br جریان جاوا (MPEGJ) در MPEG-4 .br .TP .B Interaction .br جریان حسگر تعاملی در MPEG-4 .br .TP .B Font .br جریان فونت در MPEG-4 .br .SH "کدک‌ها (Codecs)" .LP .br .TP .B bifs .br توصیف صحنه MPEG-4 BIFS نسخه ۱ .br .TP .B bifs2 .br توصیف صحنه MPEG-4 BIFS نسخه ۲ .br .TP .B bifsX .br توصیف صحنه گسترش‌یافته MPEG-4 BIFS .br .TP .B od .br توصیف‌گر شیء MPEG-4 نسخه ۱ .br .TP .B od2 .br توصیف‌گر شیء MPEG-4 نسخه ۲ .br .TP .B interact .br جریان تعاملی MPEG-4 .br .TP .B afx .br جریان MPEG-4 AFX .br .TP .B font .br جریان فونت MPEG-4 .br .TP .B syntex .br بافت ترکیبی (Synthetized Texture) در MPEG-4 .br .TP .B m4txt .br متن جریانی MPEG-4 .br .TP .B laser .br فرمت MPEG-4 LASeR .br .TP .B saf .br فرمت تجمیع ساده MPEG-4 (SAF) .br .TP .B cmp|m4ve|m4v .br ویدیوی MPEG-4 بخش ۲ (Visual part 2) .br .TP .B 264|avc|h264 .br ویدیوی MPEG-4 AVC/H264 .br .TP .B avcps .br مجموعه پارامترهای ویدیوی MPEG-4 AVC/H264 .br .TP .B svc|avc|264|h264 .br کدگذاری ویدیویی مقیاس‌پذیر MPEG-4 AVC/H264 (SVC) .br .TP .B mvc .br کدگذاری ویدیویی چندنمایی MPEG-4 AVC/H264 (MVC) .br .TP .B hvc|hevc|h265 .br ویدیوی HEVC (H.265) .br .TP .B lhvc|shvc|mhvc .br افزونه‌های لایه‌ای ویدیوی HEVC .br .TP .B m2vs .br ویدیوی MPEG-2 پروفایل ساده (Simple) .br .TP .B m2v .br ویدیوی MPEG-2 پروفایل اصلی (Main) .br .TP .B m2v|m2vsnr .br ویدیوی MPEG-2 پروفایل SNR .br .TP .B m2v|m2vspat .br ویدیوی MPEG-2 با تفکیک‌پذیری مکانی (Spatial) .br .TP .B m2v|m2vh .br ویدیوی MPEG-2 پروفایل بالا (High) .br .TP .B m2v|m2v4 .br ویدیوی MPEG-2 پروفایل 422 .br .TP .B m1v .br ویدیوی MPEG-1 .br .TP .B jpg|jpeg .br تصویر JPEG .br .TP .B png .br تصویر PNG .br .TP .B jp2|j2k .br تصویر JPEG2000 .br .TP .B aac .br صدای MPEG-4 AAC .br .TP .B aac|aac2m .br صدای MPEG-2 AAC پروفایل اصلی (Main) .br .TP .B aac|aac2l .br صدای MPEG-2 AAC با پیچیدگی کم (Low Complexity) .br .TP .B aac|aac2s .br صدای MPEG-2 AAC با نرخ نمونه‌برداری مقیاس‌پذیر (SSR) .br .TP .B mp3|m1a .br صدای MPEG-1 .br .TP .B mp2 .br صدای MPEG-2 .br .TP .B mp1 .br صدای MPEG-1 لایه ۱ .br .TP .B h263 .br ویدیوی H263 .br .TP .B h263 .br ویدیوی H263 .br .TP .B hvt1 .br ویدیوی کاشی‌های HEVC (HEVC tiles) .br .TP .B evc|evrc .br صدای گفتاری EVRC .br .TP .B smv .br صدای گفتاری SMV .br .TP .B qcp|qcelp .br صدای گفتاری QCELP .br .TP .B amr .br صدای AMR .br .TP .B amr|amrwb .br صدای پهن‌باند AMR (AMR WideBand) .br .TP .B qcp|evrcpv .br صدای EVRC (مالتی‌پلاکس PacketVideo) .br .TP .B vc1 .br ویدیوی SMPTE VC-1 .br .TP .B dirac .br ویدیوی Dirac .br .TP .B ac3 .br صدای AC3 .br .TP .B eac3 .br صدای پیشرفته AC3 (Enhanced AC3) .br .TP .B ac4 .br صدای AC4 .br .TP .B mlp .br صدای Dolby TrueHD .br .TP .B dra .br صدای DRA .br .TP .B g719 .br صدای G719 .br .TP .B dtsc .br صدای DTS Coherent Acoustics و Digital Surround .br .TP .B dtsh .br صدای DTS-HD High Resolution و DTS-Master Audio .br .TP .B dtsl .br زیرجریان DTS-HD فقط شامل XLLAudio .br .TP .B dtse .br صدای با نرخ بیت پایین DTS Express .br .TP .B dtsx .br صدای DTS-X UHD پروفایل ۲ .br .TP .B dtsy .br صدای DTS-X UHD پروفایل ۳ .br .TP .B opus .br صدای Opus .br .TP .B eti .br اطلاعات رویداد DVB (DVB Event Information) .br .TP .B svgr .br فرمت گرافیکی SVG روی پروتکل RTP .br .TP .B svgzr .br فرمت گرافیکی فشرده SVG+gz روی پروتکل RTP .br .TP .B dims .br صحنه 3GPP DIMS .br .TP .B vtt .br متن WebVTT .br .TP .B txt .br جریان متنی ساده .br .TP .B mtxt .br جریان متنی فراداده .br .TP .B mxml .br جریان XML فراداده .br .TP .B subs .br جریان متنی زیرنویس .br .TP .B subx .br جریان XML زیرنویس .br .TP .B tx3g .br جریان زیرنویس/متن 3GPP/Apple .br .TP .B ssa .br زیرنویس‌های SSA / ASS .br .TP .B theo|theora .br ویدیوی Theora .br .TP .B vorb|vorbis .br صدای Vorbis .br .TP .B opus .br صدای Opus .br .TP .B iamf .br مدل و فرمت‌های صوتی فراگیر (AOM IAMF) .br .TP .B flac .br صدای Flac .br .TP .B spx|speex .br صدای Speex .br .TP .B vobsub .br زیرنویس VobSub .br .TP .B vobsub .br زیرنویس VobSub .br .TP .B adpcm .br فرمت صوتی AD-PCM .br .TP .B csvd .br فرمت IBM CSVD .br .TP .B alaw .br فرمت صوتی ALAW .br .TP .B mulaw .br فرمت صوتی MULAW .br .TP .B okiadpcm .br فرمت OKI ADPCM .br .TP .B dviadpcm .br فرمت DVI ADPCM .br .TP .B digistd .br فرمت DIGISTD .br .TP .B yamadpcm .br فرمت YAMAHA ADPCM .br .TP .B truespeech .br صدای گفتاری DSP TrueSpeech .br .TP .B g610 .br فرمت صوتی GSM 610 .br .TP .B imulaw .br فرمت IBM MULAW .br .TP .B ialaw .br فرمت IBM ALAW .br .TP .B iadpcl .br فرمت IBM ADPCL .br .TP .B swf .br فرمت ادوبی فلش (Adobe Flash) .br .TP .B raw .br رسانه خام (Raw media) .br .TP .B uncv .br ویدیوی خام (Raw Video) .br .TP .B av1|ivf|obu|av1b .br ویدیوی AOM AV1 .br .TP .B vp8|ivf .br ویدیوی VP8 .br .TP .B vp9|ivf .br ویدیوی VP9 .br .TP .B vp10|ivf .br ویدیوی VP10 .br .TP .B avsv|avs3 .br ویدیوی AVS3 .br .TP .B avsa|avs3 .br صدای AVS3 .br .TP .B mhas .br صدای MPEG-H .br .TP .B mhas .br مالتی‌پلاکس صوتی MPEG-H (AudioMux) .br .TP .B iamf .br مدل و فرمت‌های صوتی فراگیر (AOM IAMF) .br .TP .B prores|apch .br ویدیوی ProRes 422 HQ .br .TP .B prores|apco .br ویدیوی ProRes 422 Proxy .br .TP .B prores|apcn .br ویدیوی ProRes 422 STD .br .TP .B prores|apcs .br ویدیوی ProRes 422 LT .br .TP .B prores|ap4x .br ویدیوی ProRes 4444 XQ .br .TP .B prores|ap4h .br ویدیوی ProRes 4444 .br .TP .B ffmpeg .br کدک نگاشت‌نشده در FFmpeg .br .TP .B tmcd .br کد زمانی QuickTime (QT TimeCode) .br .TP .B sc35 .br استاندارد نشانه‌گذاری SCTE35 .br .TP .B evte .br پیام‌های رویداد (Event Messages) .br .TP .B vvc|266|h266 .br ویدیوی VVC (H.266) .br .TP .B vvs1 .br ویدیوی زیرتصویر VVC (VVC Subpicture Video) .br .TP .B usac|xheaac .br صدای xHEAAC / USAC .br .TP .B ffv1 .br کدک ویدیویی FFmpeg نسخه ۱ (FFV1) .br .TP .B dvbs .br زیرنویس‌های DVB .br .TP .B dvbs .br تله‌تکست DVB (DVB-TeleText) .br .TP .B div3 .br کدک ویدیویی MS-MPEG4 V3 .br .TP .B caf .br صدای بدون اتلاف اپل (ALAC / Apple Lossless Audio) .br .TP .B dnx .br کدک ویدیویی Avid DNxHD .br .SH "انواع جریان (Stream types)" .LP .br .TP .B mono (int 1) .br چیدمان 0x0000000000000004 .br .TP .B stereo (int 2) .br چیدمان 0x0000000000000003 .br .TP .B 3/0.0 (int 3) .br چیدمان 0x0000000000000007 .br .TP .B 3/1.0 (int 4) .br چیدمان 0x0000000000000407 .br .TP .B 3/2.0 (int 5) .br چیدمان 0x0000000000000037 .br .TP .B 3/2.1 (int 6) .br چیدمان 0x000000000000003f .br .TP .B 5/2.1 (int 7) .br چیدمان 0x000000000000003f .br .TP .B 1+1 (int 8) .br چیدمان 0x0000000000000003 .br .TP .B 2/1.0 (int 9) .br چیدمان 0x0000000000000403 .br .TP .B 2/2.0 (int 10) .br چیدمان 0x0000000000000033 .br .TP .B 3/3.1 (int 11) .br چیدمان 0x000000000000043f .br .TP .B 3/4.1 (int 12) .br چیدمان 0x000000000000033f .br .TP .B 11/11.2 (int 13) .br چیدمان 0x000000003ffe67cf .br .TP .B 5/2.1 (int 14) .br چیدمان 0x000000000006003f .br .TP .B 5/5.2 (int 15) .br چیدمان 0x000000000606603f .br .TP .B 5/4.1 (int 16) .br چیدمان 0x000000000036003f .br .TP .B 6/5.1 (int 17) .br چیدمان 0x00000000023e003f .br .TP .B 6/7.1 (int 18) .br چیدمان 0x00000600023e003f .br .TP .B 5/6.1 (int 19) .br چیدمان 0x000000000036630f .br .TP .B 7/6.1 (int 20) .br چیدمان 0x000000600036630f .br .SH "مثال‌ها (EXAMPLES)" .TP مثال‌های پایه و پیشرفته در نشانی https://wiki.gpac.io/Filters/Filters در دسترس هستند. .SH "اطلاعات بیشتر (MORE)" .LP نویسندگان: توسعه‌دهندگان GPAC، به تاریخچه مخزن گیت (\-log) مراجعه کنید. .br جهت گزارش باگ‌ها، درخواست ویژگی‌های جدید، اطلاعات بیشتر و مشاهده کد منبع به https://github.com/gpac/gpac مراجعه کنید. .br نسخه ساخت: 26.07 .br حق نشر: © 2000-2024 متعلق به Telecom Paris، توزیع‌شده تحت مجوز LGPL v2.1+ - https://gpac.io .br .SH "همچنین ببینید (SEE ALSO)" .LP gpac-filters(1),MP4Box(1)