.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man v6.0.2 (Pod::Simple 3.45) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Required to disable full justification in groff 1.23.0. .if n .ds AD l .\" ======================================================================== .\" .IX Title "FFMPEG-UTILS 1" .TH FFMPEG-UTILS 1 " " "FFmpeg" "راهنمای ابزارهای چندرسانه‌ای" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "نام (NAME)" ffmpeg\-utils \- ابزارهای عمومی و مستندات نحوه استفاده در FFmpeg .SH "توضیحات (DESCRIPTION)" .IX Header "DESCRIPTION" این سند برخی از قابلیت‌ها و ابزارهای عمومی ارائه‌شده توسط کتابخانه libavutil را شرح می‌دهد. .SH "سینتکس و قالب‌ها (SYNTAX)" .IX Header "SYNTAX" این بخش سینتکس و قالب‌های مورد استفاده توسط کتابخانه‌ها و ابزارهای FFmpeg را شرح می‌دهد. .SS "نقل‌قول و گریز (Quoting and escaping)" .IX Subsection "Quoting and escaping" ابزار FFmpeg سازوکار نقل‌قول و گریز (Quoting and Escaping) زیر را به کار می‌گیرد، مگر اینکه صریحاً چیز دیگری مشخص شده باشد. قواعد زیر اعمال می‌شوند: .IP \(bu 4 \&\fB\*(Aq\fR و \fB\e\fR نویسه‌های ویژه هستند (به ترتیب برای نقل‌قول و گریز/اسکیپ استفاده می‌شوند). علاوه بر آن‌ها، بسته به سینتکس خاصی که اسکیپ و نقل‌قول در آن به کار می‌رود ممکن است نویسه‌های ویژهٔ دیگری نیز وجود داشته باشند. .IP \(bu 4 یک نویسهٔ ویژه با قرار دادن پیشوند \fB\e\fR قبل از آن اسکیپ می‌شود. .IP \(bu 4 تمام نویسه‌های محصور میان \fB\*(Aq\*(Aq\fR به صورت تحت‌اللفظی (literal) در رشتهٔ پردازش‌شده گنجانده می‌شوند. خود نویسهٔ نقل‌قول \fB\*(Aq\fR نمی‌تواند داخل نقل‌قول قرار گیرد، بنابراین ممکن است لازم باشد نقل‌قول را ببندید و آن را اسکیپ کنید. .IP \(bu 4 فاصله‌های خالی (whitespaces) ابتدایی و انتهایی، مگر اینکه اسکیپ یا در نقل‌قول قرار گرفته باشند، از رشتهٔ پردازش‌شده حذف می‌شوند. .PP توجه داشته باشید که هنگام استفاده از خط فرمان یا یک اسکریپت، ممکن است لازم باشد یک سطح دوم از اسکیپ کردن را اضافه کنید، که به سینتکس زبان پوسته (shell) مورد استفاده بستگی دارد. .PP تابع \f(CW\*(C`av_get_token\*(C'\fR تعریف‌شده در \&\fIlibavutil/avstring.h\fR می‌تواند برای تجزیه توکنی که بر اساس قواعد تعریف‌شده در بالا نقل‌قول یا اسکیپ شده است استفاده شود. .PP ابزار \fItools/ffescape\fR در درخت منبع FFmpeg می‌تواند برای نقل‌قول یا اسکیپ کردن خودکار یک رشته در اسکریپت استفاده شود. .PP \fIمثال‌ها\fR .IX Subsection "Examples" .IP \(bu 4 اسکیپ کردن رشتهٔ \f(CW\*(C`Crime d\*(AqAmour\*(C'\fR شامل نویسهٔ ویژهٔ \f(CW\*(C`\*(Aq\*(C'\fR: .Sp .Vb 1 \& Crime d\e\*(AqAmour .Ve .IP \(bu 4 رشته بالا شامل یک کوتیشن است، بنابراین هنگام قرار دادن آن در نقل‌قول، \f(CW\*(C`\*(Aq\*(C'\fR باید اسکیپ شود: .Sp .Vb 1 \& \*(AqCrime d\*(Aq\e\*(Aq\*(AqAmour\*(Aq .Ve .IP \(bu 4 گنجاندن فاصله‌های خالی ابتدایی یا انتهایی با استفاده از نقل‌قول: .Sp .Vb 1 \& \*(Aq this string starts and ends with whitespaces \*(Aq .Ve .IP \(bu 4 اسکیپ کردن و نقل‌قول می‌توانند با هم ترکیب شوند: .Sp .Vb 1 \& \*(Aq The string \*(Aq\e\*(Aqstring\e\*(Aq\*(Aq is a string \*(Aq .Ve .IP \(bu 4 برای گنجاندن یک \fB\e\fR واقعی می‌توانید از اسکیپ کردن یا نقل‌قول استفاده کنید: .Sp .Vb 1 \& \*(Aqc:\efoo\*(Aq can be written as c:\e\efoo .Ve .SS "تاریخ (Date)" .IX Subsection "Date" سینتکس پذیرفته‌شده عبارت است از: .PP .Vb 2 \& [(YYYY\-MM\-DD|YYYYMMDD)[T|t| ]]((HH:MM:SS[.m...]]])|(HHMMSS[.m...]]]))[Z] \& now .Ve .PP اگر مقدار برابر با "now" باشد، زمان فعلی را می‌گیرد. .PP زمان به عنوان زمان محلی تفسیر می‌شود مگر اینکه Z به آن اضافه شود، که در این صورت به عنوان UTC در نظر گرفته می‌شود. اگر بخش سال-ماه-روز مشخص نشود، سال-ماه-روز فعلی را در نظر می‌گیرد. .SS "مدت زمان (Time duration)" .IX Subsection "Time duration" دو سینتکس پذیرفته‌شده برای بیان مدت زمان وجود دارد: .PP .Vb 1 \& [\-][:]:[....] .Ve .PP \&\fIHH\fR تعداد ساعت‌ها، \fIMM\fR تعداد دقیقه‌ها را با حداکثر ۲ رقم، و \fISS\fR تعداد ثانیه‌ها را با حداکثر ۲ رقم بیان می‌کند. مقدار \fIm\fR در انتها مقدار اعشاری را برای \&\fISS\fR بیان می‌نماید. .PP \&\fIیا\fR .PP .Vb 1 \& [\-]+[....][s|ms|us] .Ve .PP \&\fIS\fR تعداد ثانیه‌ها را همراه با بخش اعشاری اختیاری \&\fIm\fR بیان می‌کند. پسوندهای اختیاری \fBs\fR، \fBms\fR یا \fBus\fR به ترتیب نشان‌دهنده تفسیر مقدار بر حسب ثانیه، میلی‌ثانیه یا میکروثانیه هستند. .PP در هر دو عبارت، علامت اختیاری \fB\-\fR نشان‌دهنده مدت زمان منفی است. .PP \fIمثال‌ها\fR .IX Subsection "Examples" .PP مثال‌های زیر همگی مدت زمان‌های معتبر هستند: .IP \fB55\fR 4 .IX Item "55" 55 ثانیه .IP \fB0.2\fR 4 .IX Item "0.2" 0.2 ثانیه .IP \fB200ms\fR 4 .IX Item "200ms" 200 میلی‌ثانیه، یعنی 0.2s .IP \fB200000us\fR 4 .IX Item "200000us" 200000 میکروثانیه، یعنی 0.2s .IP \fB12:03:45\fR 4 .IX Item "12:03:45" 12 ساعت و 03 دقیقه و 45 ثانیه .IP \fB23.189\fR 4 .IX Item "23.189" 23.189 ثانیه .SS "اندازه ویدیو (Video size)" .IX Subsection "Video size" اندازه ویدیوی منبع را مشخص می‌کند، می‌تواند رشته‌ای به شکل \&\fIwidth\fRx\fIheight\fR یا نام یکی از اختصارات اندازه باشد. .PP اختصارات زیر شناخته‌شده هستند: .IP \fBntsc\fR 4 .IX Item "ntsc" 720x480 .IP \fBpal\fR 4 .IX Item "pal" 720x576 .IP \fBqntsc\fR 4 .IX Item "qntsc" 352x240 .IP \fBqpal\fR 4 .IX Item "qpal" 352x288 .IP \fBsntsc\fR 4 .IX Item "sntsc" 640x480 .IP \fBspal\fR 4 .IX Item "spal" 768x576 .IP \fBfilm\fR 4 .IX Item "film" 352x240 .IP \fBntsc\-film\fR 4 .IX Item "ntsc-film" 352x240 .IP \fBsqcif\fR 4 .IX Item "sqcif" 128x96 .IP \fBqcif\fR 4 .IX Item "qcif" 176x144 .IP \fBcif\fR 4 .IX Item "cif" 352x288 .IP \fB4cif\fR 4 .IX Item "4cif" 704x576 .IP \fB16cif\fR 4 .IX Item "16cif" 1408x1152 .IP \fBqqvga\fR 4 .IX Item "qqvga" 160x120 .IP \fBqvga\fR 4 .IX Item "qvga" 320x240 .IP \fBvga\fR 4 .IX Item "vga" 640x480 .IP \fBsvga\fR 4 .IX Item "svga" 800x600 .IP \fBxga\fR 4 .IX Item "xga" 1024x768 .IP \fBuxga\fR 4 .IX Item "uxga" 1600x1200 .IP \fBqxga\fR 4 .IX Item "qxga" 2048x1536 .IP \fBsxga\fR 4 .IX Item "sxga" 1280x1024 .IP \fBqsxga\fR 4 .IX Item "qsxga" 2560x2048 .IP \fBhsxga\fR 4 .IX Item "hsxga" 5120x4096 .IP \fBwvga\fR 4 .IX Item "wvga" 852x480 .IP \fBwxga\fR 4 .IX Item "wxga" 1366x768 .IP \fBwsxga\fR 4 .IX Item "wsxga" 1600x1024 .IP \fBwuxga\fR 4 .IX Item "wuxga" 1920x1200 .IP \fBwoxga\fR 4 .IX Item "woxga" 2560x1600 .IP \fBwqsxga\fR 4 .IX Item "wqsxga" 3200x2048 .IP \fBwquxga\fR 4 .IX Item "wquxga" 3840x2400 .IP \fBwhsxga\fR 4 .IX Item "whsxga" 6400x4096 .IP \fBwhuxga\fR 4 .IX Item "whuxga" 7680x4800 .IP \fBcga\fR 4 .IX Item "cga" 320x200 .IP \fBega\fR 4 .IX Item "ega" 640x350 .IP \fBhd480\fR 4 .IX Item "hd480" 852x480 .IP \fBhd720\fR 4 .IX Item "hd720" 1280x720 .IP \fBhd1080\fR 4 .IX Item "hd1080" 1920x1080 .IP \fB2k\fR 4 .IX Item "2k" 2048x1080 .IP \fB2kflat\fR 4 .IX Item "2kflat" 1998x1080 .IP \fB2kscope\fR 4 .IX Item "2kscope" 2048x858 .IP \fB4k\fR 4 .IX Item "4k" 4096x2160 .IP \fB4kflat\fR 4 .IX Item "4kflat" 3996x2160 .IP \fB4kscope\fR 4 .IX Item "4kscope" 4096x1716 .IP \fBnhd\fR 4 .IX Item "nhd" 640x360 .IP \fBhqvga\fR 4 .IX Item "hqvga" 240x160 .IP \fBwqvga\fR 4 .IX Item "wqvga" 400x240 .IP \fBfwqvga\fR 4 .IX Item "fwqvga" 432x240 .IP \fBhvga\fR 4 .IX Item "hvga" 480x320 .IP \fBqhd\fR 4 .IX Item "qhd" 960x540 .IP \fB2kdci\fR 4 .IX Item "2kdci" 2048x1080 .IP \fB4kdci\fR 4 .IX Item "4kdci" 4096x2160 .IP \fBuhd2160\fR 4 .IX Item "uhd2160" 3840x2160 .IP \fBuhd4320\fR 4 .IX Item "uhd4320" 7680x4320 .SS "نرخ فریم ویدیو (Video rate)" .IX Subsection "Video rate" نرخ فریم ویدیو را مشخص می‌کند که بر حسب تعداد فریم‌های تولیدشده در هر ثانیه بیان می‌شود. باید رشته‌ای در قالب \&\fIframe_rate_num\fR/\fIframe_rate_den\fR، یک عدد صحیح، یک عدد اعشاری یا یک اختصار معتبر نرخ فریم ویدیو باشد. .PP اختصارات زیر شناخته‌شده هستند: .IP \fBntsc\fR 4 .IX Item "ntsc" 30000/1001 .IP \fBpal\fR 4 .IX Item "pal" 25/1 .IP \fBqntsc\fR 4 .IX Item "qntsc" 30000/1001 .IP \fBqpal\fR 4 .IX Item "qpal" 25/1 .IP \fBsntsc\fR 4 .IX Item "sntsc" 30000/1001 .IP \fBspal\fR 4 .IX Item "spal" 25/1 .IP \fBfilm\fR 4 .IX Item "film" 24/1 .IP \fBntsc\-film\fR 4 .IX Item "ntsc-film" 24000/1001 .SS "نسبت ابعاد (Ratio)" .IX Subsection "Ratio" یک نسبت می‌تواند به صورت یک عبارت محاسباتی، یا به شکل \&\fInumerator\fR:\fIdenominator\fR بیان شود. .PP توجه داشته باشید که نسبت با مقدار بی‌نهایت (1/0) یا منفی معتبر در نظر گرفته می‌شود، بنابراین اگر می‌خواهید این مقادیر را مستثنی کنید باید مقدار بازگردانده‌شده را بررسی نمایید. .PP مقدار تعریف‌نشده می‌تواند با استفاده از رشتهٔ "0:0" بیان شود. .SS "رنگ (Color)" .IX Subsection "Color" می‌تواند نام یک رنگ همان‌طور که در زیر تعریف شده است (تطبیق غیرحساس به حروف بزرگ و کوچک) یا یک توالی \&\f(CW\*(C`[0x|#]RRGGBB[AA]\*(C'\fR باشد که ممکن است با @ و یک رشته به عنوان مولفهٔ آلفا دنبال شود. .PP مولفهٔ آلفا ممکن است رشته‌ای متشکل از "0x" و به دنبال آن یک عدد هگزادسیمال یا یک عدد اعشاری بین 0.0 و 1.0 باشد که مقدار شفافیت (opacity) را نشان می‌دهد (\fB0x00\fR یا \fB0.0\fR به معنی کاملاً شفاف، \fB0xff\fR یا \fB1.0\fR به معنی کاملاً مات است). اگر مولفهٔ آلفا مشخص نشود، \fB0xff\fR در نظر گرفته می‌شود. .PP رشتهٔ \fBrandom\fR منجر به یک رنگ تصادفی خواهد شد. .PP نام‌های رنگ‌های زیر شناخته‌شده هستند: .IP \fBAliceBlue\fR 4 .IX Item "AliceBlue" 0xF0F8FF .IP \fBAntiqueWhite\fR 4 .IX Item "AntiqueWhite" 0xFAEBD7 .IP \fBAqua\fR 4 .IX Item "Aqua" 0x00FFFF .IP \fBAquamarine\fR 4 .IX Item "Aquamarine" 0x7FFFD4 .IP \fBAzure\fR 4 .IX Item "Azure" 0xF0FFFF .IP \fBBeige\fR 4 .IX Item "Beige" 0xF5F5DC .IP \fBBisque\fR 4 .IX Item "Bisque" 0xFFE4C4 .IP \fBBlack\fR 4 .IX Item "Black" 0x000000 .IP \fBBlanchedAlmond\fR 4 .IX Item "BlanchedAlmond" 0xFFEBCD .IP \fBBlue\fR 4 .IX Item "Blue" 0x0000FF .IP \fBBlueViolet\fR 4 .IX Item "BlueViolet" 0x8A2BE2 .IP \fBBrown\fR 4 .IX Item "Brown" 0xA52A2A .IP \fBBurlyWood\fR 4 .IX Item "BurlyWood" 0xDEB887 .IP \fBCadetBlue\fR 4 .IX Item "CadetBlue" 0x5F9EA0 .IP \fBChartreuse\fR 4 .IX Item "Chartreuse" 0x7FFF00 .IP \fBChocolate\fR 4 .IX Item "Chocolate" 0xD2691E .IP \fBCoral\fR 4 .IX Item "Coral" 0xFF7F50 .IP \fBCornflowerBlue\fR 4 .IX Item "CornflowerBlue" 0x6495ED .IP \fBCornsilk\fR 4 .IX Item "Cornsilk" 0xFFF8DC .IP \fBCrimson\fR 4 .IX Item "Crimson" 0xDC143C .IP \fBCyan\fR 4 .IX Item "Cyan" 0x00FFFF .IP \fBDarkBlue\fR 4 .IX Item "DarkBlue" 0x00008B .IP \fBDarkCyan\fR 4 .IX Item "DarkCyan" 0x008B8B .IP \fBDarkGoldenRod\fR 4 .IX Item "DarkGoldenRod" 0xB8860B .IP \fBDarkGray\fR 4 .IX Item "DarkGray" 0xA9A9A9 .IP \fBDarkGreen\fR 4 .IX Item "DarkGreen" 0x006400 .IP \fBDarkKhaki\fR 4 .IX Item "DarkKhaki" 0xBDB76B .IP \fBDarkMagenta\fR 4 .IX Item "DarkMagenta" 0x8B008B .IP \fBDarkOliveGreen\fR 4 .IX Item "DarkOliveGreen" 0x556B2F .IP \fBDarkorange\fR 4 .IX Item "Darkorange" 0xFF8C00 .IP \fBDarkOrchid\fR 4 .IX Item "DarkOrchid" 0x9932CC .IP \fBDarkRed\fR 4 .IX Item "DarkRed" 0x8B0000 .IP \fBDarkSalmon\fR 4 .IX Item "DarkSalmon" 0xE9967A .IP \fBDarkSeaGreen\fR 4 .IX Item "DarkSeaGreen" 0x8FBC8F .IP \fBDarkSlateBlue\fR 4 .IX Item "DarkSlateBlue" 0x483D8B .IP \fBDarkSlateGray\fR 4 .IX Item "DarkSlateGray" 0x2F4F4F .IP \fBDarkTurquoise\fR 4 .IX Item "DarkTurquoise" 0x00CED1 .IP \fBDarkViolet\fR 4 .IX Item "DarkViolet" 0x9400D3 .IP \fBDeepPink\fR 4 .IX Item "DeepPink" 0xFF1493 .IP \fBDeepSkyBlue\fR 4 .IX Item "DeepSkyBlue" 0x00BFFF .IP \fBDimGray\fR 4 .IX Item "DimGray" 0x696969 .IP \fBDodgerBlue\fR 4 .IX Item "DodgerBlue" 0x1E90FF .IP \fBFireBrick\fR 4 .IX Item "FireBrick" 0xB22222 .IP \fBFloralWhite\fR 4 .IX Item "FloralWhite" 0xFFFAF0 .IP \fBForestGreen\fR 4 .IX Item "ForestGreen" 0x228B22 .IP \fBFuchsia\fR 4 .IX Item "Fuchsia" 0xFF00FF .IP \fBGainsboro\fR 4 .IX Item "Gainsboro" 0xDCDCDC .IP \fBGhostWhite\fR 4 .IX Item "GhostWhite" 0xF8F8FF .IP \fBGold\fR 4 .IX Item "Gold" 0xFFD700 .IP \fBGoldenRod\fR 4 .IX Item "GoldenRod" 0xDAA520 .IP \fBGray\fR 4 .IX Item "Gray" 0x808080 .IP \fBGreen\fR 4 .IX Item "Green" 0x008000 .IP \fBGreenYellow\fR 4 .IX Item "GreenYellow" 0xADFF2F .IP \fBHoneyDew\fR 4 .IX Item "HoneyDew" 0xF0FFF0 .IP \fBHotPink\fR 4 .IX Item "HotPink" 0xFF69B4 .IP \fBIndianRed\fR 4 .IX Item "IndianRed" 0xCD5C5C .IP \fBIndigo\fR 4 .IX Item "Indigo" 0x4B0082 .IP \fBIvory\fR 4 .IX Item "Ivory" 0xFFFFF0 .IP \fBKhaki\fR 4 .IX Item "Khaki" 0xF0E68C .IP \fBLavender\fR 4 .IX Item "Lavender" 0xE6E6FA .IP \fBLavenderBlush\fR 4 .IX Item "LavenderBlush" 0xFFF0F5 .IP \fBLawnGreen\fR 4 .IX Item "LawnGreen" 0x7CFC00 .IP \fBLemonChiffon\fR 4 .IX Item "LemonChiffon" 0xFFFACD .IP \fBLightBlue\fR 4 .IX Item "LightBlue" 0xADD8E6 .IP \fBLightCoral\fR 4 .IX Item "LightCoral" 0xF08080 .IP \fBLightCyan\fR 4 .IX Item "LightCyan" 0xE0FFFF .IP \fBLightGoldenRodYellow\fR 4 .IX Item "LightGoldenRodYellow" 0xFAFAD2 .IP \fBLightGreen\fR 4 .IX Item "LightGreen" 0x90EE90 .IP \fBLightGrey\fR 4 .IX Item "LightGrey" 0xD3D3D3 .IP \fBLightPink\fR 4 .IX Item "LightPink" 0xFFB6C1 .IP \fBLightSalmon\fR 4 .IX Item "LightSalmon" 0xFFA07A .IP \fBLightSeaGreen\fR 4 .IX Item "LightSeaGreen" 0x20B2AA .IP \fBLightSkyBlue\fR 4 .IX Item "LightSkyBlue" 0x87CEFA .IP \fBLightSlateGray\fR 4 .IX Item "LightSlateGray" 0x778899 .IP \fBLightSteelBlue\fR 4 .IX Item "LightSteelBlue" 0xB0C4DE .IP \fBLightYellow\fR 4 .IX Item "LightYellow" 0xFFFFE0 .IP \fBLime\fR 4 .IX Item "Lime" 0x00FF00 .IP \fBLimeGreen\fR 4 .IX Item "LimeGreen" 0x32CD32 .IP \fBLinen\fR 4 .IX Item "Linen" 0xFAF0E6 .IP \fBMagenta\fR 4 .IX Item "Magenta" 0xFF00FF .IP \fBMaroon\fR 4 .IX Item "Maroon" 0x800000 .IP \fBMediumAquaMarine\fR 4 .IX Item "MediumAquaMarine" 0x66CDAA .IP \fBMediumBlue\fR 4 .IX Item "MediumBlue" 0x0000CD .IP \fBMediumOrchid\fR 4 .IX Item "MediumOrchid" 0xBA55D3 .IP \fBMediumPurple\fR 4 .IX Item "MediumPurple" 0x9370D8 .IP \fBMediumSeaGreen\fR 4 .IX Item "MediumSeaGreen" 0x3CB371 .IP \fBMediumSlateBlue\fR 4 .IX Item "MediumSlateBlue" 0x7B68EE .IP \fBMediumSpringGreen\fR 4 .IX Item "MediumSpringGreen" 0x00FA9A .IP \fBMediumTurquoise\fR 4 .IX Item "MediumTurquoise" 0x48D1CC .IP \fBMediumVioletRed\fR 4 .IX Item "MediumVioletRed" 0xC71585 .IP \fBMidnightBlue\fR 4 .IX Item "MidnightBlue" 0x191970 .IP \fBMintCream\fR 4 .IX Item "MintCream" 0xF5FFFA .IP \fBMistyRose\fR 4 .IX Item "MistyRose" 0xFFE4E1 .IP \fBMoccasin\fR 4 .IX Item "Moccasin" 0xFFE4B5 .IP \fBNavajoWhite\fR 4 .IX Item "NavajoWhite" 0xFFDEAD .IP \fBNavy\fR 4 .IX Item "Navy" 0x000080 .IP \fBOldLace\fR 4 .IX Item "OldLace" 0xFDF5E6 .IP \fBOlive\fR 4 .IX Item "Olive" 0x808000 .IP \fBOliveDrab\fR 4 .IX Item "OliveDrab" 0x6B8E23 .IP \fBOrange\fR 4 .IX Item "Orange" 0xFFA500 .IP \fBOrangeRed\fR 4 .IX Item "OrangeRed" 0xFF4500 .IP \fBOrchid\fR 4 .IX Item "Orchid" 0xDA70D6 .IP \fBPaleGoldenRod\fR 4 .IX Item "PaleGoldenRod" 0xEEE8AA .IP \fBPaleGreen\fR 4 .IX Item "PaleGreen" 0x98FB98 .IP \fBPaleTurquoise\fR 4 .IX Item "PaleTurquoise" 0xAFEEEE .IP \fBPaleVioletRed\fR 4 .IX Item "PaleVioletRed" 0xD87093 .IP \fBPapayaWhip\fR 4 .IX Item "PapayaWhip" 0xFFEFD5 .IP \fBPeachPuff\fR 4 .IX Item "PeachPuff" 0xFFDAB9 .IP \fBPeru\fR 4 .IX Item "Peru" 0xCD853F .IP \fBPink\fR 4 .IX Item "Pink" 0xFFC0CB .IP \fBPlum\fR 4 .IX Item "Plum" 0xDDA0DD .IP \fBPowderBlue\fR 4 .IX Item "PowderBlue" 0xB0E0E6 .IP \fBPurple\fR 4 .IX Item "Purple" 0x800080 .IP \fBRed\fR 4 .IX Item "Red" 0xFF0000 .IP \fBRosyBrown\fR 4 .IX Item "RosyBrown" 0xBC8F8F .IP \fBRoyalBlue\fR 4 .IX Item "RoyalBlue" 0x4169E1 .IP \fBSaddleBrown\fR 4 .IX Item "SaddleBrown" 0x8B4513 .IP \fBSalmon\fR 4 .IX Item "Salmon" 0xFA8072 .IP \fBSandyBrown\fR 4 .IX Item "SandyBrown" 0xF4A460 .IP \fBSeaGreen\fR 4 .IX Item "SeaGreen" 0x2E8B57 .IP \fBSeaShell\fR 4 .IX Item "SeaShell" 0xFFF5EE .IP \fBSienna\fR 4 .IX Item "Sienna" 0xA0522D .IP \fBSilver\fR 4 .IX Item "Silver" 0xC0C0C0 .IP \fBSkyBlue\fR 4 .IX Item "SkyBlue" 0x87CEEB .IP \fBSlateBlue\fR 4 .IX Item "SlateBlue" 0x6A5ACD .IP \fBSlateGray\fR 4 .IX Item "SlateGray" 0x708090 .IP \fBSnow\fR 4 .IX Item "Snow" 0xFFFAFA .IP \fBSpringGreen\fR 4 .IX Item "SpringGreen" 0x00FF7F .IP \fBSteelBlue\fR 4 .IX Item "SteelBlue" 0x4682B4 .IP \fBTan\fR 4 .IX Item "Tan" 0xD2B48C .IP \fBTeal\fR 4 .IX Item "Teal" 0x008080 .IP \fBThistle\fR 4 .IX Item "Thistle" 0xD8BFD8 .IP \fBTomato\fR 4 .IX Item "Tomato" 0xFF6347 .IP \fBTurquoise\fR 4 .IX Item "Turquoise" 0x40E0D0 .IP \fBViolet\fR 4 .IX Item "Violet" 0xEE82EE .IP \fBWheat\fR 4 .IX Item "Wheat" 0xF5DEB3 .IP \fBWhite\fR 4 .IX Item "White" 0xFFFFFF .IP \fBWhiteSmoke\fR 4 .IX Item "WhiteSmoke" 0xF5F5F5 .IP \fBYellow\fR 4 .IX Item "Yellow" 0xFFFF00 .IP \fBYellowGreen\fR 4 .IX Item "YellowGreen" 0x9ACD32 .SS "چینش کانال‌ها (Channel Layout)" .IX Subsection "Channel Layout" چینش کانال‌ها آرایش مکانی کانال‌ها را در یک استریم صوتی چندکاناله مشخص می‌کند. برای مشخص کردن چینش کانال، FFmpeg از سینتکس ویژه‌ای استفاده می‌نماید. .PP کانال‌های منفرد با یک شناسه همان‌طور که در جدول زیر آمده است مشخص می‌شوند: .IP \fBFL\fR 4 .IX Item "FL" جلوی چپ (front left) .IP \fBFR\fR 4 .IX Item "FR" جلوی راست (front right) .IP \fBFC\fR 4 .IX Item "FC" جلوی مرکز (front center) .IP \fBLFE\fR 4 .IX Item "LFE" فرکانس پایین / ساب‌ووفر (low frequency) .IP \fBBL\fR 4 .IX Item "BL" عقب چپ (back left) .IP \fBBR\fR 4 .IX Item "BR" عقب راست (back right) .IP \fBFLC\fR 4 .IX Item "FLC" جلوی متمایل به چپِ مرکز .IP \fBFRC\fR 4 .IX Item "FRC" جلوی متمایل به راستِ مرکز .IP \fBBC\fR 4 .IX Item "BC" عقب مرکز .IP \fBSL\fR 4 .IX Item "SL" سمت چپ (side left) .IP \fBSR\fR 4 .IX Item "SR" سمت راست (side right) .IP \fBTC\fR 4 .IX Item "TC" بالای مرکز .IP \fBTFL\fR 4 .IX Item "TFL" بالای جلو چپ .IP \fBTFC\fR 4 .IX Item "TFC" بالای جلو مرکز .IP \fBTFR\fR 4 .IX Item "TFR" بالای جلو راست .IP \fBTBL\fR 4 .IX Item "TBL" بالای عقب چپ .IP \fBTBC\fR 4 .IX Item "TBC" بالای عقب مرکز .IP \fBTBR\fR 4 .IX Item "TBR" بالای عقب راست .IP \fBDL\fR 4 .IX Item "DL" داون‌میکس چپ .IP \fBDR\fR 4 .IX Item "DR" داون‌میکس راست .IP \fBWL\fR 4 .IX Item "WL" عریض چپ .IP \fBWR\fR 4 .IX Item "WR" عریض راست .IP \fBSDL\fR 4 .IX Item "SDL" فراگیر مستقیم چپ .IP \fBSDR\fR 4 .IX Item "SDR" فراگیر مستقیم راست .IP \fBLFE2\fR 4 .IX Item "LFE2" فرکانس پایین ۲ .PP ترکیب‌های استاندارد چینش کانال را می‌توان با شناسه‌های زیر مشخص کرد: .IP \fBmono\fR 4 .IX Item "mono" FC .IP \fBstereo\fR 4 .IX Item "stereo" FL+FR .IP \fB2.1\fR 4 .IX Item "2.1" FL+FR+LFE .IP \fB3.0\fR 4 .IX Item "3.0" FL+FR+FC .IP \fB3.0(back)\fR 4 .IX Item "3.0(back)" FL+FR+BC .IP \fB4.0\fR 4 .IX Item "4.0" FL+FR+FC+BC .IP \fBquad\fR 4 .IX Item "quad" FL+FR+BL+BR .IP \fBquad(side)\fR 4 .IX Item "quad(side)" FL+FR+SL+SR .IP \fB3.1\fR 4 .IX Item "3.1" FL+FR+FC+LFE .IP \fB5.0\fR 4 .IX Item "5.0" FL+FR+FC+BL+BR .IP \fB5.0(side)\fR 4 .IX Item "5.0(side)" FL+FR+FC+SL+SR .IP \fB4.1\fR 4 .IX Item "4.1" FL+FR+FC+LFE+BC .IP \fB5.1\fR 4 .IX Item "5.1" FL+FR+FC+LFE+BL+BR .IP \fB5.1(side)\fR 4 .IX Item "5.1(side)" FL+FR+FC+LFE+SL+SR .IP \fB6.0\fR 4 .IX Item "6.0" FL+FR+FC+BC+SL+SR .IP \fB6.0(front)\fR 4 .IX Item "6.0(front)" FL+FR+FLC+FRC+SL+SR .IP \fB3.1.2\fR 4 .IX Item "3.1.2" FL+FR+FC+LFE+TFL+TFR .IP \fBhexagonal\fR 4 .IX Item "hexagonal" FL+FR+FC+BL+BR+BC .IP \fB6.1\fR 4 .IX Item "6.1" FL+FR+FC+LFE+BC+SL+SR .IP \fB6.1\fR 4 .IX Item "6.1" FL+FR+FC+LFE+BL+BR+BC .IP \fB6.1(front)\fR 4 .IX Item "6.1(front)" FL+FR+LFE+FLC+FRC+SL+SR .IP \fB7.0\fR 4 .IX Item "7.0" FL+FR+FC+BL+BR+SL+SR .IP \fB7.0(front)\fR 4 .IX Item "7.0(front)" FL+FR+FC+FLC+FRC+SL+SR .IP \fB7.1\fR 4 .IX Item "7.1" FL+FR+FC+LFE+BL+BR+SL+SR .IP \fB7.1(wide)\fR 4 .IX Item "7.1(wide)" FL+FR+FC+LFE+BL+BR+FLC+FRC .IP \fB7.1(wide\-side)\fR 4 .IX Item "7.1(wide-side)" FL+FR+FC+LFE+FLC+FRC+SL+SR .IP \fB5.1.2\fR 4 .IX Item "5.1.2" FL+FR+FC+LFE+BL+BR+TFL+TFR .IP \fBoctagonal\fR 4 .IX Item "octagonal" FL+FR+FC+BL+BR+BC+SL+SR .IP \fBcube\fR 4 .IX Item "cube" FL+FR+BL+BR+TFL+TFR+TBL+TBR .IP \fB5.1.4\fR 4 .IX Item "5.1.4" FL+FR+FC+LFE+BL+BR+TFL+TFR+TBL+TBR .IP \fB7.1.2\fR 4 .IX Item "7.1.2" FL+FR+FC+LFE+BL+BR+SL+SR+TFL+TFR .IP \fB7.1.4\fR 4 .IX Item "7.1.4" FL+FR+FC+LFE+BL+BR+SL+SR+TFL+TFR+TBL+TBR .IP \fB7.2.3\fR 4 .IX Item "7.2.3" FL+FR+FC+LFE+BL+BR+SL+SR+TFL+TFR+TBC+LFE2 .IP \fB9.1.4\fR 4 .IX Item "9.1.4" FL+FR+FC+LFE+BL+BR+FLC+FRC+SL+SR+TFL+TFR+TBL+TBR .IP \fB9.1.6\fR 4 .IX Item "9.1.6" FL+FR+FC+LFE+BL+BR+FLC+FRC+SL+SR+TFL+TFR+TBL+TBR+TSL+TSR .IP \fBhexadecagonal\fR 4 .IX Item "hexadecagonal" FL+FR+FC+BL+BR+BC+SL+SR+WL+WR+TBL+TBR+TBC+TFC+TFL+TFR .IP \fBbinaural\fR 4 .IX Item "binaural" BIL+BIR .IP \fBdownmix\fR 4 .IX Item "downmix" DL+DR .IP \fB22.2\fR 4 .IX Item "22.2" FL+FR+FC+LFE+BL+BR+FLC+FRC+BC+SL+SR+TC+TFL+TFC+TFR+TBL+TBC+TBR+LFE2+TSL+TSR+BFC+BFL+BFR .PP یک چینش کانال سفارشی می‌تواند به صورت توالی‌ای از عبارت‌ها که با \*(Aq+\*(Aq جدا شده‌اند مشخص شود. هر عبارت می‌تواند یکی از موارد زیر باشد: .IP \(bu 4 نام یک کانال منفرد (مانند \fBFL\fR، \fBFR\fR، \fBFC\fR، \fBLFE\fR و غیره)، که هر کدام اختیاری می‌تواند شامل یک نام سفارشی پس از \*(Aq@\*(Aq باشد (مانند \fBFL@Left\fR، \&\fBFR@Right\fR، \fBFC@Center\fR، \fBLFE@Low_Frequency\fR و غیره) .PP یک چینش کانال استاندارد می‌تواند با موارد زیر مشخص شود: .IP \(bu 4 نام یک کانال منفرد (مانند \fBFL\fR، \fBFR\fR، \fBFC\fR، \fBLFE\fR و غیره) .IP \(bu 4 نام یک چینش کانال استاندارد (مانند \fBmono\fR، \&\fBstereo\fR، \fB4.0\fR، \fBquad\fR، \fB5.0\fR و غیره) .IP \(bu 4 تعداد کانال‌ها، به صورت ده‌دهی، به همراه \*(Aqc\*(Aq در انتها، که چینش کانال پیش‌فرض را برای آن تعداد کانال ایجاد می‌کند (تابع \&\f(CW\*(C`av_channel_layout_default\*(C'\fR را ببینید). توجه داشته باشید که همه تعداد کانال‌ها چینش پیش‌فرض ندارند. .IP \(bu 4 تعداد کانال‌ها، به صورت ده‌دهی، به همراه \*(AqC\*(Aq در انتها، که یک چینش کانال ناشناخته را با تعداد کانال مشخص‌شده ارائه می‌دهد. توجه داشته باشید که همه رشته‌های تعیین چینش کانال از چینش‌های کانال ناشناخته پشتیبانی نمی‌کنند. .IP \(bu 4 یک ماسک چینش کانال، به صورت هگزادسیمال که با "0x" شروع می‌شود (ماکروهای \&\f(CW\*(C`AV_CH_*\*(C'\fR را در \fIlibavutil/channel_layout.h\fR ببینید). .PP قبل از نسخه 53 کتابخانه libavutil نویسهٔ انتهایی "c" برای مشخص کردن تعداد کانال‌ها اختیاری بود، اما اکنون الزامی است، در حالی که ماسک چینش کانال می‌تواند به صورت یک عدد ده‌دهی نیز مشخص شود (تنها در صورتی که با "c" یا "C" دنبال نشده باشد). .PP همچنین تابع \f(CW\*(C`av_channel_layout_from_string\*(C'\fR تعریف‌شده در \&\fIlibavutil/channel_layout.h\fR را ببینید. .SH "ارزیابی عبارات محاسباتی (EXPRESSION EVALUATION)" .IX Header "EXPRESSION EVALUATION" هنگام ارزیابی یک عبارت حسابی، FFmpeg از یک ارزیاب فرمول داخلی استفاده می‌کند که از طریق رابط \fIlibavutil/eval.h\fR پیاده‌سازی شده است. .PP یک عبارت می‌تواند شامل عملگرهای یکانی، دودویی، ثابت‌ها و توابع باشد. .PP دو عبارت \fIexpr1\fR و \fIexpr2\fR می‌توانند برای تشکیل عبارت دیگری به شکل "\fIexpr1\fR;\fIexpr2\fR" ترکیب شوند. \&\fIexpr1\fR و \fIexpr2\fR به نوبت ارزیابی می‌شوند، و عبارت جدید به مقدار \fIexpr2\fR ارزیابی می‌گردد. .PP عملگرهای دودویی زیر در دسترس هستند: \f(CW\*(C`+\*(C'\fR، \f(CW\*(C`\-\*(C'\fR، \&\f(CW\*(C`*\*(C'\fR، \f(CW\*(C`/\*(C'\fR، \f(CW\*(C`^\*(C'\fR. .PP عملگرهای یکانی زیر در دسترس هستند: \f(CW\*(C`+\*(C'\fR، \f(CW\*(C`\-\*(C'\fR. .PP برخی متغیرهای داخلی می‌توانند برای ذخیره و بارگذاری نتایج واسط استفاده شوند. آن‌ها با استفاده از توابع \f(CW\*(C`ld\*(C'\fR و \f(CW\*(C`st\*(C'\fR با یک آرگومان نمایه متغیر از 0 تا 9 برای تعیین متغیر داخلی مورد نظر قابل دسترسی هستند. .PP توابع زیر در دسترس هستند: .IP \fBabs(x)\fR 4 .IX Item "abs(x)" محاسبه قدر مطلق \fIx\fR. .IP \fBacos(x)\fR 4 .IX Item "acos(x)" محاسبه آرک‌کوسینوس \fIx\fR. .IP \fBasin(x)\fR 4 .IX Item "asin(x)" محاسبه آرک‌سینوس \fIx\fR. .IP \fBatan(x)\fR 4 .IX Item "atan(x)" محاسبه آرک‌تانژانت \fIx\fR. .IP "\fBatan2(y, x)\fR" 4 .IX Item "atan2(y, x)" محاسبه مقدار اصلی آرک‌تانژانت \fIy\fR/\fIx\fR. .IP "\fBbetween(x, min, max)\fR" 4 .IX Item "between(x, min, max)" بازگرداندن 1 اگر \fIx\fR بزرگتر یا مساوی \fImin\fR و کوچکتر یا مساوی \fImax\fR باشد، در غیر این صورت 0. .IP "\fBbitand(x, y)\fR" 4 .IX Item "bitand(x, y)" .PD 0 .IP "\fBbitor(x, y)\fR" 4 .IX Item "bitor(x, y)" .PD محاسبه عملیات بیتی AND یا OR روی \fIx\fR و \fIy\fR. .Sp نتایج ارزیابی \fIx\fR و \fIy\fR قبل از اجرای عملیات بیتی به عدد صحیح تبدیل می‌شوند. .Sp توجه داشته باشید که هم تبدیل به عدد صحیح و هم تبدیل مجدد به ممیز شناور می‌توانند دقت را کاهش دهند. مراقب نتایج غیرمنتظره برای اعداد بزرگ (معمولاً 2^53 و بزرگتر) باشید. .IP \fBceil(expr)\fR 4 .IX Item "ceil(expr)" گرد کردن مقدار عبارت \fIexpr\fR به سمت بالا به نزدیک‌ترین عدد صحیح. برای مثال "ceil(1.5)" برابر "2.0" است. .IP "\fBclip(x, min, max)\fR" 4 .IX Item "clip(x, min, max)" بازگرداندن مقدار \fIx\fR محدودشده میان \fImin\fR و \fImax\fR. .IP \fBcos(x)\fR 4 .IX Item "cos(x)" محاسبه کوسینوس \fIx\fR. .IP \fBcosh(x)\fR 4 .IX Item "cosh(x)" محاسبه کوسینوس هذلولوی (هایپربولیک) \fIx\fR. .IP "\fBeq(x, y)\fR" 4 .IX Item "eq(x, y)" بازگرداندن 1 اگر \fIx\fR و \fIy\fR معادل باشند، در غیر این صورت 0. .IP \fBexp(x)\fR 4 .IX Item "exp(x)" محاسبه تابع نمایی \fIx\fR (بر مبنای \f(CW\*(C`e\*(C'\fR، عدد اویلر). .IP \fBfloor(expr)\fR 4 .IX Item "floor(expr)" گرد کردن مقدار عبارت \fIexpr\fR به سمت پایین به نزدیک‌ترین عدد صحیح. برای مثال "floor(\e-1.5)" برابر "\e-2.0" است. .IP \fBgauss(x)\fR 4 .IX Item "gauss(x)" محاسبه تابع گاوس برای \fIx\fR، متناظر با \&\f(CW\*(C`exp(\e-x*x/2) / sqrt(2*PI)\*(C'\fR. .IP "\fBgcd(x, y)\fR" 4 .IX Item "gcd(x, y)" بازگرداندن بزرگترین مقسوم‌علیه مشترک (ب.م.م) \fIx\fR و \fIy\fR. اگر هر دو \fIx\fR و \&\fIy\fR برابر 0 باشند یا یکی یا هر دو کمتر از صفر باشند رفتار تعریف‌نشده است. .IP "\fBgt(x, y)\fR" 4 .IX Item "gt(x, y)" بازگرداندن 1 اگر \fIx\fR بزرگتر از \fIy\fR باشد، در غیر این صورت 0. .IP "\fBgte(x, y)\fR" 4 .IX Item "gte(x, y)" بازگرداندن 1 اگر \fIx\fR بزرگتر یا مساوی \fIy\fR باشد، در غیر این صورت 0. .IP "\fBhypot(x, y)\fR" 4 .IX Item "hypot(x, y)" این تابع مشابه تابع C با همین نام است؛ مقدار "sqrt(\fIx\fR*\fIx\fR + \fIy\fR*\fIy\fR)" یعنی طول وتر یک مثلث قائم‌الزاویه با اضلاع به طول \fIx\fR و \fIy\fR، یا فاصله نقطه (\fIx\fR, \fIy\fR) از مبدا مختصات را بازمی‌گرداند. .IP "\fBif(x, y)\fR" 4 .IX Item "if(x, y)" ارزیابی \fIx\fR، و اگر نتیجه غیرصفر باشد نتیجه ارزیابی \fIy\fR را بازمی‌گرداند، در غیر این صورت 0. .IP "\fBif(x, y, z)\fR" 4 .IX Item "if(x, y, z)" ارزیابی \fIx\fR، و اگر نتیجه غیرصفر باشد نتیجه ارزیابی \fIy\fR، در غیر این صورت نتیجه ارزیابی \fIz\fR را بازمی‌گرداند. .IP "\fBifnot(x, y)\fR" 4 .IX Item "ifnot(x, y)" ارزیابی \fIx\fR، و اگر نتیجه صفر باشد نتیجه ارزیابی \fIy\fR را بازمی‌گرداند، در غیر این صورت 0. .IP "\fBifnot(x, y, z)\fR" 4 .IX Item "ifnot(x, y, z)" ارزیابی \fIx\fR، و اگر نتیجه صفر باشد نتیجه ارزیابی \fIy\fR، در غیر این صورت نتیجه ارزیابی \fIz\fR را بازمی‌گرداند. .IP \fBisinf(x)\fR 4 .IX Item "isinf(x)" بازگرداندن 1.0 اگر \fIx\fR برابر با +/\-INFINITY باشد، در غیر این صورت 0.0. .IP \fBisnan(x)\fR 4 .IX Item "isnan(x)" بازگرداندن 1.0 اگر \fIx\fR برابر با NAN باشد، در غیر این صورت 0.0. .IP \fBld(idx)\fR 4 .IX Item "ld(idx)" بارگذاری مقدار متغیر داخلی با نمایه \fIidx\fR، که قبلاً با st(\fIidx\fR, \fIexpr\fR) ذخیره شده است. تابع مقدار بارگذاری‌شده را بازمی‌گرداند. .IP "\fBlerp(x, y, z)\fR" 4 .IX Item "lerp(x, y, z)" بازگرداندن درون‌یابی خطی میان \fIx\fR و \fIy\fR به میزان \fIz\fR. .IP \fBlog(x)\fR 4 .IX Item "log(x)" محاسبه لگاریتم طبیعی \fIx\fR. .IP "\fBlt(x, y)\fR" 4 .IX Item "lt(x, y)" بازگرداندن 1 اگر \fIx\fR کوچکتر از \fIy\fR باشد، در غیر این صورت 0. .IP "\fBlte(x, y)\fR" 4 .IX Item "lte(x, y)" بازگرداندن 1 اگر \fIx\fR کوچکتر یا مساوی \fIy\fR باشد، در غیر این صورت 0. .IP "\fBmax(x, y)\fR" 4 .IX Item "max(x, y)" بازگرداندن بیشینه میان \fIx\fR و \fIy\fR. .IP "\fBmin(x, y)\fR" 4 .IX Item "min(x, y)" بازگرداندن کمینه میان \fIx\fR و \fIy\fR. .IP "\fBmod(x, y)\fR" 4 .IX Item "mod(x, y)" محاسبه باقیمانده تقسیم \fIx\fR بر \fIy\fR. .IP \fBnot(expr)\fR 4 .IX Item "not(expr)" بازگرداندن 1.0 اگر \fIexpr\fR صفر باشد، در غیر این صورت 0.0. .IP "\fBpow(x, y)\fR" 4 .IX Item "pow(x, y)" محاسبه توان \fIx\fR به توان \fIy\fR، معادل "(\fIx\fR)^(\fIy\fR)". .IP \fBprint(t)\fR 4 .IX Item "print(t)" .PD 0 .IP "\fBprint(t, l)\fR" 4 .IX Item "print(t, l)" .PD چاپ مقدار عبارت \fIt\fR با سطح گزارش‌گیری (loglevel) برابر با \fIl\fR. اگر \fIl\fR مشخص نشود، از یک سطح گزارش‌گیری پیش‌فرض استفاده می‌شود. مقدار عبارت چاپ‌شده را بازمی‌گرداند. .IP \fBrandom(idx)\fR 4 .IX Item "random(idx)" بازگرداندن یک مقدار شبه‌تصادفی بین 0.0 و 1.0. مقدار \fIidx\fR نمایه متغیر داخلی مورد استفاده برای ذخیره seed/state است که قبلاً با \f(CWst(idx)\fR ذخیره شده است. .Sp برای مقداردهی اولیه seed، باید مقدار seed را به صورت یک عدد صحیح بدون‌علامت ۶۴ بیتی در متغیر داخلی با نمایه \fIidx\fR ذخیره کنید. .Sp برای مثال، برای ذخیره seed با مقدار \f(CW42\fR در متغیر داخلی با نمایه \f(CW0\fR و چاپ چند مقدار تصادفی: .Sp .Vb 1 \& st(0,42); print(random(0)); print(random(0)); print(random(0)) .Ve .IP "\fBrandomi(idx, min, max)\fR" 4 .IX Item "randomi(idx, min, max)" بازگرداندن یک مقدار شبه‌تصادفی در بازه بین \fImin\fR و \&\fImax\fR. مقدار \fIidx\fR نمایه متغیر داخلی است که برای ذخیره seed/state استفاده خواهد شد، و قبلاً می‌تواند با \f(CWst(idx)\fR ذخیره شده باشد. .Sp برای مقداردهی اولیه seed، باید مقدار seed را به صورت یک عدد صحیح بدون‌علامت ۶۴ بیتی در متغیر داخلی با نمایه \fIidx\fR ذخیره کنید. .IP "\fBroot(expr, max)\fR" 4 .IX Item "root(expr, max)" یافتن یک مقدار ورودی که تابع نمایش‌داده‌شده توسط \fIexpr\fR با آرگومان \fR\f(BIld\fR\fI\|(0)\fR به ازای آن در بازه 0..\fImax\fR برابر 0 باشد. .Sp عبارت در \fIexpr\fR باید نشان‌دهنده یک تابع پیوسته باشد در غیر این صورت نتیجه تعریف‌نشده است. .Sp مقدار \&\fR\f(BIld\fR\fI\|(0)\fR برای نشان دادن مقدار ورودی تابع استفاده می‌شود، به این معنی که عبارت داده‌شده چندین بار با مقادیر ورودی مختلف ارزیابی خواهد شد که عبارت می‌تواند از طریق \f(CWld(0)\fR به آن‌ها دسترسی داشته باشد. هنگامی که عبارت به 0 ارزیابی شود، مقدار ورودی مربوطه بازگردانده خواهد شد. .IP \fBround(expr)\fR 4 .IX Item "round(expr)" گرد کردن مقدار عبارت \fIexpr\fR به نزدیک‌ترین عدد صحیح. برای مثال "round(1.5)" برابر "2.0" است. .IP \fBsgn(x)\fR 4 .IX Item "sgn(x)" محاسبه علامت \fIx\fR. .IP \fBsin(x)\fR 4 .IX Item "sin(x)" محاسبه سینوس \fIx\fR. .IP \fBsinh(x)\fR 4 .IX Item "sinh(x)" محاسبه سینوس هذلولوی \fIx\fR. .IP \fBsqrt(expr)\fR 4 .IX Item "sqrt(expr)" محاسبه ریشه دوم (جذر) \fIexpr\fR. معادل "(\fIexpr\fR)^.5". .IP \fBsquish(x)\fR 4 .IX Item "squish(x)" محاسبه عبارت \f(CW\*(C`1/(1 + exp(4*x))\*(C'\fR. .IP "\fBst(idx, expr)\fR" 4 .IX Item "st(idx, expr)" ذخیره مقدار عبارت \fIexpr\fR در یک متغیر داخلی. \fIidx\fR نمایه متغیری را مشخص می‌کند که مقدار در آن ذخیره شود، و مقداری از 0 تا 9 است. تابع مقدار ذخیره‌شده در متغیر داخلی را بازمی‌گرداند. .Sp مقدار ذخیره‌شده می‌تواند با \f(CWld(var)\fR بازیابی شود. .Sp نکته: متغیرها در حال حاضر میان عبارات مختلف به اشتراک گذاشته نمی‌شوند. .IP \fBtan(x)\fR 4 .IX Item "tan(x)" محاسبه تانژانت \fIx\fR. .IP \fBtanh(x)\fR 4 .IX Item "tanh(x)" محاسبه تانژانت هذلولوی \fIx\fR. .IP "\fBtaylor(expr, x)\fR" 4 .IX Item "taylor(expr, x)" .PD 0 .IP "\fBtaylor(expr, x, idx)\fR" 4 .IX Item "taylor(expr, x, idx)" .PD ارزیابی یک سری تیلور در \fIx\fR، با توجه به عبارتی که مشتق \f(CWld(idx)\fR\-ام یک تابع را در 0 نشان می‌دهد. .Sp هنگامی که سری همگرا نشود، نتیجه تعریف‌نشده است. .Sp مقدار \&\fIld(idx)\fR برای نشان دادن مرتبه مشتق در \fIexpr\fR استفاده می‌شود، به این معنی که عبارت داده‌شده چندین بار با مقادیر ورودی مختلف ارزیابی خواهد شد که عبارت می‌تواند از طریق \&\f(CWld(idx)\fR به آن‌ها دسترسی داشته باشد. اگر \fIidx\fR مشخص نشود، 0 فرض می‌شود. .Sp نکته: هنگامی که مشتقات را در y به جای 0 دارید، \&\f(CW\*(C`taylor(expr, x\-y)\*(C'\fR می‌تواند استفاده شود. .IP \fBtime\|(0)\fR 4 .IX Item "time" بازگرداندن زمان فعلی (ساعت دیواری) بر حسب ثانیه. .IP \fBtrunc(expr)\fR 4 .IX Item "trunc(expr)" گرد کردن مقدار عبارت \fIexpr\fR به سمت صفر به نزدیک‌ترین عدد صحیح. برای مثال "trunc(\e-1.5)" برابر "\e-1.0" است. .IP "\fBwhile(cond, expr)\fR" 4 .IX Item "while(cond, expr)" ارزیابی عبارت \fIexpr\fR تا زمانی که عبارت \fIcond\fR غیرصفر باشد، و بازگرداندن مقدار آخرین ارزیابی \fIexpr\fR، یا NAN اگر \fIcond\fR همیشه نادرست بوده باشد. .PP ثابت‌های زیر در دسترس هستند: .IP \fBPI\fR 4 .IX Item "PI" مساحت دیسک واحد، تقریباً 3.14 .IP \fBE\fR 4 .IX Item "E" \&\fBexp\fR\|(1) (عدد اویلر)، تقریباً 2.718 .IP \fBPHI\fR 4 .IX Item "PHI" نسبت طلایی (1+\fBsqrt\fR\|(5))/2، تقریباً 1.618 .PP با فرض اینکه یک عبارت در صورت داشتن مقدار غیرصفر "درست" (true) در نظر گرفته می‌شود، توجه داشته باشید که: .PP \&\f(CW\*(C`*\*(C'\fR مانند AND عمل می‌کند .PP \&\f(CW\*(C`+\*(C'\fR مانند OR عمل می‌کند .PP برای مثال ساختار: .PP .Vb 1 \& if (A AND B) then C .Ve .PP معادل است با: .PP .Vb 1 \& if(A*B, C) .Ve .PP در کد زبان C خود، می‌توانید فهرست توابع یکانی و دودویی را گسترش دهید و ثابت‌های شناخته‌شده را تعریف کنید، به طوری که برای عبارات شما در دسترس باشند. .PP ارزیاب همچنین پیشوندهای یکای دستگاه بین‌المللی (SI) را می‌شناسد. اگر \*(Aqi\*(Aq بعد از پیشوند اضافه شود، از پیشوندهای دودویی (باینری) استفاده می‌شود که بر پایه توان‌های 1024 هستند به جای توان‌های 1000. پسوند \*(AqB\*(Aq مقدار را در ۸ ضرب می‌کند، و می‌تواند بعد از پیشوند یکا اضافه شود یا به تنهایی به کار رود. این امکان استفاده از مثلاً \*(AqKB\*(Aq، \*(AqMiB\*(Aq، \&\*(AqG\*(Aq و \*(AqB\*(Aq را به عنوان پسوند عدد فراهم می‌کند. .PP فهرست پیشوندهای بین‌المللی موجود در ادامه می‌آید، همراه با نشان دادن توان‌های متناظر 10 و 2. .IP \fBy\fR 4 .IX Item "y" 10^\-24 / 2^\-80 .IP \fBz\fR 4 .IX Item "z" 10^\-21 / 2^\-70 .IP \fBa\fR 4 .IX Item "a" 10^\-18 / 2^\-60 .IP \fBf\fR 4 .IX Item "f" 10^\-15 / 2^\-50 .IP \fBp\fR 4 .IX Item "p" 10^\-12 / 2^\-40 .IP \fBn\fR 4 .IX Item "n" 10^\-9 / 2^\-30 .IP \fBu\fR 4 .IX Item "u" 10^\-6 / 2^\-20 .IP \fBm\fR 4 .IX Item "m" 10^\-3 / 2^\-10 .IP \fBc\fR 4 .IX Item "c" 10^\-2 .IP \fBd\fR 4 .IX Item "d" 10^\-1 .IP \fBh\fR 4 .IX Item "h" 10^2 .IP \fBk\fR 4 .IX Item "k" 10^3 / 2^10 .IP \fBK\fR 4 .IX Item "K" 10^3 / 2^10 .IP \fBM\fR 4 .IX Item "M" 10^6 / 2^20 .IP \fBG\fR 4 .IX Item "G" 10^9 / 2^30 .IP \fBT\fR 4 .IX Item "T" 10^12 / 2^40 .IP \fBP\fR 4 .IX Item "P" 10^15 / 2^50 .IP \fBE\fR 4 .IX Item "E" 10^18 / 2^60 .IP \fBZ\fR 4 .IX Item "Z" 10^21 / 2^70 .IP \fBY\fR 4 .IX Item "Y" 10^24 / 2^80 .SH "همچنین ببینید (SEE ALSO)" .IX Header "SEE ALSO" \&\fBffmpeg\fR\|(1)، \fBffplay\fR\|(1)، \fBffprobe\fR\|(1)، \fBlibavutil\fR\|(3) .SH "نویسندگان (AUTHORS)" .IX Header "AUTHORS" توسعه‌دهندگان FFmpeg. .PP برای جزئیات بیشتر درباره نویسندگان، به تاریخچه گیت پروژه (https://git.ffmpeg.org/ffmpeg) مراجعه کنید، به عنوان مثال با اجرای دستور \&\fBgit log\fR در دایرکتوری کد منبع FFmpeg، یا مرور مخزن آنلاین در نشانی <\fBhttps://git.ffmpeg.org/ffmpeg\fR>. .PP نگه‌دارنده‌های اجزای خاص در فایل \&\fIMAINTAINERS\fR در درخت کد منبع فهرست شده‌اند.