| MP4Box(1) | GPAC | MP4Box(1) |
نام (NAME)
MP4Box - بستهبند چندرسانهای خط فرمان GPAC
خلاصه دستور (SYNOPSIS)
MP4Box [options] [file] [options]
گزینههای عمومی (GENERAL OPTIONS)
ابزار MP4Box یک
بستهبند
چندرسانهای
با
قابلیتهای
فراوان است:
تبدیل،
تکهتکه
کردن (splitting)،
هینتگذاری
(hinting)، استخراج
اطلاعات (dumping)،
آمادهسازی
برای DASH،
رمزنگاری،
تبدیل کد (transcoding)
و موارد
دیگر.
ابزار MP4Box
مجموعهٔ
گستردهای
از
گزینهها
را ارائه
میدهد که
بر پایه
دستهبندی
تفکیک
شدهاند
(گزینهٔ .I -h را
ببینید). این
گزینهها
از ترتیب
خاصی پیروی
نمیکنند.
بهطور
پیشفرض، MP4Box
فایل ورودی
را
بازنویسی
میکند.
میتوانید
این رفتار
را با
استفاده از
گزینهٔ .I out
تغییر دهید.
ابزار MP4Box
بهطور
پیشفرض
فایل را با
درهمآمیزی
(interleaving) ۰٫۵
ثانیهای و
فرادادهها
(مانند moov و...) در
ابتدا
ذخیره
میکند، که
آن را برای
دانلود و
پخش
همزمان از
طریق HTTP
مناسب
میسازد. با
این حال،
ممکن است
ذخیرهٔ
فایل بیشتر
زمان ببرد؛
برای تغییر
این رفتار
از گزینهٔ .I flat
استفاده
کنید.
ابزار MP4Box معمولاً هنگام ایجاد یک فایل جدید IsoMedia، یک فایل موقت میسازد. مکان این فایل موقت وابسته به سیستمعامل است، و ممکن است درایو یا پارتیشنی که فایل موقت در آن ایجاد میشود فضای کافی یا دسترسی نوشتن نداشته باشد. در چنین حالتی، میتوانید مکان فایل موقت را با .I -tmp تعیین کنید.
شناسهٔ
ترک برای
عملیاتهای
مبتنی بر
قطعه (که
معمولاً در
راهنما با tkID
نشان داده
میشود) از
ساختار
نگارشی زیر
پیروی
میکند:
* INT: هدف ترکی
با شناسهٔ INT
است
* n`INT`: هدف ترک
شمارهٔ INT
است
* `audio`، `video`، `text`: هدف
اولین ترک
صوتی،
تصویری یا
متنی است
* `audioN`، `videoN`، `textN`: هدف
Nاُمین ترک
صوتی،
تصویری یا
متنی است،
که N=1 اولین
ترک از نوع
مورد نظر
است
مقادیر
گزینهها:
مگر در
مواردی که
مشخص شده
باشد، یک
گزینهٔ
عملیات روی
ترک از نوع
عدد صحیح،
در ادامه
نیازمند یک
مقدار
شناسهٔ ترک
است.
یک گزینه از
نوع دودویی
(boolean) نیازمند
مقداری در
ادامهٔ خود
نیست.
- -mem-track
-
فعالسازی ردگیر حافظه (memory tracker)
- -mem-track-stack
-
فعالسازی ردگیر حافظه به همراه تخلیهٔ پشته (stack dumping)
- -p (string)
-
استفاده از نمایهٔ (profile) مشخصشده برای پیکربندی سراسری GPAC. اگر پیدا نشود، فایل پیکربندی ایجاد میشود. اگر مسیر یک فایل مشخص شده باشد، نمایه از آن فایل بارگذاری خواهد شد. در غیر این صورت، دایرکتوری با نام مشخصشده ایجاد و پیکربندی جدید در آن ذخیره میشود. نام رزروشدهٔ 0 به معنای یک نمایهٔ جدید است که روی دیسک ذخیره نمیشود. با ساختار -p=NAME یا -p NAME کار میکند.
- -inter (number, default: 0.5)
-
درهمآمیزی (interleave) فایل و تولید قطعات ترک (chunks) با مدتزمان مشخصشده به میلیثانیه. مقدار 0 درهمآمیزی را غیرفعال میکند
- -old-inter (number)
-
مشابه .I inter اما بدون اصلاح انحراف (drift correction)
- -tight
-
درهمآمیزی فشردهٔ فایل (مبتنی بر نمونه). این کار عملیات جستجوی دیسک (seek) را کاهش اما اندازهٔ فایل را افزایش میدهد
- -flat
-
ذخیرهٔ فایل با قرار دادن تمام دادههای رسانهای در ابتدا و بدون درهمآمیزی. این کار سرعت نوشتن را هنگام ایجاد فایلهای جدید افزایش میدهد
- -frag (number)
-
تکهتکه کردن (fragment) فایل و تولید بخشهای ترک با مدتزمان مشخصشده به میلیثانیه. این کار درهمآمیزی را غیرفعال میکند
- -out (string)
-
مشخص کردن نام فایل خروجی ISOBMFF. بهطور پیشفرض فایل ورودی بازنویسی میشود
- -co64
-
اجبار به استفاده از آفستهای قطعهٔ ۶۴ بیتی برای فایلهای ISOBMFF
- -new
-
اجبار به ایجاد یک فایل مقصد جدید
- -newfs
-
اجبار به ایجاد یک فایل مقصد جدید بدون فایل موقت اما با پشتیبانی از درهمآمیزی
- -no-sys,-nosys
-
حذف تمام اطلاعات MPEG-4 Systems به جز IOD که برای نمایهها نگه داشته میشود. این حالت پیشفرض هنگام ایجاد محتوای معمولی صوتی/تصویری است
- -no-iod
-
حذف MPEG-4 InitialObjectDescriptor از فایل
- -mfra
-
درج آفست تصادفی قطعهٔ فیلم (movie fragment random offset) هنگام قطعهقطعه کردن فایل (در حالت dash نادیده گرفته میشود)
- -isma
-
بازنویسی فایل به عنوان یک فایل ISMA 1.0
- -ismax
-
مشابه .I isma همراه با حذف تمامی ارجاعات ساعت
- -3gp
-
بازنویسی به عنوان فایل 3GPP(2) (بدون اطلاعات سامانههای MPEG-4)؛ اگر پسوند فایل مقصد .3gp، .3g2 یا .3gpp باشد همیشه فعال است. ممکن است برخی ترکها در این فرایند حذف شوند
- -ipod
-
بازنویسی فایل برای iPod یا نسخههای قدیمی iTunes
- -psp
-
بازنویسی فایل برای دستگاههای PSP
- -brand (string)
-
تنظیم نشان اصلی (major brand) فایل (ABCD) یا نشان همراه با نگارش اختیاری (ABCD:v)
- -ab (string)
-
افزودن نشان (brand) دادهشده به فهرست نشانهای جایگزین
- -rb (string)
-
حذف نشان (brand) دادهشده از فهرست نشانهای جایگزین
- -cprt (string)
-
افزودن رشتهٔ حق نشر (کپیرایت) به فایل
- -chap (string)
-
تنظیم اطلاعات فصلبندی از فایل مشخصشده. فرمتهای زیر در فایل متنی فصل پشتیبانی میشوند (اما نباید با هم ترکیب شوند):
* نرمافزار ZoomPlayer: شامل AddChapter(nb_frames,chapter name)، AddChapterBySeconds(nb_sec,chapter name) و AddChapterByTime(h,m,s,chapter name) با ۱ فصل در هر خط
* کدهای زمانی: بهصورت h:m:s chapter_name و h:m:s:ms chapter_name و h:m:s.ms chapter_name با ۱ فصل در هر خط
* کدهای SMPTE: بهصورت h:m:s;nb_f/fps chapter_name و h:m:s;nb_f chapter_name که در آن nb_f تعداد فریمها و fps نرخ فریم است با ۱ فصل در هر خط
* ساختار معمول: CHAPTERX=h:m:s[:ms or .ms] در خط اول و CHAPTERXNAME=name در خط بعدی (ترتیب معکوس نیز پذیرفته میشود)
- -chapqt (string)
-
تنظیم اطلاعات فصلبندی از فایل مشخصشده با استفاده از سیگنالینگ سبک QT برای ترکهای متنی
- -set-track-id tkID:id2
-
تغییر شناسهٔ ترک به id2
- -swap-track-id tkID1:tkID1
-
جابهجایی شناسه میان ترکهای دارای شناسهٔ id1 و id2
- -rem (int)
-
حذف ترک دادهشده از فایل -rap (int)
حذف تمام نمونههای غیر RAP از قطعهٔ مشخصشده
- -refonly (int)
-
حذف تمام فریمهای غیرمرجع از قطعهٔ مشخصشده
- -enable (int)
-
فعالسازی قطعهٔ مشخصشده
- -disable (int)
-
غیرفعالسازی قطعهٔ مشخصشده
- -timescale (int, default: 600)
-
تنظیم مقیاس زمانی (timescale) فیلم به مقدار دادهشده (تیک بر ثانیه)
- -set-vexu
-
افزودن جعبهٔ vexu به فایل MV-HEVC MP4
- -hero-eye (int, default: 0)
-
تنظیم hero_eye_indicator در HeroStereoEyeDescriptionBox (0 = هیچکدام، 1 = چپ، 2 = راست)
- -lang [tkID=]LAN
-
تنظیم زبان. LAN همان کد BCP-47 است (eng، en-UK، ...). اگر شناسهٔ قطعهای داده نشود، زبان برای تمام قطعهها تنظیم میشود
- -delay tkID=TIME
-
تنظیم تاخیر شروع قطعه (0<) یا پرش آغازین (0>) بر حسب میلیثانیه یا کسری از ثانیه (N/D)
- -par tkID=PAR
-
تنظیم نسبت ابعاد پیکسل (PAR) قطعهٔ تصویری. PAR یکی از موارد زیر است:
* N:D: مقدار PAR را در قطعه روی N:D تنظیم میکند، بدون تغییر دادن bitstream
* wN:D: مقدار PAR را در قطعه روی N:D تنظیم کرده و برای تغییر دادن bitstream تلاش میکند
* none: اطلاعات PAR را از قطعه حذف میکند، بدون تغییر دادن bitstream
* auto: اطلاعات PAR را از bitstream استخراج کرده و آن را در قطعه تنظیم میکند
* force: مقدار PAR را در قطعه به 1:1 اجبار میکند، بدون تغییر دادن bitstream
- -clap tkID=CLAP
-
تنظیم روزنهٔ تمیز (clean aperture) قطعهٔ تصویری. CLAP بهصورت Wn,Wd,Hn,Hd,HOn,HOd,VOn,VOd یا none است
* n, d: صورت، مخرج
* W, H, HO, VO: عرض clap، ارتفاع clap، آفست افقی clap، آفست عمودی clap - -mx tkID=MX
-
تنظیم ماتریس قطعه، که در آن MX بهصورت M1:M2:M3:M4:M5:M6:M7:M8:M9 در قالب اعداد ممیز ثابت ۱۶.۱۶ (16.16 fixed point) یا هگزادسیمال است
- -kind tkID=schemeURI=value
-
تنظیم نوع (kind) برای قطعه یا برای تمام قطعهها با استفاده از all=schemeURI=value
- -kind-rem tkID=schemeURI=value
-
حذف نوع (kind) در صورت وجود schemeID دادهشده برای قطعه یا برای تمام قطعهها با all=schemeURI=value
- -name tkID=NAME
-
تنظیم نام گردانندهٔ قطعه (track handler name) به NAME (رشتهٔ UTF-8)
-
تنظیم برچسبهای iTunes روی فایل، به -h tags مراجعه کنید
- -group-add (string)
-
ایجاد اطلاعات گروهبندی جدید در فایل. قالب بهصورت فهرستی از گزینههای زیر است که با دونقطه (:) جدا شدهاند:
* refTrack=ID: قطعهای که بهعنوان مرجع گروه استفاده میشود. اگر تنظیم نشود، قطعه به همان گروه trackID مشخصشدهٔ قبلی تعلق خواهد داشت. اگر 0 باشد یا قطعهٔ قبلی مشخص نشده باشد، یک گروه جایگزین (alternate group) جدید ایجاد خواهد شد
* switchID=ID: شناسهٔ switch group برای ایجاد. اگر 0 باشد، یک شناسهٔ جدید محاسبه خواهد شد. اگر کوچکتر از صفر (<0) باشد، SwitchGroup غیرفعال میشود
* criteria=string: فهرستی از 4CCها که با فاصله جدا شدهاند
* trackID=ID: قطعهای که باید به این گروه افزوده شودهشدار: گزینهها همزمان با پردازش، وضعیت را تغییر میدهند؛ trackID=1:criteria=lang:trackID=2 با criteria=lang:trackID=1:trackID=2 متفاوت است
- -group-rem-track (int)
-
حذف قطعهٔ مشخصشده از گروه خود
- -group-rem (int)
-
حذف گروه مربوط به قطعه
- -group-clean
-
حذف تمام اطلاعات گروهبندی از تمام قطعهها
- -ref tkID:R4CC:refID
-
افزودن مرجعی از نوع R4CC از قطعهٔ ID به قطعهٔ refID (اگر refID برابر 0 باشد مرجع قطعه حذف میشود)
- -keep-utc
-
حفظ زمانبندی UTC در فایل پس از ویرایش
- -udta tkID:[OPTS]
-
تنظیم udta برای قطعهٔ مشخصشده یا کل فیلم در صورتی که tkID برابر 0 باشد. OPTS فهرستی جداشده با دونقطه (:) از موارد زیر است:
* type=CODE: کد 4CC مربوط به UDTA (برای گزینهٔ box= لازم نیست)
* box=FILE: مکان دادههای udta، قالببندیشده بهصورت جعبههای سریالشده (serialized boxes)
* box=base64,DATA: دادههای udta کدگذاریشده با base64، قالببندیشده بهصورت جعبههای سریالشده
* src=FILE: مکان دادههای udta (در یک جعبهٔ منفرد از نوع CODE ذخیره خواهد شد)
* src=base64,DATA: دادههای udta کدگذاریشده با base64 (در یک جعبهٔ منفرد از نوع CODE ذخیره خواهد شد)
* str=STRING: استفاده از رشتهٔ مشخصشده بهعنوان بار مفید داده (payload) برای جعبهٔ udta
نکته: اگر هیچ منبعی تعیین نشود، UDTA از نوع CODE حذف خواهد شد - -patch [tkID=]FILE
-
اعمال وصلهٔ جعبه (box patch) شرحدادهشده در FILE، در صورت تعیین برای trackID مشخصشده
- -bo
-
تثبیت ترتیب جعبهها (boxes) در فایل ورودی
- -init-seg (string)
-
استفاده از فایل دادهشده بهعنوان یک قطعهٔ راهاندازی (init segment) برای استخراج داده یا برای رمزگذاری
- -zmov
-
فشردهسازی جعبهٔ فیلم مطابق با فشردهسازی جعبهٔ ISOBMFF، یا در صورت داشتن پسوند mov مطابق با QT
- -xmov
-
مشابه zmov به همراه قرار دادن ftyp در داخل otyp
- -edits tkID=EDITS
-
تنظیم فهرست ویرایش (edit list). از نحو زیر استفاده میشود (بدون جداکننده بین ورودیها):
* `r`: حذف تمام ویرایشها
* `eSTART`: افزودن ویرایش خالی با زمان شروع مشخصشده. START میتواند یکی از موارد زیر باشد:
- VAL: زمان شروع بر حسب ثانیه (int، double، کسر)، از مدتزمان رسانه بهعنوان مدتزمان ویرایش استفاده میشود
- VAL-DUR: زمان شروع و مدتزمان بر حسب ثانیه (int، double، کسر)
* `eSTART,MEDIA[,RATE]`: افزودن ویرایش عادی با زمان شروع مشخصشده، زمان شروع رسانه بر حسب ثانیه (int، double، کسر) و نرخ پخش (کسر یا INT)
* مثالها:
- re0-5e5-3,4: حذف ویرایشها، افزودن ویرایش خالی در 0s به مدت 5s، سپس افزودن ویرایش عادی در 5s به مدت 3s با شروع از 4s در قطعهٔ رسانه
- re0-4,0,0.5: حذف ویرایشها، افزودن یک ویرایش در 0s به مدت 4s با شروع از 0s در قطعهٔ رسانه و پخش با سرعت 0.5-moovpad (int)
مشخص کردن میزان لایه پرکننده (padding) برای نگهداشتن پس از جعبه moov جهت ویرایش درجا (inplace) بعدی - در صورت 0 بودن، padding جعبه moov غیرفعال میشود
- -no-inplace
-
غیرفعال کردن بازنویسی درجا (inplace)
- -hdr (string)
-
بهروزرسانی اطلاعات HDR بر اساس XML ارائهشده، مقدار 'none' اطلاعات HDR را حذف میکند
- -time [tkID=]DAY/MONTH/YEAR-H:M:S
-
تنظیم زمان ایجاد فیلم یا تراک
- -mtime tkID=DAY/MONTH/YEAR-H:M:S
-
تنظیم زمان ایجاد رسانه
گزینههای استخراج (Extracting Options)
از MP4Box میتوان برای استخراج تراکهای رسانهای از فایلهای MP4 استفاده کرد. با این حال، اگر نیاز به تبدیل این تراکها دارید، لطفاً مستندات فیلترها را بررسی کنید.
گزینهها:
- -raw (string)
-
استخراج تراک دادهشده در قالب خام (raw) در صورت پشتیبانی. برای تعیین نام فایل خروجی از tkID:output=FileName استفاده کنید
- -raws (string)
-
استخراج هر نمونه از تراک دادهشده در یک فایل. برای استخراج N-امین نمونه از tkID:N استفاده کنید
- -nhnt (int)
-
استخراج تراک دادهشده به قالب NHNT
- -nhml (string)
-
استخراج تراک دادهشده به قالب NHML. برای دامپ کامل NHML به همراه تمام ویژگیهای بسته از tkID:full استفاده کنید
- -webvtt-raw (string)
-
استخراج تراک دادهشده بهصورت رسانه خام در WebVTT به عنوان متاداده. برای گنجاندن دادههای رسانه در فایل WebVTT از tkID:embedded استفاده کنید
- -single (int)
-
استخراج تراک دادهشده به یک فایل mp4 جدید
- -six (int)
-
استخراج تراک دادهشده بهصورت رسانه خام در دستورالعملهای آزمایشی جریانسازی XML
- -mux (string)
-
تسهیم (multiplex) فایل ورودی به مقصد دادهشده
- -qcp (int)
-
مشابه .I raw اما بهطور پیشفرض از فایل QCP برای EVRC/SMV استفاده میکند
- -saf
-
تسهیم فایل ورودی به تسهیم SAF
- -dvbhdemux
-
تفکیک (demultiplex) فایل DVB-H به دیتاگرامهای IP ارسالشده روی شبکه
- -raw-layer (int)
-
مشابه .I raw اما هنگام استخراج از استخراجکنندههای SVC/MVC/LHVC صرفنظر میکند
- -diod
-
استخراج IOD فایل در قالب خام
- -mpd (string)
-
تبدیل مانیفست HLS یا smooth دادهشده (محلی یا http دوردست) به MPD - گزینههای -url-template و -segment-timeline میتوانند در این حالت استفاده شوند.
نکته: این گزینه تنها تبدیل پایهای را فراهم میکند؛ برای تبدیلهای پیشرفتهتر، gpac -h dasher را ببینیدهشدار: این گزینه با سایر گزینههای DASH سازگار نیست و سگمنتهای مرتبط را تبدیل نمیکند
گزینههای DASH (DASH Options)
همچنین
ببینید:
- مستندات
فیلتر dasher در `gpac -h
dasher`
- [[ویکی DASH|DASH-intro]].
فایلهای
رسانهای
ورودی به dash
میتوانند
از
تغییردهندههای
زیر
استفاده
کنند:
* #trackID=N: تنها
استفاده از
شناسهٔ ترک N
از فایل
مبدأ
* #N: تنها
استفاده از
شناسهٔ ترک N
از فایل
مبدأ
(نگاشتشده
به .I -tkid)
* #video: تنها
استفاده از
نخستین ترک
ویدیویی از
فایل مبدأ
* #audio: تنها
استفاده از
نخستین ترک
صوتی از
فایل مبدأ
* #Prop=Value: افزودن
پالایش PID با
استفاده از
ساختار
نحوی مشابه
قطعات SID
(رجوع کنید
به `gpac -h doc`)
* :id=NAME: تنظیم
شناسهٔ Representation
روی NAME. مقدار
رزروشدهٔ NULL
شناسهٔ Representation
را برای
ورودیهای
تسهیمشده
(multiplexed) غیرفعال
میکند. در
صورت عدم
تنظیم، یک
مقدار
پیشفرض
محاسبه
میشود و
تمام
ترکهای
انتخابشده
از مبدأ در
یک خروجی
چندپخشی
مشترک قرار
خواهند
گرفت.
* :dur=VALUE: پردازش VALUE
ثانیه (کسری)
از رسانه.
اگر VALUE
طولانیتر
از
مدتزمان
رسانه
باشد،
مدتزمان
آخرین
نمونه (sample)
تمدید
میشود.
* :period=NAME: تنظیم
دورهٔ (Period)
مربوط به Representation
روی NAME.
میتوان از
چندین دوره
استفاده
کرد.
دورهها به
همان
ترتیبی که
با این
گزینه مشخص
شدهاند در
MPD ظاهر
میشوند
* :BaseURL=NAME: تنظیم BaseURL.
برای چندین
BaseURL میتوان
آن را چند
بار تنظیم
کرد
هشدار: این
گزینه مکان
فایلهای
تولیدشده
را تغییر
نمیدهد
(الگوی قطعه
یا segment template را
ببینید).
* :bandwidth=VALUE: تنظیم
پهنای باند
Representation روی
مقدار
دادهشده
* :pdur=VALUE: تنظیم
مدتزمان
دورهٔ
مرتبط روی VALUE
ثانیه (کسری)
(نام مستعار
برای period_duration:VALUE).
این گزینه
تنها زمانی
استفاده
میشود که
هیچ رسانهٔ
ورودی مشخص
نشده باشد
(درج دوره از
راه دور)،
مثلاً :period=X:xlink=Z:pdur=Y
* :ddur=VALUE:
بازنویسی
مدتزمان
قطعهٔ DASH هدف
به VALUE ثانیه
(کسری) برای
این ورودی
(نام مستعار
برای duration:VALUE)
* :xlink=VALUE: تنظیم
مقدار xlink
برای دورهٔ
حاوی این
عنصر. تنها
از xlink
اعلانشده
در نخستین
Representation یک دوره
استفاده
خواهد شد
* :asID=VALUE: تنظیم
شناسهٔ AdaptationSet
روی VALUE (عدد
صحیح بدون
علامت یا unsigned int)
* :role=VALUE: تنظیم
نقش این Representation
(رجوع کنید
به مشخصات DASH).
رسانهها
با نقشهای
متفاوت به
مجموعههای
انطباق (AdaptationSet)
متفاوتی
تعلق دارند.
* :desc_p=VALUE: افزودن
یک
توصیفگر
در سطح Period.
* :desc_as=VALUE: افزودن
یک
توصیفگر
در سطح AdaptationSet. دو
فایل ورودی
با مقادیر
مختلف در
عناصر AdaptationSet
متفاوتی
قرار
خواهند
گرفت.
* :desc_as_c=VALUE: افزودن
یک
توصیفگر
در سطح AdaptationSet.
این مقدار
هنگام
ایجاد
عناصر AdaptationSet
نادیده
گرفته
میشود.
* :desc_rep=VALUE: افزودن
یک
توصیفگر
در سطح Representation.
این مقدار
هنگام
ایجاد
عناصر AdaptationSet
نادیده
گرفته
میشود.
* :sscale: اجبار
مقیاس
زمانی فیلم
(movie timescale) برای
مطابقت با
مقیاس
زمانی
رسانه برای
نخستین ترک
در قطعه.
* :trackID=N: مشابه با
تنظیم قطعه
با #trackID=
* @f1[:args][@fN:args][@@fK:args]: تنظیم
یک زنجیره
فیلتر برای
درج میان
مبدأ و dasher. هر
فیلتر در
زنجیره
مانند یک
فیلتر عادی
قالببندی
میشود؛
مستندات
فیلتر را در
`gpac -h doc` ببینید.
در صورت
تنظیم چند
فیلتر:
- در صورت
جداسازی با
یک @ تکی، به
همان ترتیب
مشخصشده
به یکدیگر
زنجیر
خواهند شد
- در صورت
جداسازی با @@
دوتایی، یک
زنجیره
فیلتر جدید
ایجاد
خواهد شد. در
این حالت،
هیچ شناسهٔ
Representation به مبدأ
اختصاص
داده
نمیشود.
مثال
source.mp4:@c=avc:b=1M@@c=avc:b=500k
این دستور
یک زنجیره
فیلتر با دو
انکودر
متصل به
مبدأ و به dasher
را
بارگذاری
میکند.
مثال
source.mp4:@c=avc:b=1M@c=avc:b=500k
این دستور یک زنجیره فیلتر را بارگذاری میکند که در آن انکودر دوم به خروجی انکودر اول متصل است (!!).
نکته: @f باید پس از تمام گزینههای دیگر قرار گیرد.
نکته:
مقدار
توصیفگرها
(Descriptors) باید یک
یا چند عنصر
XML با
قالببندی
درست باشد؛
مقدار
بررسی
نمیشود.
نحو
میتواند
از file@FILENAME برای
بارگذاری
محتوا از
فایل
استفاده
کند.
گزینهها (OPTIONS)
- -dash (number)
-
ایجاد DASH از فایلهای ورودی با مدتزمان قطعه (برای نمایهٔ onDemand، زیرقطعه) دادهشده بر حسب میلیثانیه
- -dash-live (number)
-
تولید یک نشست زندهٔ DASH با استفاده از مدتزمان قطعهٔ دادهشده بر حسب میلیثانیه؛ استفاده از -dash-live=F همچنین بافتار (context) زنده را در F ذخیره میکند. MP4Box نشست زنده را تا زمان فشردن کلید q یا رخ دادن خطای مهلک اجرا خواهد کرد
- -ddbg-live (number)
-
مشابه .I dash-live بدون تنظیم زمان برای مقاصد اشکالزدایی
- -frag (number)
-
مشخص کردن مدتزمان فرگمنت (fragment) بر حسب میلیثانیه. در صورت عدم تنظیم، این مقدار همان مدتزمان DASH است (یک فرگمنت در هر قطعه)
- -out (string)
-
مشخص کردن نام فایل خروجی MPD
- -profile,-dash-profile (string)
-
مشخص کردن نمایهٔ هدف DASH، و تنظیم گزینههای پیشفرض برای تضمین انطباق با نمایهٔ مورد نظر. نمایهٔ پیشفرض در حالت ایستا full و در حالت پویا live است (نحو قدیمی با استفاده از :live به جای .live به عنوان جداکننده همچنان ممکن است). مقادیر تعریفشده عبارتند از onDemand، live، main، simple، full، hbbtv1.5.live، dashavc264.live، dashavc264.onDemand و dashif.ll
- -profile-ext (string)
-
مشخص کردن فهرستی از پسوندهای نمایه (profile extensions)، آنگونه که توسط DASH-IF و DVB استفاده میشود. این رشته با دونقطه (:) به نمایهٔ استفادهشده الحاق خواهد شد
- -rap
-
اطمینان از اینکه قطعات با نقاط دسترسی تصادفی (RAP) آغاز شوند؛ مدتزمان قطعه ممکن است بسته به کدگذاری مبدأ متغیر باشد
- -frag-rap
-
اطمینان از اینکه تمام فرگمنتها با نقاط دسترسی تصادفی آغاز شوند (مدتزمان ممکن است بسته به کدگذاری مبدأ متغیر باشد)
- -segment-name (string)
-
تنظیم نام قطعه برای قطعات تولیدشده. در صورت عدم تنظیم (پیشفرض)، قطعات در فایل خروجی ادغام میشوند، به جز در نمایهٔ live که به صورت dash_%%s خواهد بود. رشتههای جایگزینیِ پشتیبانیشده عبارتند از:
- $Number[%%0Nd]$ با شمارهٔ قطعه، احتمالاً با پیشوند 0، جایگزین میشود
- $RepresentationID$ با نام Representation جایگزین میشود
- $Time$ با زمان شروع قطعه جایگزین میشود
- $Bandwidth$ با پهنای باند Representation جایگزین میشود
- $Init=NAME$ برای قطعهٔ راهاندازی (init segment) با NAME جایگزین شده، در غیر این صورت نادیده گرفته میشود
- $Index=NAME$ برای قطعات نمایه (index segments) با NAME جایگزین شده، در غیر این صورت نادیده گرفته میشود
- $Path=PATH$ هنگام ایجاد قطعات با PATH جایگزین شده، در غیر این صورت نادیده گرفته میشود
- $SubNumber[%%0Nd]$ با زیرشمارهٔ قطعه در توالی قطعات، احتمالاً با پیشوند 0، جایگزین میشود
- $Segment=NAME$ برای قطعات رسانه با NAME جایگزین شده، برای قطعات آغازین (init) نادیده گرفته میشود
- -segment-ext (string, default: m4s)
-
تنظیم پسوند قطعه؛ مقدار null به معنای بدون پسوند است
- -init-segment-ext (string, default: mp4)
-
تنظیم پسوند قطعه برای قطعات init، index و قطعات تغییر جریان بیت (bitstream switching)؛ مقدار null به معنای بدون پسوند است - -segment-timeline
-
استفاده از SegmentTimeline هنگام تولید قطعات
- -segment-marker (string)
-
افزودن یک جعبه (box) از نوع دادهشده (4CC) در انتهای هر قطعهٔ DASH
- -insert-utc
-
درج ساعت UTC در ابتدای هر قطعهٔ ISOBMF
- -base-url (string)
-
تنظیم Base URL در سطح MPD. میتواند چندین بار استفاده شود.
هشدار: این گزینه مکان فایلهای تولیدشده را تغییر نمیدهد
- -mpd-title (string)
-
تنظیم عنوان MPD
- -mpd-source (string)
-
تنظیم منبع (source) فایل MPD
- -mpd-info-url (string)
-
تنظیم نشانی وب اطلاعات (info url) برای MPD
- -cprt (string)
-
افزودن رشتهٔ حق نشر (کپیرایت) به MPD -dash-ctx (string)
ذخیره/بازیابی زمانبندی DASH از فایل مشخصشده
- -dynamic
-
استفاده از نوع MPD پویا (dynamic) به جای ایستا (static)
- -last-dynamic
-
مشابه .I dynamic اما دوره (period) را میبندد (در صورت نیاز نشان lmsg را درج کرده و مدتزمان را بهروزرسانی میکند)
- -mpd-duration (number)
-
تنظیم مدتزمان نشست زنده (live) بر حسب ثانیه (اگر 0 باشد، باید از .I mpd-refresh استفاده کنید)
- -mpd-refresh (number)
-
مشخص کردن زمان بهروزرسانی MPD بر حسب ثانیه
- -time-shift (int)
-
مشخص کردن عمق بافر تغییر زمانی (time-shift) در MPD بر حسب ثانیه؛ مقدار -1 برای نگهداشتن تمام فایلها است. پیشفرض 0 است
- -subdur (number)
-
مشخص کردن حداکثر مدتزمان فایل ورودی بر حسب میلیثانیه برای قطعهبندی DASH در حالت LIVE یا حالت context. این گزینه مدتزمان قطعه (segment) را تغییر نمیدهد، بلکه بهمحض اینکه قطعات تولیدشده از این مدتزمان فراتر رفتند، فرایند قطعهبندی را متوقف میکند. اگر نمونههای کافی برای پایان دادن به یک قطعه وجود نداشته باشد، دادهها تکرار (loop) میشوند مگر اینکه از .I no-loop استفاده شود که باعث پایان یافتن دوره (period) میشود
- -run-for (int)
-
اجرای نشست dash-live برای مدت میلیثانیهٔ مشخصشده و سپس خروج
- -min-buffer (int)
-
مشخص کردن حداقل زمان بافر MPD بر حسب میلیثانیه
- -ast-offset (int)
-
مشخص کردن آفست AvailabilityStartTime در MPD بر حسب میلیثانیه در صورت مثبت بودن، یا availabilityTimeOffset مربوط به هر representation در صورت منفی بودن
- -dash-scale (int)
-
مشخص کردن اینکه زمانبندی برای .I dash ، .I dash-live ، .I subdur و .I frag به جای میلیثانیه، در مقیاس زمانی (timescale) ارائهشده (واحد بر ثانیه) بیان شوند
- -mem-frags
-
تکهتکهسازی (fragmentation) پیش از تخلیه روی دیسک، به جای دیسک در حافظه انجام میشود
- -pssh (int)
-
تنظیم حالت ذخیرهسازی pssh
* v: فیلم اولیه (initial movie)
* f: تکههای فیلم (movie fragments)
* m: در MPD
* mv, vm: در فیلم اولیه و MPD
* mf, fm: در تکههای فیلم و MPD
* n: حذف PSSH از MPD، فیلم اولیه و تکههای فیلم
- -sample-groups-traf
-
ذخیره توضیحات گروه نمونه در traf (به صورت تکرارشده برای هر traf). اگر تنظیم نشود، توضیحات گروه نمونه در فیلم اولیه ذخیره میشوند
- -mvex-after-traks
-
ذخیره جعبه mvex پس از جعبههای trak درون جعبه moov. اگر تنظیم نشود، mvex پیش از آنها قرار میگیرد
- -sdtp-traf (int)
-
استفاده از جعبه sdtp در traf (مشابه Smooth)
* no: عدم استفاده از sdtp
* sdtp: استفاده از جعبه sdtp برای مشخص کردن وابستگیهای نمونه و عدم نوشتن اطلاعات در پرچمهای نمونه trun
* both: استفاده از جعبه sdtp برای مشخص کردن وابستگیهای نمونه و همچنین نوشتن اطلاعات در پرچمهای نمونه trun - -no-cache
-
غیرفعال کردن حافظه پنهان (cache) فایل برای ورودیهای dash
- -no-loop
-
غیرفعال کردن تکرار محتوا در حالت زنده و استفاده از تعویض دوره (period switch) به جای آن
- -hlsc
-
درج زمان UTC در لیستهای پخش متغیر (variant playlists) برای HLS زنده
- -bound
-
قطعهبندی همیشه تلاش میکند برش را قبل از مرز قطعه یا دقیقاً روی آن انجام دهد، و هرگز بعد از آن تقسیم نمیکند
- -closest
-
قطعهبندی از نزدیکترین فریم به مرز قطعه (قبل یا بعد از آن) استفاده خواهد کرد
- -subsegs-per-sidx,-frags-per-sidx (int)
-
تنظیم تعداد زیرقطعهها (subsegments) برای نوشته شدن در هر جعبه SIDX
* 0: به ازای هر قطعه یک جعبه SIDX واحد استفاده میشود
* -1: هیچ جعبه SIDX استفاده نمیشود
- -ssix
-
فعالسازی SubsegmentIndexBox که دو بازه را توصیف میکند: اولی از moof تا انتهای نخستین فریم I، و دومی نگاشتنشده (unmapped). این گزینه در صورت فعال بودن حالت daisy chaining کار نمیکند
- -url-template
-
استفاده از SegmentTemplate به جای منابع صریح در قطعات. اگر قطعات در فایل خروجی ذخیره شوند نادیده گرفته میشود
- -url-template-sim
-
استفاده از شبیهسازی SegmentTemplate هنگام تبدیل HLS به MPD
- -daisy-chain
-
استفاده از SIDX به صورت زنجیرهای (daisy-chain) به جای سلسلهمراتبی. اگر frags/sidx برابر 0 باشد نادیده گرفته میشود
- -single-segment
-
استفاده از یک قطعه واحد برای کل فایل (نمایه OnDemand)
- -single-file
-
استفاده از یک فایل واحد برای کل فایل (پیشفرض)
- -bs-switching (string, default: inband, values: inband|merge|multi|no|single)
-
تنظیم حالت تعویض جریان بیتی (bitstream switching)
* inband: استفاده از مجموعه پارامترهای inband و یک قطعه راهانداز (init segment) واحد
* merge: تلاش برای ادغام مجموعههای پارامتر در یک توصیف نمونه (sample description) واحد، و بازگشت به no در صورت شکست
* multi: استفاده از چندین توصیف نمونه، یکی به ازای هر کیفیت
* no: استفاده از یک قطعه راهانداز به ازای هر کیفیت
* pps: استفاده از VPS، SPS و DCI به صورت برونباند (out-of-band)، درونباند برای PPS و APS و یک قطعه راهانداز واحد
* single: برای آزمایش با ورودی تکی
- -moof-sn (int)
-
تنظیم شماره ترتیب (sequence number) اولین moof به مقدار دادهشده
- -tfdt (int)
-
تنظیم TFDT نخستین traf به مقدار دادهشده بر حسب واحدهای مقیاس (رجوع به -dash-scale)
- -no-frags-default
-
غیرفعال کردن پرچمهای پیشفرض قطعات در trex (مورد نیاز در برخی نمایههای dash-if و جهت سازگاری با CMAF/smooth streaming)
- -single-traf
-
استفاده از تنها یک track fragment به ازای هر moof (پخش روان/smooth streaming و مشخصات برگرفته از آن ممکن است به این گزینه نیاز داشته باشند) -tfdt-traf
استفاده از یک tfdt به ازای هر قطعه تراک (هنگامی که -single-traf استفاده میشود)
- -dash-ts-prog (int)
-
شماره برنامه (program_number) جهت در نظر گرفتن در صورت وجود فایل ورودی MPTS
- -frag-rt
-
هنگام استفاده از قطعهها (fragments) در حالت زنده، تخلیه قطعهها بر اساس زمانبندی آنها انجام شود
- -cp-location (string)
-
تعیین محل عنصر ContentProtection
* as: عنصر ContentProtection را در عنصر AdaptationSet قرار میدهد
* rep: عنصر ContentProtection را در عنصر Representation قرار میدهد
* both: عنصر ContentProtection را در هر دو عنصر قرار میدهد
- -start-date (string)
-
برای حالت زنده، تعیین تاریخ شروع (به صورت xs:date، مانند YYYY-MM-DDTHH:MM:SSZ). پیشفرض زمان کنونی UTC است
هشدار: با چندین دوره (periods)، یا هنگامی که مدت زمان DASH مضربی از اندازه GOP نیست استفاده نشود
- -cues (string)
-
نادیده گرفتن مدت زمان dash و بخشبندی بر اساس زمانهای cue در فایل XML دادهشده (برای مثالها tests/media/dash_cues را ببینید)
- -strict-cues
-
ایجاد خطا در صورت بروز مشکل هنگام پردازش cueها یا اعمال قطعهبندی مبتنی بر cue
- -merge-last-seg
-
ادغام آخرین قطعه (segment) در صورتی که کوتاهتر از نصف مدت زمان هدف باشد
تقسیم فایل (File splitting)
ابزار MP4Box
میتواند
فایلهای
ورودی را بر
اساس
اندازه یا
مدت زمان
تقسیم
کرده، یا
بخش مشخصی
از فایل را
در فایل(های)
جدید IsoMedia
استخراج
کند.
این کار
مستلزم آن
است که
حداکثر یک
تراک در
فایل ورودی
دارای نقاط
دسترسی
غیرتصادفی
باشد (به طور
معمول
حداکثر یک
تراک ویدیو).
عملیات
تقسیم،
تمامی
تراکهای MPEG-4
Systems و
تراکهای hint
را نادیده
میگیرد،
اما برای
تقسیم
تراکهای
رسانهای
اختصاصی
تلاش خواهد
کرد.
فایل ورودی
باید نقاط
دسترسی
تصادفی (RAP)
کافی برای
تقسیم شدن
داشته باشد.
اگر چنین
نباشد،
باید محتوا
را مجدداً
انکود کنید.
میتوانید
در یک مرحله
به فایل
رسانه
اضافه کرده
و آن را
تقسیم کنید.
در این
حالت، فایل
مقصد (فایلی
که بدون
تقسیم به
دست میآمد)
ذخیره
نخواهد شد.
بازههای
زمانی به
شرح زیر
مشخص
میشوند:
* `S-E`: زمانهای
شروع S و
پایان E، در
قالب HH:MM:SS.ms، MM:SS.ms
یا زمان بر
حسب ثانیه
(int، double، کسر)
* `S:E`: زمان شروع S
و زمان
پایان E بر
حسب ثانیه
(int، double، کسر).
اگر پیشوند D
به E اضافه
شود، E = S + time
تنظیم
میشود
* `S:end` یا `S:end-N`: زمان
شروع S بر حسب
ثانیه (int، double)،
مقدار N
تعداد
ثانیهها
(int، double) قبل از
پایان
عملیات
تقسیم در MP4Box
یک نشست
فیلتر را با
استفاده از
فیلتر reframer به
شرح زیر
اجرا
میکند:
- گزینه splitrange از
فیلتر reframer
همیشه
تنظیم
میشود
- منبع با
فعال بودن
گزینه alltk
دیمالتیپلکس
میشود
- بازههای
شروع و
پایان به
گزینههای xs
و xe فیلتر reframer
ارسال
میشوند
- برای -splitz،
گزینههای
xadjust و xround=after اعمال
میشوند
- برای -splitg،
گزینههای
xadjust و xround=before اعمال
میشوند
- برای -splitf،
گزینه xround=seek و
در صورت عدم
تعیین در
اعلان خط
فرمان، propbe_refset
اعمال
میشود
- برای -splitx،
گزینه xround=closest و
در صورت عدم
تعیین در
اعلان خط
فرمان، propbe_ref
اعمال
میشوند
حالت
پیشفرض
ذخیرهسازی
خروجی به
صورت
درهمبافی
کامل (full interleave) است
و برای هر
خروجی به یک
فایل موقت
نیاز دارد.
این رفتار
با استفاده
از -flat، -newfs، -inter و -frag
قابل تغییر
است.
نام(های)
فایل خروجی
را میتوان
با استفاده
از -out و
الگوها
مشخص کرد (به
عنوان مثال
-out split$num%04d$.mp4
فایلهای
split0001.mp4، split0002.mp4 و
غیره را
تولید
میکند).
میتوان
چندین بازه
زمانی را به
عنوان یک
فهرست
جداشده با
کاما برای
-splitx، -splitz و -splitg مشخص
کرد.
- -split (string)
-
تقسیم به فایلهایی با حداکثر مدت زمان مشخصشده (عدد ممیز شناور) بر حسب ثانیه. میتوان یک واحد پسوندی نیز تعیین کرد:
* `M`، `m`: مدت زمان بر حسب دقیقه است
* `H`، `h`: اندازه بر حسب ساعت است
- -split-rap,-splitr
-
تقسیم به فایلهای جداگانه در هر RAP جدید
- -split-size,-splits (string)
-
تقسیم به فایلهایی با حداکثر اندازه مشخصشده (عدد صحیح) بر حسب کیلوبایت. میتوان یک واحد پسوندی نیز تعیین کرد:
* `M`، `m`: اندازه بر حسب مگابایت است
* `G`، `g`: اندازه بر حسب گیگابایت است
- -split-chunk,-splitx (string)
-
استخراج بازه زمانی مشخصشده به شرح زیر:
- زمان شروع به نزدیکترین نمونه RAP به زمان شروع مشخصشده منتقل میشود
- زمان پایان مطابق درخواست نگه داشته میشود
- -splitz (string)
-
استخراج بازه زمانی مشخصشده به گونهای که بازههای A:B و B:C دقیقاً مرز مشترک B داشته باشند:
- زمان شروع به نمونه RAP در زمان شروع مشخصشده یا بعد از آن منتقل میشود - زمان پایان به فریم قبل از نمونه RAP در زمان پایان مشخصشده یا پس از آن منتقل میشود
- -splitg (string)
-
استخراج بازه زمانی مشخصشده به شرح زیر:
- زمان شروع به نمونه RAP در زمان شروع مشخصشده یا قبل از آن منتقل میشود
- زمان پایان به فریم قبل از نمونه RAP در زمان پایان مشخصشده یا پس از آن منتقل میشود
- -splitf (string)
-
استخراج بازه زمانی مشخصشده و درج ویرایشها (edits) به گونهای که خروجی استخراجشده دقیقاً مطابق بازه مشخصشده باشد
ابزار MP4Box دارای عملکردهای متعددی برای تخلیه و استخراج اطلاعات است، از فهرستکردن ساده قطعهها گرفته تا گزارشدهی کاملتر درباره قطعههای ویژه.
گزینهها:
- -std
-
تخلیه/نوشتن در stdout و فرض این که stdout در حالت باینری باز شده است
- -stdb
-
تخلیه/نوشتن در stdout و تلاش برای بازگشایی مجدد stdout در حالت باینری
- -tracks
-
چاپ تعداد قطعهها در stdout
- -info (string)
-
چاپ اطلاعات فیلم (بدون پارامتر) یا اطلاعات گسترشیافته قطعه با ID مشخصشده
- -infon (string)
-
چاپ اطلاعات قطعه برای شماره قطعه دادهشده؛ ۱ نشاندهنده نخستین قطعه در فایل است
- -infox
-
چاپ اطلاعات گسترشیافته فیلم و قطعه (مشابه -info N برای هر قطعه)
- -diso,-dmp4
-
تخلیه باکسهای فایل IsoMedia در خروجی XML
- -dxml
-
تخلیه باکسهای فایل IsoMedia و نمونههای شناختهشده قطعه در خروجی XML
- -disox
-
تخلیه باکسهای فایل IsoMedia بهجز جدولهای نمونه در خروجی XML
- -keep-comp
-
عدم فشردهزدایی باکسها هنگام تخلیه
- -keep-ods
-
برگردان نکردن برچسبهای ODs و ESDs در ISOM (تنها برای اهداف اشکالزدایی)
- -bt
-
تخلیه صحنه به قالب BT
- -xmt
-
تخلیه صحنه به قالب XMT
- -wrl
-
تخلیه صحنه به قالب VRML
- -x3d
-
تخلیه صحنه به قالب X3D XML
- -x3dv
-
تخلیه صحنه به قالب X3D VRML
- -lsr
-
تخلیه صحنه به قالب LASeR XML (XSR)
- -svg
-
تخلیه صحنه به SVG
- -drtp
-
تخلیه ساختار نمونههای rtp hint در خروجی XML
- -dts
-
چاپ زمانبندی نمونه، اندازه و موقعیت در فایل در خروجی متنی
- -dtsx
-
مشابه .I dts اما افست را چاپ نمیکند
- -dtsc
-
مشابه .I dts اما هر نمونه را برای dts/cts تکراری تحلیل میکند (کند!)
- -dtsxc
-
مشابه .I dtsc اما افست را چاپ نمیکند (کند!)
- -dnal (int)
-
چاپ اطلاعات نمونه NAL قطعه دادهشده
- -dnalc (int)
-
چاپ اطلاعات نمونه NAL قطعه دادهشده، بههمراه افزودن CRC برای هر nal
- -dnald (int)
-
چاپ اطلاعات نمونه NAL قطعه دادهشده بدون اطلاعات DTS و CTS
- -dnalx (int)
-
چاپ اطلاعات نمونه NAL قطعه دادهشده بدون اطلاعات DTS و CTS و بههمراه افزودن CRC برای هر nal
- -sdp
-
تخلیه توصیف SDP فایل دارای hint
- -dsap (int)
-
تخلیه نشانههای DASH SAP (گزینه -cues را ببینید) برای قطعه دادهشده
- -dsaps (int)
-
مشابه .I dsap اما تنها شماره نمونه را چاپ میکند
- -dsapc (int)
-
مشابه .I dsap اما تنها CTS را چاپ میکند
- -dsapd (int)
-
مشابه .I dsap اما تنها DTS را چاپ میکند
- -dsapp (int)
-
مشابه .I dsap اما تنها زمان نمایش (presentation time) را چاپ میکند
- -dcr
-
تخلیه ساختار نمونههای ISMACryp در خروجی XML
- -dchunk
-
تخلیه اطلاعات chunk
- -dump-cover
-
استخراج تصویر جلد (cover art)
- -dump-chap
-
استخراج فایل فصلها در قالب TTXT
- -dump-chap-ogg
-
استخراج فایل فصلها در قالب OGG -dump-chap-zoom
استخراج فایل فصلها به قالب zoom
- -dump-udta [tkID:]4cc
-
استخراج دادههای کاربر برای 4CC مشخصشده. اگر tkID داده شود، از UDTA مربوط به شناسه قطعه (track ID) مشخصشده استخراج میشود، در غیر این صورت از moov استفاده میشود
- -mergevtt
-
ادغام نشانههای vtt هنگام استخراج
- -ttxt (int)
-
در صورت نبود پارامتر، تبدیل زیرنویس ورودی به قالب GPAC TTXT. در غیر این صورت، استخراج قطعه متنی دادهشده به قالب GPAC TTXT
- -srt (int)
-
در صورت نبود پارامتر، تبدیل زیرنویس ورودی به قالب SRT. در غیر این صورت، استخراج قطعه متنی دادهشده به قالب SRT
- -nstat
-
تولید آمار گره/میدان (node/field) برای صحنه
- -nstats
-
تولید آمار گره/میدان به ازای هر واحد دسترسی (Access Unit)
- -nstatx
-
تولید آمار گره/میدان برای صحنه پس از هر AU
- -hash
-
تولید درهمساز (Hash) SHA-1 برای فایل ورودی
- -comp (string)
-
جایگزینی تمام انواع باکسهای سطح بالا (top-level boxes) دادهشده به عنوان پارامتر با نسخه فشرده، در قالب orig_4cc_1=comp_4cc_1[,orig_4cc_2=comp_4cc_2]
- -topcount (string)
-
چاپ تعداد باکسهای سطح بالا منطبق بر انواع باکس دادهشده به عنوان پارامتر در stdout، در قالب 4cc_1,4cc_2N
- -topsize (string)
-
چاپ اندازه (بر حسب بایت) باکسهای سطح بالا منطبق بر انواع دادهشده به عنوان پارامتر در stdout، در قالب 4cc_1,4cc_2N یا all برای تمام باکسها
- -bin
-
تبدیل فایل XML ورودی با استفاده از نحو جریان بیتی NHML به باینری
- -mpd-rip
-
دریافت MPD و قطعهها (segments) بر روی دیسک
- -udp-write (string, default: IP[:port])
-
نوشتن نام ورودی روی UDP (درگاه پیشفرض 2345)
- -raw-cat (string)
-
پیوست خام (raw concatenation) فایل دادهشده با فایل ورودی
- -wget (string)
-
دریافت منبع از نشانی اینترنتی http(s)
- -dm2ts
-
استخراج زمانبندی نمونههای یک جریان ورودی MPEG-2 TS
- -check-xml
-
بررسی قالب خروجی XML برای گزینههای -dnal*، -diso* و -dxml
- -fuzz-chk
-
باز کردن فایل بدون وارسی اولیه (probing) و خروج (برای آزمونهای fuzz)
گزینههای واردسازی (Importing Options)
واردسازی فایل (File importing)
نحو دستور
به صورت .I add / .I cat
URL[#FRAGMENT][:opt1...:optN=val] است.
این فرایند
در صورت
موجود
نبودن فایل
مقصد، آن را
ایجاد کرده
و قطعه(ها) را
به آن اضافه
میکند. اگر
میخواهید
همواره یک
فایل مقصد
جدید ایجاد
شود، .I -new را
اضافه کنید.
انواع
رسانههای
ورودی
پشتیبانیشده
به نوع نصب
شما بستگی
دارد؛ برای
اطلاعات
بیشتر
مستندات
فیلترها (filters)
را بررسی
کنید.
جهت
انتخاب یک
قطعه
رسانهای
مورد نظر از
یک منبع،
میتوان یک
شناسه قطعه
'#' را پیش از
هر گزینه
دیگری مشخص
کرد. نحو زیر
به کار
میرود:
* `#video`: اولین
قطعه
ویدیویی
یافتشده
در منبع را
میافزاید
* `#audio`: اولین
قطعه صوتی
یافتشده
در منبع را
میافزاید
* `#auxv`: اولین
قطعه
ویدیویی
کمکی
یافتشده
در منبع را
میافزاید
* `#pict`: اولین
قطعه
تصویری
یافتشده
در منبع را
میافزاید
* `#trackID=ID` یا `#ID`: قطعه
مشخصشده
را
میافزاید.
برای
فایلهای
IsoMedia، شناسه ID
همان track ID است.
برای سایر
فایلهای
رسانهای، ID
مقداری است
که توسط MP4Box -info inputFile
مشخص شده
است
* `#pid=ID`: شماره PID
مورد نظر
برای منابع
MPEG-2 TS
* `#prog_id=ID`: شماره
برنامه
مورد نظر
برای منابع
MPEG-2 TS
* `#program=NAME`: نام
برنامه
مورد نظر
برای منابع
MPEG-2 TS
بهطور پیشفرض تمام واردسازیها به صورت متوالی انجام میشوند و درهمبافی (interleaving) نهایی در پایان کار صورت میگیرد؛ با این وجود، این امر نیازمند یک فایل موقت برای نگهداری فایل ISOBMF اصلی (در صورت وجود) و فایلهای اضافهشده پیش از ایجاد خروجی نهایی است. از آنجا که حجم این فایل موقت میتواند بسیار زیاد شود، میتوان با استفاده از گزینه .I -flat رسانه را بدون فضای ذخیرهسازی موقت به فایلی جدید افزود، اما این کار درهمبافی رسانه را غیرفعال میکند.
اگر
میخواهید
فایلی جدید
و
درهمبافته
بدون فضای
ذخیرهسازی
موقت ایجاد
کنید، از
گزینه .I -newfs
استفاده
کنید. این
درهمبافی
ممکن است به
دقت زمان
استفاده از .I
-new نباشد،
زیرا به
زمانبندی
ورودی
مالتیپلکسر
وابسته است
(هر بار اجرا
ممکن است به
نتیجهای
کمی متفاوت
منجر شود).
علاوهبر
این در این
حالت:
- برخی از
گزینههای
مالتیپلکس
(که در زیر با
X مشخص
شدهاند)
برای همه
ورودیها
فعال
خواهند شد
(به عنوان
نمونه،
وارد کردن
یک قطعه AVC با
xps_inband و قطعهای
دیگر بدون
آن ممکن
نیست).
- برخی
گزینههای
مالتیپلکس
(که در زیر با
D مشخص
شدهاند)
قابل
استفاده
نیستند،
زیرا برای
ویرایش
فایل به
فضای
ذخیرهسازی
موقت نیاز
دارند.
- استفاده از
.I cat
امکانپذیر
است، اما
منابع
متوالیشده
در خروجی
درهمبافته
نخواهند شد.
اگر
میخواهید
عملیات
پیچیدهتری
از cat/add را بدون
فایل موقت
انجام
دهید، از یک
فهرست پخش (playlist)
استفاده
کنید.
نشانی منبع (Source URL) میتواند هر نشانی اینترنتی پشتیبانیشده توسط GPAC باشد و محدود به فایلهای محلی نیست.
نکته: هنگام وارد کردن فایلهای SRT یا SUB، برنامه MP4Box گزینههای چیدمان پیشفرضی را برمیگزیند تا زیرنویس در پایین ویدیو نمایش داده شود. شما نباید پیش از افزودن قطعه ویدیویی به فایل مقصد، چنین فایلهایی را وارد کنید؛ در غیر این صورت، نتایج احتمالاً کاربردی نخواهند بود (واردسازی پیشفرض SRT/SUB از قلم serif پیشفرض، fontSize ۱۸ و اندازه نمایش 400x60 استفاده میکند). برای جزئیات بیشتر، مستندات TTXT را بررسی کنید.
هنگام واردسازی چندین قطعه/منبع در یک نوبت، تمام گزینهها در صورت مرتبط بودن به هر منبع اعمال خواهند شد. این گزینهها برای همه جریانهای واردشده تنظیم میشوند. اگر میخواهید این گزینهها را به ازای هر جریان مشخص کنید، گزینههای اختصاصی هر فایل را با استفاده از نحو -add stream[:opt1:...:optN] تنظیم نمایید.
نام فایل
واردسازی
ممکن است
خالی یا self
تنظیم شود،
که نشان
میدهد
گزینههای
واردسازی
باید بر روی
قطعه(های)
فایل مقصد
اعمال
گردند.
مثال
-add self:moovts=-1:noedit src.mp4
این دستور
گزینههای
moovts و noedit را بر
روی تمام
قطعههای src.mp4
اعمال
میکند
مثال
-add self#2:moovts=-1:noedit src.mp4
این دستور
گزینههای
moovts و noedit را بر
روی قطعه با
ID=2 در src.mp4 اعمال
میکند
در این حالت
فقط
گزینههای
اختصاصی هر
فایل که با S
مشخص
شدهاند
مجاز
هستند.
هنگام واردسازی یک فایل ISOBMFF/QT، فقط گزینههای مشخصشده با C یا S قابل استفاده هستند.
هنگام واردسازی به عنوان یک قطعه خارجی، فقط گزینههای مشخصشده با E قابل استفاده هستند.
گزینههای مجاز به ازای هر فایل:
- dur (int)
-
XCE تنها مدتزمان مشخصشده از رسانه را وارد میکند. مقدار میتواند موارد زیر باشد:
* عدد اعشاری مثبت: مشخصکننده مدتزمان بر حسب ثانیه
* کسر: مشخصکننده مدتزمان به صورت کسر NUM/DEN
* عدد صحیح منفی: مشخصکننده مدتزمان بر حسب تعداد فریمهای کدگذاریشده start (number)
C زمان شروع هدف در رسانهٔ مبدأ؛ بسته به مبدأ ممکن است پشتیبانی نشود
- lang (string)
-
SE تنظیم کد زبان رسانهٔ واردشده
- delay (int)
-
SE تنظیم تأخیر اولیه (0<) یا پرش اولیه (0>) رسانهٔ واردشده به میلیثانیه یا بهصورت کسری از ثانیه (N/D)
- par (string)
-
S تنظیم نسبت ابعاد پیکسلی تصویر (ببینید: .I -par )
- clap (string)
-
S تنظیم گشودگی دیافراگم تمیز (clean aperture) تصویر (ببینید: .I -clap )
- mx (string)
-
SE تنظیم ماتریس تِرَک (ببینید: .I -mx )
- name (string)
-
S تنظیم نام گردانندهٔ تِرَک
- ext (string)
-
بازنویسی پسوند فایل هنگام واردسازی
- hdlr (string)
-
S تنظیم نوع گردانندهٔ تِرَک با کد چهارنویسهای (4CC) دادهشده
- stype (string)
-
S اجبار نوع شرح نمونه (sample description) به کد چهارنویسهای (4CC) دادهشده؛ به احتمال زیاد باعث خرابی فایل میشود
- tkhd (int)
-
SE تنظیم پرچمهای سرآیند تِرَک بهصورت عدد صحیح هگزادسیمال یا فهرستی جداشده با کاما از کلیدواژههای enable، movie، preview، size_ar (برای افزودن از tkhd+=FLAGS و برای حذف از tkhd-=FLAGS استفاده کنید)
- disable
-
SE غیرفعالسازی تِرَک(های) واردشده؛ برای اجبار به فعالسازی یک تِرَک غیرفعال از disable=no استفاده کنید
- group (int)
-
SE افزودن تِرَک بهعنوان بخشی از گروه جایگزین G. اگر G برابر 0 باشد، نخستین GroupID در دسترس انتخاب خواهد شد
- fps (string)
-
S همانند .I fps
- rap
-
DS تنها وارد کردن نمونههای RAP
- refs
-
DS تنها وارد کردن تصاویر مرجع
- trailing
-
نگهداشتن بایتهای صفر پایانی در نمونههای AVC/HEVC
- agg (int)
-
X همانند .I agg
- dref
-
XC همانند .I dref
- keep_refs
-
C حفظ ارجاع تِرَک هنگام وارد کردن یک تکتِرَک
- nodrop
-
همانند .I no-drop
- packed
-
X همانند .I packed
- sbr
-
همانند .I sbr
- sbrx
-
همانند .I sbrx
- ovsbr
-
همانند .I ovsbr
- ps
-
همانند .I ps
- psx
-
همانند .I psx
- asemode (string)
-
XS تنظیم حالت ایجاد AudioSampleEntry. مقدار میتواند یکی از موارد زیر باشد:
* v0-s: استفاده از MPEG AudioSampleEntry v0 و تعداد کانالها از جریان بیت (حتی اگر بیشتر از ۲ باشد، مگر برای Dolby (e)AC3/4) - پیشفرض
* v0-2: استفاده از MPEG AudioSampleEntry v0 و اجبار تعداد کانالها به ۲
* v0-bs: استفاده از MPEG AudioSampleEntry v0 و تعداد کانالها از جریان بیت
* v1: استفاده از MPEG AudioSampleEntry v1 و تعداد کانالها از جریان بیت
* v1-qt: استفاده از QuickTime Sound Sample Description نسخهٔ ۱ و تعداد کانالها از جریان بیت (حتی اگر بیشتر از ۲ باشد). این حالت همچنین استفاده از ارجاعات دادهای alis را بهجای url، حتی برای تِرَکهای غیرصوتی، فعال میکند
- audio_roll (int)
-
S افزودن یک گروه نمونهٔ roll با roll_distance مقدار N برای تِرَکهای صوتی
- roll (int)
-
S افزودن یک گروه نمونهٔ roll با roll_distance مقدار N
- proll (int)
-
S افزودن یک گروه نمونهٔ preroll با roll_distance مقدار N
- mpeg4
-
X همانند گزینهٔ .I mpeg4
- nosei
-
دور انداختن تمام پیامهای SEI هنگام واردسازی
- svc
-
وارد کردن SVC/LHVC با سیگنالدهی صریح (بدون سازگاری با لایهٔ پایه AVC)
- nosvc
-
دور انداختن دادههای SVC/LHVC هنگام واردسازی
- svcmode (string)
-
DS تنظیم حالت واردسازی SVC/LHVC. مقدار میتواند یکی از موارد زیر باشد:
* split: هر لایه در تِرَک اختصاصی خود قرار میگیرد
* merge: تمام لایهها در یک تِرَک واحد ادغام میشوند
* splitbase: تمام لایهها در یک تِرَک ادغام میشوند و لایهٔ پایه در تِرَکی دیگر
* splitnox: هر لایه در تِرَک اختصاصی خود قرار میگیرد و هیچ استخراجکنندهای (extractor) نوشته نمیشود
* splitnoxib: هر لایه در تِرَک اختصاصی خود قرار میگیرد، هیچ استخراجکنندهای نوشته نمیشود و از سیگنالدهی مجموعه پارامترهای درونباندی (inband) استفاده میشود temporal (string)
DS تنظیم حالت واردسازی زیرلایه زمانی (temporal sublayer) HEVC/LHVC. مقدار میتواند موارد زیر باشد:
* split: هر زیرلایه در تِرَک اختصاصی خود قرار میگیرد
* splitbase: تمام زیرلایهها در یک تِرَک ادغام میشوند، و لایه پایه HEVC در تِرَکی دیگر
* splitnox: هر لایه در تِرَک اختصاصی خود قرار میگیرد، و هیچ استخراجکنندهای (extractor) نوشته نمیشود
- subsamples
-
افزودن اطلاعات SubSample برای AVC+SVC
- deps
-
واردسازی اطلاعات وابستگی نمونهها برای AVC و HEVC
- ccst
-
S افزودن جعبه (box) پیشفرض ccst مربوط به HEIF به ورودی نمونه تصویری (visual sample entry)
- forcesync
-
SE علامتگذاری اجباری نمونههای غیر IDR حاوی I-slice (مانند OpenGOP یا GDR) به عنوان نقاط همگامسازی (sync points)
هشدار: فایل نهایی با مشخصات استاندارد سازگار نخواهد بود اما پرش زمانی (seeking) را در اکثر پخشکنندهها تصحیح میکند
- xps_inband
-
XC قرار دادن xPS بهصورت inband برای AVC/H264 و HEVC (برای عملیات معکوس، مجدداً از رسانه خام وارد کنید)
- xps_inbandx
-
XC همانند xps_inband به همراه نگهداشتن نخستین xPS در توضیحات نمونه (sample description)
- au_delim
-
نگهداشتن واحدهای NAL جداکننده دسترسی (AU delimiter) در فایل واردشده
- max_lid (int)
-
تنظیم شناسه بیشینه لایه (max layer ID) در HEVC برای واردسازی به N (بهطور پیشفرض همه لایهها وارد میشوند)
- max_tid (int)
-
تنظیم شناسه بیشینه زیرلایه زمانی (max temporal ID) در HEVC برای واردسازی به N (بهطور پیشفرض همه زیرلایههای زمانی وارد میشوند)
- tiles
-
S افزودن سیگنالدهی تایلهای HEVC و نگاشتهای NALU بدون تفکیک تایلها به تِرَکهای مجزای تایل
- split_tiles
-
DS تفکیک تایلهای HEVC به تِرَکهای مجزای تایل، یک تایل (یا تمامی تایلهای یک برش/اسلایس) در هر تِرَک
- negctts
-
S استفاده از آفستهای منفی CTS-DTS (برند ISO4). برای اجبار به استفاده از آفست مثبت در یک تِرَک موجود از negctts=no استفاده کنید
- chap
-
SE مشخص کردن اینکه تِرَک مورد نظر یک تِرَک فصلبندی (chapter track) است
- chapter (string)
-
SE افزودن یک فصل تکی (قالب قدیمی nero) با نام دادهشده که در طول کل فایل ادامه دارد
- chapfile (string)
-
SE افزودن یک فایل فصلبندی (قالب قدیمی nero)
- layout (string)
-
SE مشخص کردن چیدمان تِرَک بهصورت WxH[xXxY][xLAYER]. اگر W (یا به ترتیب H) برابر 0 باشد، بیشینه پهنا (یا به ترتیب بیشینه ارتفاع) تِرَکهای موجود در فایل استفاده میشود
- rescale (int)
-
S اجبار مقیاس زمانی رسانه (timescale) به TS (عدد صحیح یا کسری) و تغییر مدتزمان رسانه
- sampdur (int)
-
S اجبار مدتزمان تمام نمونهها (D) یا مدتزمان نمونهها و مقیاس زمانی رسانه (D/TS)؛ برای وصله کردن فایلهای CFR با زمانبندی معیوب استفاده میشود
- timescale (int)
-
S تنظیم مقیاس زمانی رسانه واردشده به TS
- moovts (int)
-
SE تنظیم مقیاس زمانی فیلم به TS. مقدار منفی مقیاس زمانی نخستین تِرَک واردشده را انتخاب میکند
- noedit
-
XS عدم تنظیم فهرست ویرایش (edit list) هنگام واردسازی تِرَکهای ویدیویی B-frames
- rvc (string)
-
S تنظیم پیکربندی RVC برای رسانه
- fmt (string)
-
نادیدهگرفتن تشخیص قالب با قالب دادهشده - غیرفعالسازی ارزیابی اولیه دادهها (data probing) و اجبار گزینه ext روی منبع
- profile (int)
-
S نادیدهگرفتن و جایگزینی پروفایل AVC. مقدار عددی صحیح، یا high444، high، extended، main، baseline
- level (int)
-
S نادیدهگرفتن و جایگزینی سطح (level) در AVC؛ اگر مقدار < 6 باشد، بهصورت عبارت اعشاری تفسیر میشود
- compat (int)
-
S اجبار پرچمهای سازگاری پروفایل برای محتوای H.264
- novpsext
-
حذف اکستنشنهای VPS از HEVC VPS
- keepav1t
-
نگهداشتن OBU جداکننده زمانی AV1 در نمونهها؛ در صورتی که فایل مبدأ دارای افت داده بوده باشد ممکن است مفید باشد
- dlba (string)
-
S اجبار حالت DolbyAtmos برای EAC3. مقدار میتواند این موارد باشد:
* no: غیرفعالسازی سیگنالدهی Atmos
* auto: استفاده از سیگنالدهی Atmos از نخستین نمونه
* N: اجبار سیگنالدهی Atmos با استفاده از شاخص نوع سازگاری N
- font (string)
-
مشخص کردن نام قلم برای واردسازی متن (پیشفرض Serif)
- size (int)
-
مشخص کردن اندازه قلم برای واردسازی متن (پیشفرض 18)
- text_layout (string)
-
مشخص کردن چیدمان متنی تِرَک بهصورت WxHxXxY
* اگر W (یا به ترتیب H) = 0 باشد: بیشینه پهنا (یا به ترتیب بیشینه ارتفاع) تِرَکهای موجود در فایل استفاده میشود
* اگر Y=-1 باشد: چیدمان به پایین ناحیه تِرَک منتقل میشود
* مقادیر X و Y را میتوان حذف کرد: :layout=WxH
- swf-global
-
تمام تعاریف (defines) فایل SWF به جای زمان نیاز، در نخستین جایگزینی صحنه (scene replace) قرار میگیرند
- swf-no-ctrl
-
استفاده از یک جریان واحد برای کنترل فیلم و دیکشنری (این کار ActionScript را غیرفعال میکند)
- swf-no-text
-
حذف تمام متون SWF swf-no-font
حذف تمام قلمهای SWF تعبیهشده (استفاده از قلمهای میزبان پخش محلی)
- swf-no-line
-
حذف تمام خطوط از اشکال SWF
- swf-no-grad
-
حذف تمام گرادیانها از اشکال SWF
- swf-quad
-
استفاده از منحنیهای بزیه درجهدوم بهجای درجهسوم
- swf-xlp
-
پشتیبانی از شفافیت خطوط و مقیاسپذیری
- swf-ic2d
-
استفاده از پروتوتایپ سختکدشدهٔ منحنی دوبعدی نمایهگذاریشده (indexed curve 2D hardcoded proto)
- swf-same-app
-
استفادهٔ مجدد از گرههای ظاهر (appearance nodes)
- swf-flatten (number)
-
زاویهٔ متممی که کمتر از آن ۲ خط ادغام میشوند؛ ۰ به معنای عدم مسطحسازی (flattening) است
- kind (string)
-
SE تنظیم kind برای قطعه بهصورت schemeURI=value
- txtflags (int)
-
تنظیم پرچمهای نمایش (عدد هگزادسیمال) قطعهٔ متنی. برای افزودن پرچمها از txtflags+=FLAGS و برای حذف پرچمها از txtflags-=FLAGS استفاده کنید
- rate (int)
-
تحمیل نرخ میانگین و حداکثر نرخ به VAL (به bps) در جعبهٔ btrt. در صورت ۰ بودن، جعبهٔ btrt حذف میشود
- stz2
-
S استفاده از جدول اندازهٔ فشرده (برای نرخبیتهای پایین)
- bitdepth (int)
-
تنظیم عمق بیت روی VAL برای محتوای ویدیویی واردشده (پیشفرض ۲۴ است)
- colr (string)
-
S تنظیم نمایهٔ رنگ برای محتوای ویدیویی واردشده. مقدار به این صورت قالببندی میشود:
* nclc,p,t,m: با رنگ پایهٔ p (عدد صحیح یا رشته)، مشخصات انتقال t (عدد صحیح یا رشته) و ضریب ماتریس m (عدد صحیح یا رشته)، رجوع کنید به -h cicp
* nclx,p,t,m,r: مشابه nclx بههمراه پرچم محدودهٔ کامل r (مقدار yes، on یا no، off)
* prof,path: با path که مشخصکنندهٔ فایل حاوی نمایهٔ رنگ ICC است
* rICC,path: با path که مشخصکنندهٔ فایل حاوی نمایهٔ رنگ محدودشدهٔ ICC است
* 'none': حذف اطلاعات رنگ
- hdr (string)
-
S تنظیم اطلاعات HDR روی قطعه (ببینید .I -hdr )، مقدار 'none' اطلاعات HDR را حذف میکند
- dvp,-dv-profile (string)
-
S تنظیم نمایهٔ Dolby Vision روی قطعهٔ واردشده
- نمایه یک عدد صحیح است، یا none برای حذف سیگنالدهی DV
- نمایه میتواند با شناسهٔ سازگاری پسوندگذاری شود، مانند 5.hdr10
- شناسههای سازگاری مجاز عبارتند از none، hdr10، bt709، hlg709، hlg2100، bt2020، brd یا یک مقدار عددی صحیح مطابق با مشخصات DV
- نمایه میتواند با 'f' پیشوندگذاری شود تا سیگنالدهی نوع کدک DV تحمیل شود، مانند f8.2
- dvmdc (int)
-
S تنظیم فشردهسازی فرادادهٔ Dolby Vision (مقادیر معتبر: 0، 1، 3. پیشفرض = 0)
- fullrange (string)
-
S تحمیل نوع محدودهٔ کامل (fullrange) ویدیو در VUI برای محتوای AVC|H264 (مقادیر yes، on یا no، off)
- videofmt (string)
-
S تحمیل قالب ویدیو در VUI برای محتوای AVC|H264 و HEVC؛ مقدار میتواند component، pal، ntsc، secam، mac یا undef باشد
- colorprim (string)
-
S تحمیل رنگهای اصلی در VUI برای AVC|H264 و HEVC (عدد صحیح یا رشته، رجوع کنید به -h cicp)
- colortfc (string)
-
S تحمیل مشخصات انتقال در VUI برای AVC|H264 و HEVC (عدد صحیح یا رشته، رجوع کنید به -h cicp)
- colormx (string)
-
S تحمیل ضرایب ماتریس در VUI برای محتوای AVC|H264 و HEVC (عدد صحیح یا رشته، رجوع کنید به -h cicp)
- tc (string)
-
SE تزریق یک کد زمانی (timecode) منفرد QT. مقدار به این صورت قالببندی میشود:
* [d]FPS[/FPS_den],h,m,s,f[,framespertick]: پرچم اختیاری drop، نرخ فریم (صحیح یا کسری)، ساعت، دقیقه، ثانیه و شمارهٔ فریم
* : پرچم d اختیاری است و برای نشان دادن این است که شمارنده در قالب drop-frame قرار دارد
* : آرگومان framespertick اختیاری است و مقدار پیشفرض آن round(framerate) است؛ این مقدار نشاندهندهٔ تعداد فریمها در هر تیک شمارنده است
- edits (string)
-
SE بازنویسی فهرست ویرایش (edit list)، نحوهٔ نگارش یکسان با .I -edits
- lastsampdur (string)
-
S تنظیم مدتزمان آخرین نمونه. مقدار به این صورت قالببندی میشود:
* بدون مقدار: استفاده از مدتزمان نمونهٔ پیشین
* عدد صحیح: مشخصکنندهٔ مدتزمان به میلیثانیه
* N/D: مشخصکنندهٔ مدتزمان بهصورت کسری از ثانیه
- ID (int)
-
SE تنظیم شناسهٔ مقصد
- مقدار 0 (پیشفرض) تلاش میکند شناسهٔ قطعهٔ مبدأ را حفظ کند
- مقدار -1 شناسهٔ قطعهٔ مبدأ را نادیده میگیرد
- مقادیر دیگر تلاش میکنند تا در صورت نبود قطعهٔ دیگری با شناسهٔ یکسان، شناسهٔ قطعه را روی این مقدار تنظیم کنند
- tkgp (string)
-
SE انتساب گروه قطعه به قطعه. مقدار بهصورت TYPE,N قالببندی میشود که در آن TYPE نوع گروه قطعه (4CC) و N شناسهٔ گروه قطعه است. شناسهٔ منفی، آن را از شناسهٔ گروه قطعهٔ -N حذف میکند
- tkidx (string)
-
SE تنظیم موقعیت قطعه در فهرست قطعهها، مقدار ۱ نشاندهندهٔ نخستین قطعه در فایل است
- extk
-
CE افزودن قطعه بهعنوان قطعهٔ خارجی (external)
- times (string)
-
SE اصلاح برچسبهای زمانی با استفاده از فایل برچسب زمانی مشخصشده در مقدار. فایل برچسب زمانی به این صورت قالببندی میشود:
- خطی که با # آغاز شود یک یادداشت (کامنت) است، که در آن میتوان از timescale=V برای تنظیم مقیاس زمانی استفاده کرد (بهطور پیشفرض ۱۰۰۰)
- خطوط خالی نادیده گرفته میشوند
- یک خط به ازای هر نمونه در ترتیب رمزگشایی، بهصورت cts یا dts cts
- stats,-fstat
-
C چاپ آمار نشست فیلتر پس از واردسازی
- graph,-fgraph
-
C چاپ گراف نشست فیلتر پس از واردسازی sopt:[OPTS]
تنظیم OPTS به عنوان آرگومانهای اضافی برای فیلتر مبدأ (source filter). مقدار OPTS میتواند هر یک از آرگومانهای معمول فیلتر باشد، مستندات فیلتر را ببینید: `gpac -h doc`
- dopt:[OPTS]
-
تنظیم OPTS به عنوان آرگومانهای اضافی برای فیلتر مقصد (destination filter). مقدار OPTS میتواند هر یک از آرگومانهای معمول فیلتر باشد، مستندات فیلتر را ببینید: `gpac -h doc`
- @f1[:args][@fN:args]
-
تعیین یک زنجیره فیلتر برای درج پیش از تسهیمکننده (multiplexer). هر فیلتر در زنجیره به صورت یک فیلتر معمولی قالببندی میشود، مستندات فیلتر را ببینید: `gpac -h doc`. جداکننده @@ یک زنجیره جدید را آغاز میکند (راهنمای DASH را ببینید). آخرین فیلتر در هر زنجیره نباید هیچ شناسه (ID) مشخصشدهای داشته باشد.نکته: sopt، dopt و @f باید بعد از تمامی گزینههای دیگر قرار گیرند.
گزینههای عمومی واردسازی (GLOBAL IMPORT OPTIONS)
- -add (string)
-
افزودن ترکهای فایل دادهشده به فایل. ورودیهای چندگانه را میتوان با استفاده از + مشخص کرد، مانند: -add url1+url2
- -cat (string)
-
الحاق نمونههای (samples) فایل دادهشده به فایل، همراه با ایجاد ترکها در صورت نیاز. ورودیهای چندگانه را میتوان با استفاده از + مشخص کرد، مانند: -cat url1+url2.
نکته: این عمل برچسب زمانی (timestamp) اولیه فایل مورد الحاق را تراز میکند.
- -catx (string)
-
مشابه cat است، اما ترکهای جدید را میتوان پیش از الحاق با تعیین +ADD_COMMAND وارد کرد که در آن ADD_COMMAND یک دستور نحوی معمول برای add است.
- -catpl (string)
-
الحاق فایلهای فهرستشده در فایل لیستپخش دادهشده (یک فایل در هر خط، خطوطی که با # آغاز میشوند توضیح هستند).
نکته: هر فایل فهرستشده بهگونهای الحاق میشود که گویی با -cat فراخوانی شده است.
- -unalign-cat
-
عدم تلاش برای تراز کردن برچسبهای زمانی نمونهها در میان ترکها.
- -force-cat
-
صرفنظر کردن از بررسی پیکربندی رسانه هنگام الحاق فایل.
هشدار: این کار ممکن است به خراب شدن ترک(های) الحاقشده منجر شود (THIS MAY BREAK THE CONCATENATED TRACK(S)).
- -keep-sys
-
حفظ تمامی اطلاعات سامانههای MPEG-4 هنگام استفاده از add و cat (تنها هنگام افزودن فایلهای IsoMedia استفاده میشود).
- -dref
-
نگهداشتن دادههای رسانه در فایل اصلی با استفاده از ارجاع داده (data referencing). فایل نهایی تنها شامل فرادادههای ارائه (اندازه فریمها، زمانبندی و غیره) بوده و به دادههای رسانه در فایل اصلی ارجاع میدهد. این ویژگی هنگام توسعه محتوا بسیار مفید است، زیرا واردسازی و ذخیرهسازی فایل MP4 بسیار سریعتر بوده و فایل خروجی بسیار کوچکتر خواهد بود.
نکته: ارجاع داده ممکن است در برخی فایلها با خطا مواجه شود، زیرا مستلزم آن است که دادههای فریمبندیشده (مانند یک نمونه IsoMedia) در فایل اصلی پیوسته باشند، که بسته به درهمبافی (interleaving) اولیه یا قالب جریان بیت (bitstream) همیشه برقرار نیست (AVC یا HEVC نمیتوانند از این گزینه استفاده کنند).
- -no-drop,-nodrop
-
اجبار به نرخ فریم ثابت (constant FPS) هنگام وارد کردن ویدیوی AVI.
- -packed
-
اجبار به جریان بیت بستهبندیشده (packed bitstream) هنگام وارد کردن MPEG-4 part 2 Advanced Simple Profile خام.
- -sbr
-
سیگنالدهی سازگار با نسخههای پیشین (backward compatible) برای AAC-SBR.
- -sbrx
-
سیگنالدهی غیرسازگار با نسخههای پیشین (non-backward compatible) برای AAC-SBR.
- -ps
-
سیگنالدهی سازگار با نسخههای پیشین (backward compatible) برای AAC-PS.
- -psx
-
سیگنالدهی غیرسازگار با نسخههای پیشین (non-backward compatible) برای AAC-PS.
- -ovsbr
-
واردسازی SBR با نمونهبرداری بیشازحد (oversample) (AAC دارای SBR، AAC دارای PS و SBR نمونهبرداری بیشازحد شده در زمان وارد کردن قابل شناسایی نیستند).
- -fps (string)
-
اجبار نرخ فریم برای وارد کردن ویدیو و زیرنویسهای SUB به مقدار مشخصشده، بیانشده به صورت یک عدد، به شکل TS-inc یا TS/inc.
نکته: برای وارد کردن H263 خام، FPS پیشفرض ۱۵ است، در غیر این صورت ۲۵ خواهد بود. این مقدار برای واردسازی ISOBMFF پذیرفته میشود، اما استفاده از گزینه rescale: ارجحیت دارد.
- -mpeg4
-
اجبار به استفاده از توصیفهای نمونه (sample descriptions) در MPEG-4 در صورت امکان. برای AAC، سیگنالدهی MPEG-4 AAC را حتی در صورت MPEG-2 بودن اجبار میکند.
- -agg (int)
-
تجمیع N فریم صوتی در ۱ نمونه (فقط رسانههای 3GP، حداکثر مقدار ۱۵ است).
نشانهگذاری
(hinting) در IsoMedia شامل
ایجاد
ترکهای
ویژهای در
فایل است که
حاوی
اطلاعات
مختص
پروتکل
انتقال و به
صورت
اختیاری
اطلاعات
تسهیمسازی
(multiplexing) هستند.
این ترکها
سپس توسط
سرور برای
ایجاد
بستههای
واقعی
ارسالی روی
شبکه
استفاده
میشوند؛
به عبارت
دیگر،
آنها
راهنماییهایی
(hints) درباره
نحوه ساخت
بستهها به
سرور ارائه
میدهند، و
از این رو
ترکهای hint
نامیده
میشوند.
ابزار MP4Box از
ایجاد
ترکهای hint
برای
سرورهای RTSP
پشتیبانیکننده
از این
قابلیت
مانند QuickTime Streaming Server،
DarwinStreaming Server یا
سرورهای RTSP
سازگار با 3GPP
پشتیبانی
میکند.
نکته:
ابزارهای
پخش رسانه GPAC
شامل خروجی
rtp و سرور rtsp از
ترکهای hint
استفاده
نمیکنند؛
آنها از
بستهبندی
درجا و
بلادرنگ (on-the-fly)
از هر منبع
رسانهای،
و نه فقط MP4،
بهره
میبرند.
گزینهها:
- -hint
-
نشانهگذاری (hint) فایل برای RTP/RTSP
- -mtu (int, default: 1450)
-
تعیین MTU پروتکل RTP (حداکثر اندازه) بر حسب بایت (شامل ۱۲ بایت سرایند RTP)
- -copy
-
کپی کردن دادههای رسانه در ترک hint به جای ارجاع (سرعت سرور را افزایش میدهد اما فضای بسیار بیشتری میگیرد)
- -multi [maxptime]
-
فعالسازی الحاق فریمها در بستههای RTP در صورت امکان (با حداکثر مدتزمان ۱۰۰ میلیثانیه یا maxptime میلیثانیه در صورت تعیین)
- -rate (int, default: 90000)
-
تعیین نرخ rtp بر حسب هرتز (Hz) هنگامی که مقدار پیشفرضی برای payload وجود ندارد
- -mpeg4
-
اجبار به استفاده از بار داده (payload) عمومی MPEG-4 در هر زمان ممکن
- -latm
-
اجبار به استفاده از انتقال MPG4-LATM برای جریانهای AAC
- -static
-
فعالسازی شناسههای ایستا (static) برای payload پروتکل RTP در صورت امکان (به طور پیشفرض، همواره از payloadهای پویا استفاده میشود)
- -add-sdp (string)
-
افزودن رشته SDP دادهشده به فیلم (string) یا ترک (tkID:string)، که tkID شناسه ترک یا شناسه ترک hint است
- -no-offset
-
اعلام عدم وجود آفست تصادفی برای شماره توالی (sequence number) و برچسب زمانی (پشتیبانی به سرور بستگی دارد)
- -unhint
-
حذف تمام اطلاعات hinting از فایل
- -group-single
-
قرار دادن تمام ترکها در یک گروه hint واحد
- -ocr
-
اجبار به همگامسازی تمام جریانهای MPEG-4 (تنها در MPEG-4 Systems)
- -rap
-
اعلام نقاط دسترسی تصادفی (RAP) در بستههای RTP (مختص MPEG-4 Systems)
- -ts
-
اعلام برچسبهای زمانی AU در بستههای RTP (مختص MPEG-4 Systems)
- -size
-
اعلام اندازه AU در بستههای RTP (مختص MPEG-4 Systems)
- -idx
-
اعلام شمارههای توالی AU در بستههای RTP (مختص MPEG-4 Systems)
- -iod
-
جلوگیری از تعبیه ترکهای systems در IOD (مختص MPEG-4 Systems)، ناسازگار با .I -isma
گزینههای کدگذاری صحنه MPEG-4 (MPEG-4 SCENE ENCODING OPTIONS)
ملاحظات عمومی
ابزار MP4Box از
کدگذاری و
رمزگشایی
فرمتهای BT،
XMT، VRML و (تا حدی) X3D
به MPEG-4 BIFS، و
کدگذاری و
رمزگشایی XSR
و SVG به MPEG-4 LASeR
پشتیبانی
میکند.
هر ترک
رسانهای
مشخصشده
از طریق یک
عنصر MuxInfo، به
فایل MP4
خروجی وارد
خواهد شد.
به
https://wiki.gpac.io/Howtos/scenecoding/MPEG-4-BIFS-Textual-Format و
صفحات
مرتبط
مراجعه
کنید.
دسترسی تصادفی به صحنه (Scene Random Access)
ابزار MP4Box
میتواند
جریانهای
BIFS یا LASeR را
کدگذاری
کرده و نقاط
دسترسی
تصادفی را
با بسامد
مشخصی درج
کند. این
قابلیت
هنگام
بستهبندی
محتوا برای
پخش سراسری
(broadcast) که
کاربران در
زمانهای
مختلف وارد
صحنه
میشوند
بسیار
کاربردی
است. در
اصطلاحات
MPEG-4، به این
فرایند
گردونه
صحنه (scene carousel)
گفته
میشود. ##
پردازش
تکهای BIFS
حالت
کدگذاری
تکهای (chunk) در
BIFS امکان
کدگذاری
واحدهای
دسترسی (AU)
منفرد BIFS را
از یک زمینه
(context) اولیه و
مجموعهای
از دستورات
فراهم
میکند.
واحدهای AU
تولیدشده
به صورت BIFS
خام (بدون
بستهبندی SL)
هستند و در
فایلهایی
به نام FILE-ESID-AUIDX.bifs
ذخیره
میشوند که
در آن FILE نام
پایه فایل
ورودی است.
دستوراتی
با
زمانبندی 0
در ورودی،
تنها نسخه carousel
(یعنی context
خروجی) را
تغییر
خواهند داد.
دستوراتی
با
زمانبندی
متفاوت از 0
در ورودی،
AUهای جدیدی
ایجاد
خواهند
کرد.
گزینهها:
- -mp4
-
مشخص میکند که فایل ورودی برای کدگذاری BIFS/LASeR است
- -def
-
کدگذاری نامهای DEF در BIFS
- -sync (int)
-
اجبار به تولید نمونه همگامسازی (sync sample) در BIFS در هر زمان مشخص بر حسب میلیثانیه (نمیتوان همزمان با .I shadow یا .I carousel استفاده کرد)
- -shadow (int)
-
اجبار به تولید نمونه BIFS sync shadow در هر زمان مشخص بر حسب میلیثانیه (نمیتوان همزمان با .I sync یا .I carousel استفاده کرد)
- -carousel (int)
-
استفاده از BIFS carousel (نمیتوان همزمان با .I sync یا .I shadow استفاده کرد)
- -sclog
-
تولید فایل لاگ (log) برای کدک صحنه در صورت امکان
- -ms (string)
-
وارد کردن ترکها از فایل مشخصشده
- -ctx-in (string)
-
مشخص کردن فایل زمینه اولیه (MP4/BT/XMT) برای پردازش تکهای. فایل ورودی باید تنها حاوی دستورات باشد
- -ctx-out (string)
-
مشخص کردن محل ذخیره فایل زمینه بهروزشده (MP4/BT/XMT) برای پردازش تکهای، اختیاری
- -resolution (int)
-
ضریب تفکیکپذیری (۸- تا ۷، پیشفرض ۰) برای کدگذاری LASeR، و تمام مختصات قبل از کوتاه شدن (truncation) در 2^res ضرب میشوند (کدگذاری LASeR)
- -coord-bits (int)
-
تعداد بیتهای مورد استفاده برای کدگذاری مختصات کوتاهشده (۰ تا ۳۱، پیشفرض ۱۲) (کدگذاری LASeR)
- -scale-bits (int)
-
بیتهای اضافی مورد استفاده برای کدگذاری مقیاسهای کوتاهشده (۰ تا ۴، پیشفرض ۰) (کدگذاری LASeR)
- -auto-quant (int)
-
تفکیکپذیری مشابه با استفاده از .I resolution مشخص میشود اما coord-bits و scale-bits به طور خودکار استنباط میشوند (کدگذاری LASeR)
- -global-quant (int)
-
تفکیکپذیری مشابه با استفاده از .I resolution مشخص میشود اما مقدار res به طور خودکار استنباط میشود (کدگذاری BIFS)
دستور MP4Box از
رمزنگاری و
رمزگشایی
محتوای ISMA، OMA و
CENC پشتیبانی
میکند؛
فیلتر
رمزنگاری `gpac -h
cecrypt` را ببینید.
این کار
نیازمند یک
فایل XML خاص
با نام CryptFile است
که ساختار
نحوی آن در
نشانی
https://wiki.gpac.io/xmlformats/Common-Encryption در
دسترس است.
فایلهای
تصویر (HEIF) نیز
میتوانند
فقط با
استفاده از
CENC رمزنگاری /
رمزگشایی
شوند.
گزینهها:
- -crypt (string)
-
رمزنگاری فایل ورودی با استفاده از CryptFile دادهشده
- -decrypt (string)
-
رمزگشایی فایل ورودی، در صورت امکان با استفاده از CryptFile دادهشده. اگر CryptFile داده نشود، در صورت پشتیبانی نشدن سامانه مدیریت کلید، ناموفق خواهد بود
- -set-kms tkID=kms_uri
-
تغییر مکان KMS در ISMA/OMA برای یک تِرَک مشخص یا برای تمام تِرَکها در صورت استفاده از =all
گزینههای فراداده و HEIF (META AND HEIF OPTIONS)
فایلهای IsoMedia میتوانند به عنوان نگهدارندههای عمومی فراداده استفاده شوند، برای نمونه جهت ذخیره اطلاعات XML و تصاویر نمونه برای یک فیلم. فایل حاصل ممکن است همیشه حاوی فیلم نباشد، همانگونه که در مورد برخی فایلهای HEIF یا فایلهای MPEG-21 صادق است.
این اطلاعات میتوانند در سطح ریشه فایل ذخیره شوند، مانند قالبهای پرونده HEIF/IFF و MPEG-21، یا در سطح فیلم یا تِرَک برای یک فیلم معمولی.
- -set-meta ABCD[:tk=tkID]
-
تنظیم نوع جعبه فراداده (meta box)، که در آن ABCD نوع چهار نویسهای متا است (NULL یا 0 برای حذف متا)
* tk تنظیم نشده باشد: استفاده از متای ریشه (فایل)
* tkID == 0: استفاده از متای moov
* tkID != 0: استفاده از متای تِرَک مشخصشده
- -add-item (string)
-
افزودن منبع به متا، با ساختار نحوی پارامتر file_path[:opt1:optN]
* مقدار file_path برابر با `this` یا `self`: آیتم خود فایل است
* tk=tkID: مکان فراداده (file، moov، track)
* name=str: نام آیتم، در صورت تنظیم نشدن none
* type=itype: نوع 4cc آیتم (در صورت ارائه mime نیازی نیست)
* mime=mtype: نوع mime آیتم، در صورت تنظیم نشدن none
* encoding=enctype: نوع content-encoding آیتم، در صورت تنظیم نشدن none
* id=ID: شناسه آیتم (عدد صحیح اکیداً مثبت)
* ref=4cc,id: ارجاع از نوع 4cc (مانند 'dimg'، 'auxl'، 'cdsc') به یک آیتم دیگر (میتواند چندین بار تنظیم شود)
* group=4cc,id: مشخصکننده نوع 4cc (مانند 'altr') و شناسه گروه موجودیتی که این آیتم به آن تعلق دارد
* replace: جایگزینی آیتم موجود با آیتم جدید
- -add-image (string)
-
افزودن فایل مشخصشده به عنوان آیتم تصویر HEIF، با ساختار نحوی پارامتر file_path[:opt1:optN]. در صورت حذف filepath، منبع همان فایل MP4 ورودی خواهد بود
* name، id، ref، group: به .I add-item مراجعه کنید
* primary: مشخص میکند که این آیتم باید آیتم اصلی (primary) باشد
* time=t[-e][/i]: استفاده از نمونه همگامسازی (sync sample) بعدی پس از زمان t (عدد اعشاری، بر حسب ثانیه، پیشفرض 0). یک مقدار زمان منفی همه فریمهای intra را به عنوان آیتم وارد میکند
- اگر e تعیین شود (عدد اعشاری، بر حسب ثانیه)، تمام نمونههای همگامسازی بین t و e وارد میشوند
- اگر i تعیین شود (عدد اعشاری، بر حسب ثانیه)، گام افزایش زمان بین نمونهها را برای وارد کردن تنظیم میکند
* split_tiles: برای یک تصویر کاشیکاریشده (tiled) با HEVC، هر کاشی به عنوان یک آیتم جداگانه ذخیره میشود
* image-size=wxh: اجبار در تنظیم اندازه تصویر و نادیده گرفتن اطلاعات bitstream؛ همچنین برای تصاویر مشتقشده از نوع grid، overlay و identity استفاده میشود
* rotation=a: تنظیم زاویه چرخش این تصویر به اندازه a*90 درجه پادساعتگرد (خلاف جهت عقربههای ساعت)
* mirror-axis=axis: تنظیم محور آینهای: vertical (عمودی)، horizontal (افقی)
* clap=Wn,Wd,Hn,Hd,HOn,HOd,VOn,VOd: گزینه clap تِرَک را ببینید
* image-pasp=axb: اجبار در نسبت ابعاد تصویر
* image-pixi=(a|a,b,c): اجبار در عمق بیتی (۱ یا ۳ کانال)
* hidden: مشخص میکند که این آیتم تصویر باید پنهان شود
* icc_path: مسیر به دادههای icc جهت افزودن به عنوان اطلاعات رنگ
* alpha: مشخص میکند که تصویر از نوع تصویر آلفا (alpha) است (باید از ref=auxl نیز استفاده شود)
* depth: مشخص میکند که تصویر از نوع تصویر عمق (depth) است (باید از ref=auxl نیز استفاده شود)
* it=ID: شناسه آیتمِ منبع را برای وارد کردن مشخص میکند. در صورت عدم تعیین و نبود هیچ تِرَکی در منبع، تمام آیتمها وارد میشوند
* itp=ID: همانند =it، ولی تمام ویژگیهای آیتم منبع را رونوشت میکند
* tk=tkID: شناسه تِرَک نمونه منبع را مشخص میکند. در صورت 0 بودن، از اولین تِرَک ویدیویی موجود در فایل استفاده میکند
* samp=N: شماره نمونه برای نمونه منبع را مشخص میکند
* ref: دادهها رونوشت نمیشوند بلکه به مکان نهایی نمونه/آیتم ارجاع داده میشود؛ در صورت تعیین filepath نادیده گرفته میشود
* agrid[=AR]: ایجاد یک شبکه خودکار از آیتمهای تصویر موجود در فایل، به ترتیب اعلان آنها. در صورت تعیین AR (عدد اعشاری)، شبکه تلاش میکند نسبت ابعاد AR را داشته باشد، در غیر این صورت از نسبت ابعاد منبع استفاده میشود. شبکه آیتم اصلی خواهد بود و تمام تصاویر دیگر پنهان خواهند شد
* av1_op_index: انتخاب نقطه عملکردی AV1 (operating point) برای استفاده از طریق جعبه a1op
* replace: جایگزینی تصویر موجود با تصویر جدید، با حفظ ویژگیهای فهرستشده در keep_props
* keep_props=4CCs: فهرستی از انواع ویژگیهای جداشده با کاما جهت حفظ هنگام جایگزینی تصویر، به عنوان مثال keep_props=auxC
* auxt=URN: علامتگذاری تصویر به عنوان کمکی با استفاده از URN مشخصشده
* auxd=FILE: استفاده از دادههای FILE به عنوان افزونههای کمکی (جعبه auxC را ببینید)
- هر گزینه دیگری به عنوان گزینه به واردکننده رسانه ارسال خواهد شد، .I -add را ببینید
- -add-derived-image (string)
-
ایجاد یک آیتم تصویر مشتقشده از نوع شبکه (grid)، روکش (overlay) یا همانی (identity)، با ساختار نحوی پارامتر :type=(grid|iovl|iden)[:opt1:optN]
* image-grid-size=rxc: تنظیم تعداد ردیفها و ستونهای شبکه
* image-overlay-offsets=h,v[,h,v]*: تنظیم آفستهای افقی و عمودی تصاویر در روکش
* image-overlay-color=r,g,b,a: تنظیم رنگ بوم (canvas) روکش [0-65535]
- هر گزینه دیگری از .I add-image میتواند استفاده شود - -rem-item,-rem-image item_ID[:tk=tkID]
-
حذف منبع از فراداده (meta)
- -set-primary item_ID[:tk=tkID]
-
تنظیم آیتم به عنوان آیتم اصلی برای فراداده
- -set-xml xml_file_path[:tk=tkID][:binary]
-
تنظیم دادههای XML فراداده
- -rem-xml [tk=tkID]
-
حذف دادههای XML فراداده
- -dump-xml file_path[:tk=tkID]
-
تخلیه (dump) دادههای XML فراداده در فایل
- -dump-item item_ID[:tk=tkID][:path=fileName]
-
تخلیه (dump) آیتم در فایل
- -package (string)
-
بستهبندی فایل XML ورودی در یک نگهدارنده ISO؛ تمام رسانههای ارجاع دادهشده به جز پیوندهای اینترنتی به فایل افزوده میشوند
- -mgt (string)
-
بستهبندی فایل XML ورودی در یک ابزارک MPEG-U با نگهدارنده ISO؛ تمام فایلهای موجود در پوشه جاری به بسته ابزارک افزوده میشوند
برنامه MP4Box
میتواند
فایلهای
سادهی Macromedia Flash
(«.SWF») را وارد
(import) کند
میتوانید
یک فایل
ورودی SWF را
با
گزینههای
'-bt'، '-xmt' و '-mp4' مشخص
کنید
گزینهها:
- -global
-
تمام تعاریف (defines) فایل SWF به جای قرارگیری در زمان نیاز، در نخستین جایگزینی صحنه قرار میگیرند
- -no-ctrl
-
استفاده از یک جریان (stream) تکی برای کنترل پویانمایی و دیکشنری (این گزینه ActionScript را غیرفعال میکند)
- -no-text
-
حذف تمامی متنهای SWF
- -no-font
-
حذف تمامی قلمهای تعبیهشده در SWF (استفاده از قلمهای میزبان پخش محلی)
- -no-line
-
حذف تمامی خطها از شکلهای SWF
- -no-grad
-
حذف تمامی گرادیانها از شکلهای SWF
- -quad
-
استفاده از منحنیهای بزیه درجه دوم (quadratic) به جای درجه سوم (cubic)
- -xlp
-
پشتیبانی از شفافیت خطوط و مقیاسپذیری
- -ic2d
-
استفاده از پروتوتایپ سختکدشده (hardcoded proto) برای منحنی دوبعدی نمایهگذاریشده (indexed curve 2D)
- -same-app
-
گرههای ظاهر (appearance nodes) مجدداً استفاده میشوند
- -flatten (number)
-
زاویه متمم که کمتر از آن ۲ خط ادغام میشوند، مقدار 0 به معنای عدم ادغام (flattening) است
پشتیبانی از برچسبگذاری (Tagging support)
برچسبها
به صورت
فهرستی
جداشده با
دونقطه به
شکل tag_name=tag_value[:tag2=val2]
مشخص
میشوند
تنظیم یک
برچسب بدون
مقدار یا با
مقدار NULL، آن
برچسب را
حذف میکند.
مقدار ویژه
برچسب clear (یا reset)
تمام
برچسبها
را حذف
میکند.
مقدار ویژه
برچسب cust
نشاندهنده
یک برچسب
دامنه
سفارشی
است، که در
این حالت
مقدار
برچسب باید
با DOMAIN,MEAN, آغاز
شود.
مثال
-itags cust='com.apple.iTunes,iTunEXTC,My Tag Value'
رشتههای
DOMAIN و/یا NAME
میتوانند
خالی باشند.
برچسبهای
پشتیبانینشده
را میتوان
با استفاده
از کد
چهارنویسهای
(4CC) آنها به
عنوان نام
برچسب
اضافه کرد،
و نوع مقدار
رشتهای در
نظر گرفته
خواهد شد.
اگر طول نام
برچسب ۳
نویسه
باشد، از
پیشوند 0xA9
برای ایجاد
کد
چهارنویسهای
استفاده
میشود.
برچسبها
همچنین
میتوانند
با استفاده
از -itags filename از یک
فایل متنی
بارگذاری
شوند. فایل
باید در
قالب UTF8 بوده
و شرایط زیر
را داشته
باشد:
- خطوطی که با
tag_name=value شروع
میشوند،
ابتدای یک
برچسب را
مشخص
میکنند
- خطوط دیگر
باقیمانده
آخرین
برچسب
اعلامشده
را مشخص
میکنند
اگر نام برچسب با WM/ شروع شود، برچسب به جعبه Xtra اضافه میشود (برچسب WMA، فقط رشته).
کلید فراداده کیوتایم (QT metadata key)
برچسب به
عنوان یک
کلید
فراداده QT
اضافه
میشود اگر:
- نام tag_name با QT/
شروع شود
- یا tag_name
شناختهشده
نبوده و بیش
از ۴ نویسه
باشد
میتوان
به صورت
اختیاری به
tag_name پیشوند HDLR@
را افزود،
که
نشاندهنده
کد
چهارنویسهای
(4CC) فضای نام
برچسب است؛
فضای نام
پیشفرض mdta
میباشد.
مقدار
برچسب (tag_value)
میتواند
پیشوندهای
زیر را
داشته باشد:
* S: اجبار در
کدگذاری
رشتهای
(باید در
ابتدا قرار
گیرد) به جای
تجزیه
مقدار
برچسب
* b: استفاده از
کدگذاری ۸
بیتی برای
عدد صحیح
علامتدار
یا بدون
علامت
* s: استفاده از
کدگذاری ۱۶
بیتی برای
عدد صحیح
علامتدار
یا بدون
علامت
* l: استفاده از
کدگذاری ۳۲
بیتی برای
عدد صحیح
علامتدار
یا بدون
علامت
* L: استفاده از
کدگذاری ۶۴
بیتی برای
عدد صحیح
علامتدار
یا بدون
علامت
* f: اجبار در
کدگذاری
ممیز شناور
(float) برای
اعداد
اعداد به
طور
پیشفرض
تبدیل شده و
در حالت
اندازه
متغیر (variable-size)
ذخیره
میشوند.
برای اجبار
یک عدد صحیح
مثبت به
ذخیرهسازی
به عنوان
عدد
علامتدار،
علامت + را در
جلوی عدد
اضافه کنید.
مثال
-tags io.gpac.some_tag=s+32
این کار
ذخیره
مقدار 32 را
در قالب ۱۶
بیتی
علامتدار
اجبار
میکند.
مقدار
برچسب (tag_value)
همچنین
میتواند
به اشکال
زیر
قالببندی
شود:
* XxY@WxH: نوع
مستطیل (rectangle)
* XxY: نوع نقطه (point)
* W@H: نوع
اندازه (size)
* A,B,C,D,E,F,G,H,I: یک
ماتریس ۳×۳
* FNAME: دادهها
از FNAME
بارگذاری
میشوند،
نوع داده در
صورت نیاز
به jpeg یا png
تنظیم
میشود
title (©nam) رشته
(نام مستعار
name)
artist (©ART) رشته
album_artist (aART) رشته (نام
مستعار albumArtist)
album (©alb) رشته
group (©grp) رشته (نام
مستعار grouping)
composer (©com) رشته
writer (©wrt) رشته
conductor (©con) رشته
comment (©cmt) رشته
(نام مستعار
comments)
genre (gnre) رشته
(برچسب ژانر
ID3)
created (©day) رشته
(نام مستعار
releaseDate)
track (©trk) رشته
tracknum (trkn) کسر (نحو: A/B
یا A، مقدار B
برابر 0
خواهد بود)
disk (disk) کسر (نحو: A/B
یا A، مقدار B
برابر 0
خواهد بود)
tempo (tmpo) عدد صحیح
compilation (cpil) بولی (yes یا no)
show (tvsh) رشته (نام
مستعار tvShow)
episode_id (tven) رشته (نام
مستعار tvEpisodeID)
season (tvsn) عدد صحیح
(نام مستعار
tvSeason)
episode (tves) عدد صحیح
(نام مستعار
tvEPisode)
network (tvnn) رشته (نام
مستعار tvNetwork)
sdesc (desc) رشته (نام
مستعار description)
ldesc (ldes) رشته (نام
مستعار longDescription)
lyrics (©lyr) رشته
sort_name (sonm) رشته (نام
مستعار sortName)
sort_artist (soar) رشته (نام
مستعار sortArtist)
sort_album_artist (soaa) رشته
(نام مستعار
sortAlbumArtist)
sort_album (soal) رشته (نام
مستعار sortAlbum)
sort_composer (soco) رشته
(نام مستعار
sortComposer)
sort_show (sosn) رشته (نام
مستعار sortShow)
cover (covr) مسیر فایل
(نام مستعار
artwork)
copyright (cprt) رشته
tool (©too) رشته (نام
مستعار encodingTool)
encoder (©enc) رشته
(نام مستعار
encodedBy)
pdate (purd) رشته (نام
مستعار purchaseDate)
podcast (pcst) بولی (yes یا no)
url (purl) رشته (نام
مستعار podcastURL)
keywords (kyyw) رشته
category (catg) رشته
hdvideo (hdvd) عدد صحیح
media (stik) عدد صحیح
(نام مستعار
mediaType)
rating (rtng) عدد صحیح
(نام مستعار
contentRating)
gapless (pgap) بولی (yes یا no)
art_director (©ard) رشته
arranger (©arg) رشته
lyricist (©aut) رشته
acknowledgement (©cak) رشته
song_description (©des) رشته
director (©dir) رشته
equalizer (©equ) رشته
liner (©lnt) رشته
record_company (©mak) رشته
original_artist (©ope) رشته
phono_rights (©phg) رشته
producer (©prd) رشته
performer (©prf) رشته
publisher (©pub) رشته
sound_engineer (©sne) رشته
soloist (©sol) رشته
credits (©src) رشته
thanks (©thx) رشته
online_info (©url) رشته
exec_producer (©xpd) رشته
genre (©gen) رشته
(برچسب ژانر
ID3)
location (©xyz) رشته
گزینهها
باید به
صورت opt_name=opt_val
مشخص شوند.
گزینهها:
- -live
-
فعالسازی رمزگذار زنده BIFS/LASeR
- -dst (رشته)
-
آدرس IP مقصد
- -port (عدد صحیح، پیشفرض: 7000)
-
درگاه (port) مقصد
- -mtu (عدد صحیح، پیشفرض: 1450)
-
مقدار MTU مسیر برای بستههای RTP
- -ifce (رشته)
-
آدرس IP رابط فیزیکی مورد استفاده
- -ttl (عدد صحیح، پیشفرض: 1)
-
طول عمر (TTL) برای بستههای چندپخشی (multicast)
- -sdp (رشته، پیشفرض: session.sdp)
-
فایل SDP خروجی
- -dims
-
فعالسازی حالت DIMS برای ورودی SVG
- -no-rap
-
غیرفعالسازی ارسال RAP و ایجاد carousel
- -src (رشته)
-
منبع بهروزرسانیهای صحنه
- -rap (عدد صحیح)
-
مدت زمان کاروسل (carousel) پایه به میلیثانیه؛ میتوانید دوره تناوب RAP یک ESID مجزا (غیر از DIMS) را با استفاده از ESID=X:time مشخص کنیدگزینههای زمان اجرا:
* q: خروج
* u: دریافت دستورها برای ارسال
* U: همانند u، اما بهروزرسانیها را به عنوان حیاتی (critical) علامتگذاری میکند
* e: دریافت دستورها برای ارسال بدون تجمیعسازی (aggregation)
* E: همانند e، اما بهروزرسانیها را به عنوان حیاتی (critical) علامتگذاری میکند
* f: ارسال اجباری RAP
* F: تولید مجدد و ارسال اجباری RAP
* p: خروجی گرفتن از صحنه فعلی (dump)
مثالها (EXAMPLES)
- مثالهای مقدماتی و پیشرفته در https://wiki.gpac.io/MP4Box/MP4Box در دسترس هستند
اطلاعات بیشتر (MORE)
نویسندگان:
توسعهدهندگان
GPAC، تاریخچه
مخزن git را
بررسی کنید
(-log)
برای گزارش
باگها،
درخواست
ویژگیها،
اطلاعات
بیشتر و کد
منبع، از
https://github.com/gpac/gpac دیدن
کنید
ساخت: 26.07
کپیرایت: (c)
2000-2024 Telecom Paris
توزیعشده
تحت مجوز LGPL v2.1+ -
https://gpac.io
همچنین ببینید (SEE ALSO)
gpac(1)
| 2019 | MP4Box |