XINE(5) File Formats Manual XINE(5)

xine - یک پخش‌کننده ویدیویی آزاد

شناسه‌های MRL مشابه URLها در مرورگر وب شما هستند. آن‌ها رسانه‌ای را که باید خوانده شود مشخص می‌کنند. شناسه‌های معتبر MRL ممکن است نام‌های ساده فایل یا یکی از موارد زیر باشند (یادداشت‌های زیر را نیز ببینید):

• سیستم فایل (Filesystem):

file:<path>
fifo:<path>
stdin:/
• لوح فشرده و دی‌وی‌دی (CD and DVD):

dvd:/[device_name][/title[.part]]
dvd:/DVD_image_file[/title[.part]]
dvd:/DVD_directory[/title[.part]]
(از مسیر دایرکتوری حاوی VIDEO_TS استفاده کنید)
vcd://[CD_image_or_device_name][@[letter]number]
vcdo://track_number
cdda:/[device][/track_number]
• دستگاه‌های ویدیویی (Video devices):

v4l://[tuner_device/frequency]
v4l2://tuner_device
dvb://channel_number
(کانال n-ام در channels.conf شما)
dvb://channel_name
dvbc://channel_name:tuning_parameters
dvbs://channel_name:tuning_parameters
dvbt://channel_name:tuning_parameters
dvba://channel_name:tuning_parameters
pvr:/tmp_files_path!saved_files_path!max_page_age
(برای WinTV PVR 250 و 350)
• شبکه (Network):

http://host...
tcp://host[:port]
udp://host[:port[?iface=interface]]
rtp://host[:port[?iface=interface]]
(درگاه پیش‌فرض برای tcp، udp و rtp عدد ۷۶۵۸ است)
smb://...
mms://host...
pnm://host...
rtsp://host... (نیازمند کُدک‌های Real است)

افزونه‌های ورودی دیگر انواع بیشتری از MRL را ارائه می‌دهند. مواردی که در بالا فهرست شده‌اند به همراه نسخه رسمی libxine در دسترس هستند.

