ppmtoy4m(1) MJPEG tools manual ppmtoy4m(1)

ppmtoy4m - تبدیل تصاویر PPM به جریان YUV4MPEG2

ppmtoy4m [options] [ filename ]

دستور ppmtoy4m یک یا چند تصویر خام PPM را به یک جریان YUV4MPEG2 تبدیل می‌کند که برای پردازش بیشتر توسط سایر ابزارهای ویدئویی آماده است.

خروجی به stdout ارسال می‌شود تا هدایت لوله‌ای (piping) به سایر ابزارهای MJPEG آسان شود. اندازه فریم(های) خروجی بر اساس (نخستین) تصویر ورودی تعیین می‌گردد.

ورودی یک تصویر PPM با قالب «خام» (raw) است که از stdin یا از نام‌فایل اختیاری خوانده می‌شود. ورودی می‌تواند شامل چندین تصویر PPM پیوسته‌شده به یکدیگر باشد؛ ppmtoy4m آن‌ها را به صورت متوالی خوانده و پردازش خواهد کرد. تمام تصاویر باید اندازه و قالب یکسانی داشته باشند. تصاویر ورودی را می‌توان به عنوان فریم‌های کامل progressive (تدریجی)، فیلدهای interleaved (درهم‌بافته)، یا (به صورت جفتی) فیلدهای متوالی تفسیر کرد. تصاویر ورودی باید ۸ بیت در هر کانال داشته باشند (یعنی مقدار 'maxval' باید ۲۵۵ باشد).

تصاویر ورودی باید در فضای رنگی معمول R'G'B' باشند. این تصاویر پیش از خروجی به فضای رنگی Y'CbCr (استاندارد ITU-R BT.601) تبدیل می‌شوند (و در صورت تمایل، فرعی‌نمایی رنگی یا chroma subsampling بر روی آن‌ها انجام می‌گیرد).

دستورهای ppmtoy4m و y4mtoppm معکوس یکدیگر هستند؛ می‌توانید خروجی یکی را از طریق لوله به دیگری هدایت کنید و برعکس. توجه داشته باشید که عملیات‌های زیرنمونه‌گیری و فضای رنگی در هر دو جهت دارای اتلاف (lossy) هستند. همچنین، هنگام تبدیل به PPM، اطلاعات مربوط به درهم‌بافی (interlacing) و نسبت ابعاد نمونه (sample aspect ratio) از دست می‌رود (اما با ارائه آرگومان‌های خط فرمان به ppmtoy4m می‌توان آن‌ها را بازسازی کرد).

دستور ppmtoy4m گزینه‌های زیر را می‌پذیرد:

انحراف فریم (Frame offset): صرف‌نظر کردن از ارسال 'num' فریم نخست به خروجی. (پیش‌فرض: 0)
تولید در مجموع 'num' فریم در خروجی. برای مشخص کردن همه فریم‌ها از '0' استفاده کنید. (پیش‌فرض: 0)
تنظیم نرخ فریم (framerate) کدگذاری شده در جریان خروجی، به صورت یک نسبت دقیق عدد صحیح. (پیش‌فرض: 30000:1001) نرخ‌های رایج عبارتند از:
24000:1001 - فیلم تبدیل‌شده با پول‌داون ۳:۲ در NTSC
24:1 - فیلم بومی (native)
25:1 - سیستم PAL/SECAM
30000:1001 - ویدئوی NTSC
50:1 - نرخ فیلد PAL
60000:1001 - نرخ فیلد NTSC
تنظیم نسبت ابعاد پیکسل (pixel aspect ratio) کدگذاری شده در جریان خروجی، به صورت یک نسبت دقیق عدد صحیح. (پیش‌فرض: 1:1) نسبت‌های رایج عبارتند از:
1:1 - پیکسل‌های مربعی (گرافیک کامپیوتری)
10:11 - استاندارد CCIR-601 NTSC
59:54 - استاندارد CCIR-601 PAL
تفسیر داده‌ها به صورت BGR به جای RGB.
تنظیم حالت درهم‌بافی (interlacing)، مورد استفاده برای تفسیر تصویر(های) PPM و همچنین کدگذاری در جریان خروجی. (پیش‌فرض: 'p')
p - تدریجی (progressive)، غیر درهم‌بافته
t - فیلد بالایی اول (top/upper-field-first) درهم‌بافته
b - فیلد پایینی اول (bottom/lower-field-first) درهم‌بافته
برای جریان‌های درهم‌بافته، با هر تصویر PPM به عنوان دو فیلد درهم‌بافته (interleaved) رفتار می‌شود. (در غیر این صورت، برای هر فریم دو تصویر PPM خوانده خواهد شد؛ یک تصویر برای هر فیلد.)
تکرار آخرین فریم ورودی تا زمانی که خروجی کامل شود. اگر '-n 0' نیز مشخص شده باشد، آخرین فریم ورودی برای همیشه تکرار خواهد شد.
تنظیم حالت زیرنمونه‌گیری رنگ (chroma subsampling). (پیش‌فرض: 444)
444 - 4:4:4 (بدون زیرنمونه‌گیری)
420jpeg - 4:2:0 JPEG/MPEG-1، هم‌محلی بینابینی (interstitial cositing)
420mpeg2 - 4:2:0 MPEG-2، هم‌محلی افقی (horizontal cositing)

حالت‌های زیرنمونه‌گیری‌شده از یک فیلتر زیرنمونه‌گیری ضعیف استفاده می‌کنند؛ نتایج بهتر با ارسال خروجی پیش‌فرض 4:4:4 به یک مقیاس‌بند (scaler) که از subsampling پشتیبانی کند، مانند y4mscaler(1)، حاصل خواهد شد.

تنظیم سطح پرگویی (verbosity).
0 = فقط هشدارها و خطاها.
1 = افزودن پیام‌های اطلاعاتی.
2 = افزودن پیام‌های اشکال‌زدایی پرحرف.

برای تبدیل یک فایل حاوی یک تصویر PPM به جریانی متشکل از ۱۵ فریم (یکسان):

ppmtoy4m -n 15 -r some-image.ppm

برای تبدیل مجموعه‌ای از تصاویر قالب Targa (در دایرکتوری جاری) به یک جریان YUV4MPEG2 که با yuvplay نمایش داده شود:

ls *.tga | xargs -n1 tgatoppm | ppmtoy4m | yuvplay

این صفحه راهنما توسط Matt Marjanovic نوشته شده است.
اگر پرسش، نظر، یا مشکلی دارید یا مایلید با توسعه‌دهندگان تماس بگیرید، لیست پستی اصلی برای MJPEG-tools عبارت است از:
mjpeg-users@lists.sourceforge.net

برای اطلاعات بیشتر، از وب‌سایت ما بازدید کنید:
http://mjpeg.sourceforge.net

ppm(5), y4mtoppm(1), mjpegtools(1), mpeg2enc(1), y4mscaler(1), yuv2lav(1), yuvplay(1)

28 April 2004 MJPEG Tools Team