نکته: در جایی که نام فایل الزامی است، مسیر کامل باید ارائه شود - در یک پوسته، معمولاً می‌توانید از "$PWD/file" یا "$(pwd)/file" یا "`pwd`/file" استفاده کنید، در صورتی که فایل در دایرکتوری جاری باشد. (اینکه کدام مورد کار کند به پوسته شما بستگی دارد؛ هر سه مورد در bash کار می‌کنند. همچنین، قوانین متداول کدگذاری URL اعمال می‌شوند؛ به‌ویژه `%' باید به صورت `%25' کدگذاری شود.)

از نسخه 1.1.3 کتابخانه xine-lib، شماره عنوان DVD می‌تواند 0 باشد (انتخاب ناوبری) و شماره فصل می‌تواند 0 باشد (عنوان کامل).

یک دستور ساده vcd:/ مورد پیش‌فرض را (مثلاً شاید شیار ۱ یا ورودی ۰) با استفاده از دستگاه پیش‌فرض VCD (احتمالاً /dev/cdrom) اجرا می‌کند. هم مورد پیش‌فرض و هم دستگاه پیش‌فرض توسط کاربر قابل پیکربندی هستند.

با این حال، امکان مشخص کردن صریح دستگاه/نام‌فایل دیسک تصویری (Video CD) و مورد به صورت مشخص در MRL نیز وجود دارد.

برای مثال، vcd:/dev/dvd ورودی پیش‌فرض را با استفاده از دستگاه /dev/dvd مشخص می‌کند که در صورتی که این درایو DVD شما باشد و با درایو CD-ROM شما تفاوت داشته باشد و درایو DVD شما بتواند دیسک‌های CD را پخش کند، کاربردی است. همچنین vcd://test_svcd_ntsc.cue فایل cue ایمیج CD روی دیسک را مشخص می‌کند. (فایل test_svcd_ntsc.bin فایل bin متناظر با آن است، اما استفاده از آن کار نخواهد کرد.)

پس از نام اختیاری دستگاه یا نام فایل، می‌توانید نوع واحد را با قرار دادن یک دونقطه قبل از آن مشخص کنید. شناسه MRL که به یک دونقطه ختم شود مانند این است که اصلاً آن را اضافه نکرده باشید: نوع و شماره ورودی پیش‌فرض استفاده می‌شود. آیتم‌ها در ۴ نوع ارائه می‌شوند: "Track" (شیار)، "Entry" (ورودی)، "Playback" (پخش) و "Segment" (قطعه). این واحدها با حرف بزرگ ابتدای هر نوع مشخص می‌شوند: T، E، P، S، s. حرف بزرگ S در نمایش MRL نشان‌دهنده یک قطعه NTSC است در حالی که حرف کوچک s نشان‌دهنده یک قطعه PAL است. با این حال، هنگام وارد کردن یک MRL، بزرگی یا کوچکی این حروف اهمیتی ندارد.

بسته به دیسک تصویری (Video CD)، ممکن است هیچ قطعه قابل پخشی (S،s) یا کنترل پخشی (P) نداشته باشید. اگر یک MRL بدهید که به یک ورودی کنترل پخش ارجاع داشته باشد اما کنترل پخشی وجود نداشته باشد، شماره پخش شما در سکوت به شماره ورودی متناظر تبدیل خواهد شد.

می‌توانید موارد گوناگونی را که بر انتخاب MRLها در هنگام وجود ابهام در نام MRL اثر می‌گذارند پیکربندی کنید. گزینه media.vcd.autoplay مشخص می‌کند که در صورت عدم تعیین، از چه نوع واحدی در MRL استفاده شود. تنظیم پیکربندی دیگر، vcd.device، دستگاه مورد استفاده را در صورت مشخص نشدن این بخش تعیین می‌کند. هنگامی که دکمه VCD را فشار می‌دهید، این کار معادل وارد کردن vcd:/ است و بنابراین این دو تنظیم پیکربندی برای بسط دادن MRL به کار گرفته می‌شوند.

چند مثال از شناسه‌های MRL در زیر آمده است. در این مثال‌ها، فرض می‌کنیم تنظیمات پیکربندی زیر اعمال شده است:

پخش (ناوبری) مورد پیش‌فرض (در این مورد شناسه ورودی ۰) از دستگاه پیش‌فرض (در این حالت تنظیم‌شده روی /dev/cdrom)
مشابه بالا
تأثیری مشابه بالا دارد زیرا دستگاه پیش‌فرض روی /dev/cdrom تنظیم شده است.
مشابه بالا؛ اما توجه داشته باشید که این به این دلیل است که autoplay:entry تنظیم شده است که دیگر مقدار پیش‌فرض نیست.
پخش (ناوبری) مورد پیش‌فرض از /dev/cdrom2
باید مشابه بالا باشد اما در حال حاضر دچار اشکال است؟
پخش شیار ۱ از /dev/cdrom2
پخش قطعه ۱ از /dev/cdrom. این فرض می‌کند که قطعه ۱ وجود *دارد*. برای دیدن این مورد، فهرست MRL را بررسی کنید.
پخش مورد فهرست پخش ۱ از دستگاه پیش‌فرض. اگر کنترل پخشی وجود نداشته باشد، MRL به vcd:/@E0 تبدیل خواهد شد. مجدداً فهرست MRL را بررسی کنید تا ببینید آیا P1 وجود دارد یا خیر.
احتمالاً مشابه بالا.
پخش شناسه ورودی ۱ از دستگاه پیش‌فرض.
پخش قطعه ۰ از دستگاه پیش‌فرض.
پخش شیار ۳ از دستگاه پیش‌فرض.
پخش شیار ۱ از /dev/cdrom2.
پخش مورد پیش‌فرض (E0) از /tmp/ntsc.bin. به @ انتهایی توجه کنید.
پخش ورودی ۰ از ntsc.bin.
پخش ورودی ۰ از /tmp/ntsc.nrg (فایل Nero). برای برخی ایمیج‌های ساده Nero کار می‌کند.

شناسه‌های DVB MRL نیازمند این هستند که xine-lib/channels.conf در $XDG_CONFIG_HOME/ یا ~/.config/ وجود داشته باشد و شامل داده‌های معتبر باشد. این فایل را می‌توان با ایجاد یک فایل تنظیم فرکانس با استفاده از ابزار "scan" در برنامه‌های LinuxTV DVB (یا "dvbscan" اگر از نسخه‌ای جدیدتر از 1.1.0 استفاده می‌کنید) به دست آورد:

scan -o zap /usr/share/doc/dvb-utils/examples/scan/dvb-t/uk-PontopPike >~/.config/xine-lib/channels.conf

(این مثال برای فرستنده محلی نویسنده است و از فایلی از بسته Debian dvb-utils استفاده می‌کند.)

برای شناسه‌های MRL مربوط به dvbc، dvbs و dvbt، پارامترهای تنظیم فرکانس انتظار می‌رود که یکی از قالب‌های زیر را می‌گیرند:

<frequency>:<polarisation>:<sat-no>:<sym-rate>:<vpid>:<apid>:<service-id>
<frequency>:<inversion>:<sym-rate>:<fec>:<qam>:<vpid>:<apid>:<service-id>
<frequency>:<inversion>:<bw>:<fec-hp>:<fec-lp>:<qam>:<transmission-mode>:<guardlist>:<hierarchy-info>:<vpid>:<apid>:<service-id>
<frequency>:<qam>:<vpid>:<apid>:<service-id>

پارامترهای منفرد عبارتند از:

عدد، معمولاً بر حسب کیلوهرتز (kHz)
`v` یا `h` (قطبش عمودی یا افقی)
عدد صحیح بدون علامت، معمولاً 0
نرخ نماد بر حسب MSyms/sec
INVERSION_ON, INVERSION_OFF, INVERSION_AUTO
FEC_1_2, FEC_2_3, FEC_3_4 ... FEC_8_9, FEC_AUTO, FEC_NONE
QPSK, QAM_128, QAM_16 ...
BANDWIDTH_6_MHZ, BANDWIDTH_7_MHZ, BANDWIDTH_8_MHZ
TRANSMISSION_MODE_2K, TRANSMISSION_MODE_8K
GUARD_INTERVAL_1_4, GUARD_INTERVAL_1_8, GUARD_INTERVAL_1_16, GUARD_INTERVAL_1_32,
HIERARCHY_1, HIERARCHY_2, HIERARCHY_4, HIERARCHY_NONE
شناسه ویدیوی برنامه (video program ID)
شناسه صوتی برنامه (audio program ID)
شناسه سرویس (مورد نیاز برای اطلاعات فعلی/بعدی و غیره)

ورودی‌های صفحه‌کلید و موشواره زیر ممکن است پذیرفته شوند:

شروع/توقف ضبط
تغییر وضعیت بزرگ‌نمایی (zoom)
تغییر وضعیت نمایش اکنون/بعدی
کانال قبلی/بعدی
پیمایش در فهرست کانال‌ها و انتخاب کانال برگزیده

فایل‌های زیرنویس خارجی (هر mrl)
فایل‌های زیرنویس متنی ممکن است به MRL افزوده شوند:.

<mrl>#subtitle:<subtitlefile>
این روش معمول برای مشخص کردن فایل زیرنویس مورد استفاده است. رابط کاربری (frontend) توجهی به فایل زیرنویس نخواهد کرد. برای مثال:
file://home/user/wibble.mpg#subtitle:/home/user/wibble.sub
(توجه داشته باشید که برخی از رابط‌های کاربری می‌توانند فایل‌های زیرنویس را در مواردی که نام آن‌ها متفاوت است، همان‌طور که در مثال نشان داده شده است، شناسایی کنند.)

پس از علامت جداکننده # می‌توانید چندین پارامتر جریان را اضافه کنید:

ویدیو نادیده گرفته خواهد شد.
صدا نادیده گرفته خواهد شد.
زیرنویس‌های تصویری (Subpictures) نادیده گرفته خواهند شد.
افزونه demux مورد استفاده را مشخص کنید.
تنظیم بلندی صدا.
تنظیم فشرده‌سازی محدوده دینامیکی صدا.
<config entry>:<config value>
اختصاص مقدار جدید به هر مدخل پیکربندی.
ذخیره جریان (در صورت مجاز بودن) در فایل مشخص‌شده، نسبت به دایرکتوری تعیین‌شده توسط گزینه "media.capture.save_dir".
تغییر گزینه پیکربندی به‌صورت بلادرنگ (on the fly):

شما می‌توانید یک گزینه پیکربندی را در هر زمان با استفاده از شیوه ویژه MRL به صورت cfg:/ تغییر دهید. نحو آن به این صورت است:
cfg:/<config entry> : <config value>
برخلاف گزینه پیکربندی جریان، می‌توانید هر چیزی را پیش از پخش جریان تغییر دهید.

xine(1), aaxine(1), gxine(1), toxine(1), totem(1), kaffeine(1) ...

برنامه‌ها به طور کامل در صفحه اصلی xine مستند شده‌اند: http://www.xine-project.org

این متن از صفحه راهنمای xine توسط Darren Salt <dsalt@users.sourceforge.net> استخراج شده است. صفحه راهنمای xine توسط Siggi Langauf <siggi@debian.org> برای پروژه xine نوشته شده است. با اضافات بسیار توسط Guenter Bartsch <guenter@users.sourceforge.net>, Daniel Caujolle-Bert <f1rmb@users.sourceforge.net>, Rocky Bernstein <rocky@panix.com>, و Philipp Hahn <pmhahn@users.sourceforge.net>.

2005-06-15 The xine project