.TH "GStreamer" "1" "May 2007" .SH "نام (NAME)" gst\-launch\-1.0 \- ساخت و اجرای خط‌لوله GStreamer .SH "خلاصه دستور (SYNOPSIS)" \fBgst\-launch\-1.0\fR \fI[OPTION...]\fR PIPELINE\-DESCRIPTION .SH "توضیحات (DESCRIPTION)" .LP \fIgst\-launch\-1.0\fP ابزاری است که خط‌لوله‌های پایه‌ای \fIGStreamer\fP را ساخته و اجرا می‌کند. به شکل ساده، یک PIPELINE\-DESCRIPTION فهرستی از عنصرها است که با علامت تعجب (!) از هم جدا شده‌اند. ویژگی‌ها را می‌توان در قالب \fIproperty=value\fR به عنصرها افزود. یک «پیش‌تنظیم» (preset) را نیز می‌توان با استفاده از نحو \fI@preset=\fR تعیین کرد. برای شرح کامل PIPELINE-DESCRIPTIONS ممکن، بخش \fIشرح خط‌لوله (pipeline description)\fR در ادامه را ببینید یا به مستندات GStreamer مراجعه کنید. لطفاً توجه داشته باشید که \fIgst\-launch\-1.0\fP در درجهٔ اول ابزاری برای اشکال‌زدایی توسعه‌دهندگان و کاربران است. نباید برنامه‌های کاربردی را بر پایهٔ آن بسازید. برای برنامه‌ها، یک اسکریپت کوچک python یا برنامهٔ Rust بنویسید (یا از هر زبان برنامه‌نویسی دیگری که ترجیح می‌دهید استفاده کنید) و از تابع gst_parse_launch() در API مربوط به GStreamer به‌عنوان روشی آسان برای ساخت خط‌لوله‌ها بر اساس شرح خط‌لوله استفاده نمایید. . .SH "گزینه‌ها (OPTIONS)" .l \fIgst\-launch\-1.0\fP گزینه‌های زیر را می‌پذیرد: .TP 8 .B \-\-help چاپ خلاصهٔ راهنما و پرچم‌های (FLAGS) موجود .TP 8 .B \-v, \-\-verbose نمایش اطلاعات وضعیت و اعلان‌های ویژگی .TP 8 .B \-q, \-\-quiet عدم چاپ هرگونه اطلاعات پیشرفت .TP 8 .B \-m, \-\-messages نمایش پیام‌های ارسال‌شده روی گذرگاه (bus) خط‌لوله .TP 8 .B \-t, \-\-tags نمایش برچسب‌ها (همچنین شناخته‌شده با عنوان متادیتا) .TP 8 .B \-e, \-\-eos\-on\-shutdown اجبار رویداد EOS روی مبدأها پیش از خاموش کردن خط‌لوله. این گزینه جهت اطمینان از این است که تسهیم‌کننده‌ها (muxers) در هنگام خاموش کردن اجباری خط‌لولهٔ تسهیم از طریق Control-C فایل‌های خوانایی بسازند (به‌ویژه در مورد `mp4mux` و `qtmux` که در آن‌ها اگر فایل به‌درستی نهایی نشده باشد، فایل ایجادشده غیرقابل خواندن خواهد بود). .TP 8 .B \-f, \-\-no\-fault عدم نصب گردانندهٔ خطای سگمنتیشن (segfault handler) .TP 8 .B \-\-no\-position موقعیت فعلی خط‌لوله چاپ نشود. اگر این گزینه مشخص نشود، زمانی که stdout یک TTY باشد موقعیت چاپ خواهد شد. برای فعال‌سازی چاپ موقعیت زمانی که stdout یک TTY نیست، از گزینهٔ "\-\-force-position" استفاده کنید. .TP 8 .B \-\-force\-position اجازه به چاپ موقعیت فعلی خط‌لوله حتی اگر stdout یک TTY نباشد. در صورتی که گزینهٔ "\-\-no-position" مشخص شده باشد، این گزینه اثری ندارد. .TP 8 . .SH "گزینه‌های GSTREAMER (GSTREAMER OPTIONS)" .l \fIgst\-launch\-1.0\fP همچنین گزینه‌های زیر را که میان تمام برنامه‌های کاربردی GStreamer مشترک هستند می‌پذیرد: .TP 8 .B \-\-gst\-version رشتهٔ نسخهٔ کتابخانهٔ اصلی \fIGStreamer\fP را چاپ می‌کند. .TP 8 .B \-\-gst\-fatal\-warnings باعث متوقف شدن \fIGStreamer\fP در صورت وقوع یک پیام هشدار می‌شود. این کار معادل تنظیم متغیر محیطی G_DEBUG روی 'fatal_warnings' است (برای اطلاعات بیشتر به بخش \fIمتغیرهای محیطی\fR در ادامه مراجعه کنید). .TP 8 .B \-\-gst\-debug=STRING فهرستی جداشده با ویرگول از جفت‌های category_name:level برای تعیین سطوح اشکال‌زدایی برای هر دسته. سطح در بازهٔ ۰ تا ۹ است که در آن ۰ هیچ پیامی را نمایش نمی‌دهد، و ۹ تمام پیام‌ها را نشان خواهد داد. از نویسهٔ عام * می‌توان برای تطبیق نام دسته‌ها استفاده کرد. توجه داشته باشید که ترتیب دسته‌ها و سطوح مهم است؛ نویسه‌های عام در انتها ممکن است سطوح تنظیم‌شدهٔ قبلی را بازنویسی کنند. سطوح لاگ عبارتند از: 1=ERROR، 2=WARNING، 3=FIXME، 4=INFO، 5=DEBUG، 6=LOG، 7=TRACE، 9=MEMDUMP. از GStreamer 1.2 به بعد همچنین می‌توان از نام سطوح اشکال‌زدایی استفاده کرد، مانند \-\-gst\-debug=*sink:LOG. شرح کامل سطوح مختلف اشکال‌زدایی را می‌توان در مستندات API کتابخانهٔ اصلی GStreamer، در بخش "Running GStreamer Applications" یافت. برای نمایش نام دسته‌ها از \-\-gst\-debug\-help استفاده کنید مثال: GST_CAT:5,GST_ELEMENT_*:3,oggdemux:5 .TP 8 .B \-\-gst\-debug\-level=LEVEL آستانه را برای چاپ پیام‌های اشکال‌زدایی تنظیم می‌کند. یک سطح بالاتر پیام‌های بیشتری چاپ خواهد کرد. بازهٔ سودمند ۰ تا ۹ است که مقدار پیش‌فرض آن ۰ می‌باشد. سطح ۶ (سطح LOG) تمام اطلاعاتی را که معمولاً برای اهداف اشکال‌زدایی مورد نیاز است نشان می‌دهد. سطوح بالاتر تنها در مواردی بسیار خاص کاربرد دارند. برای فهرست کامل سطوح به بالا مراجعه کنید. .TP 8 .B \-\-gst\-debug\-no\-color \fIGStreamer\fP معمولاً پیام‌های اشکال‌زدایی را طوری چاپ می‌کند که پیام‌ها هنگام چاپ در ترمینالی که توالی‌های گریز ANSI را پشتیبانی می‌کند دارای کد رنگی باشند. استفاده از این گزینه باعث می‌شود \fIGStreamer\fP پیام‌ها را بدون رنگ چاپ کند. تنظیم متغیر محیطی \fBGST_DEBUG_NO_COLOR\fR نیز نتیجهٔ یکسانی خواهد داشت. .TP 8 .B \-\-gst\-debug\-color\-mode \fIGStreamer\fP معمولاً پیام‌های اشکال‌زدایی را طوری چاپ می‌کند که پیام‌ها هنگام چاپ در ترمینالی که توالی‌های گریز ANSI را پردازش می‌کند (روی *nix) دارای کد رنگی باشند، یا از API کنسول W32 برای رنگ‌آمیزی پیام‌های چاپ‌شده در کنسول استفاده می‌کند (روی W32). استفاده از این گزینه باعث می‌شود \fIGStreamer\fP پیام‌ها را بدون رنگ ('off' یا 'disable')، با رنگ‌های پیش‌فرض ('on' یا 'auto')، یا با استفاده از توالی‌های گریز ANSI برای رنگ‌آمیزی ('unix') چاپ کند. تنظیم متغیر محیطی \fBGST_DEBUG_COLOR_MODE\fR نیز نتیجهٔ یکسانی در پی خواهد داشت. .TP 8 .B \-\-gst\-debug\-disable اشکال‌زدایی را غیرفعال می‌کند. .TP 8 .B \-\-gst\-debug\-help فهرستی از دسته‌بندی‌های اشکال‌زدایی موجود و سطح اشکال‌زدایی پیش‌فرض آن‌ها را چاپ می‌کند. .TP 8 .B \-\-gst\-plugin\-path=PATH دایرکتوری‌های جداشده با ':' را به مسیر جستجوی پلاگین اضافه می‌کند .TP 8 .B \-\-gst\-plugin\-load=PLUGINS پلاگین‌های مشخص‌شده در یک فهرست جداشده با ویرگول را از پیش بارگذاری می‌کند. راه دیگر برای مشخص کردن پلاگین‌ها جهت پیش‌بارگذاری استفاده از متغیر محیطی GST_PLUGIN_PATH است.SH "شرح خط‌لوله (PIPELINE DESCRIPTION)" یک خط‌لوله از \fIعنصرها\fR (\fIelements\fR) و \fIپیوندها\fR (\fIlinks\fR) تشکیل شده است. \fIعنصرها\fR می‌توانند درون انواع مختلفی از \fIمخزن‌ها\fR (\fIbins\fR) قرار گیرند. \fIعنصرها\fR، \fIپیوندها\fR و \fIمخزن‌ها\fR را می‌توان با هر ترتیبی در شرح خط‌لوله مشخص کرد. .B عنصرها (Elements) ELEMENTTYPE \fI[PROPERTY1 ...]\fR عنصری از نوع ELEMENTTYPE ایجاد کرده و ویژگی‌های PROPERTIES را تنظیم می‌کند. .B ویژگی‌ها (Properties) PROPERTY=VALUE ... ویژگی مورد نظر را روی مقدار مشخص‌شده تنظیم می‌کند. برای آگاهی از ویژگی‌ها و مقادیر مجاز عناصر مختلف می‌توانید از \fBgst\-inspect\-1.0\fR(1) استفاده کنید. .br ویژگی‌های شمارشی (Enumeration) را می‌توان بر اساس نام (name)، نام مستعار (nick) یا مقدار (value) تنظیم کرد. .B پیش‌تنظیم‌ها (Presets) @preset= ... پیش‌تنظیم را روی عنصر اعمال می‌کند. می‌توانید با استفاده از \fBgst\-inspect\-1.0\fR(1) پیش‌تنظیم‌های موجود برای یک عنصر خاص را بررسی کنید. .B مخزن‌ها (Bins) \fI[BINTYPE.]\fR ( \fI[PROPERTY1 ...]\fR PIPELINE-DESCRIPTION ) .br مشخص می‌کند که مخزنی از نوع BINTYPE ایجاد شده و ویژگی‌های ارائه‌شده تنظیم شوند. هر عنصری که بین پرانتزها قرار گیرد، درون مخزن گذاشته می‌شود. لطفاً به نقطه‌ای که باید پس از BINTYPE قرار گیرد توجه داشته باشید. شما تقریباً هرگز به این قابلیت نیاز نخواهید داشت؛ این ویژگی تنها برای برنامه‌هایی کاربردی است که از رابط برنامه‌نویسی gst_launch_parse() با 'bin' به عنوان bintype استفاده می‌کنند. به این ترتیب می‌توان به‌جای یک خط‌لوله کامل در بالاترین سطح، خط‌لوله‌هایی جزئی ساخت. .B پیوندها (Links) \fI[[SRCELEMENT].[PAD1,...]]\fR ! \fI[[SINKELEMENT].[PAD1,...]]\fR \fI[[SRCELEMENT].[PAD1,...]]\fR ! CAPS ! \fI[[SINKELEMENT].[PAD1,...]]\fR \fI[[SRCELEMENT].[PAD1,...]]\fR : \fI[[SINKELEMENT].[PAD1,...]]\fR \fI[[SRCELEMENT].[PAD1,...]]\fR : CAPS : \fI[[SINKELEMENT].[PAD1,...]]\fR عنصر با نام SRCELEMENT را به عنصر با نام SINKELEMENT پیوند می‌دهد، و از توانمندی‌های تعیین‌شده در CAPS به عنوان یک فیلتر استفاده می‌کند. نام‌ها را می‌توان با ویژگی name روی عنصرها تنظیم کرد. در صورت حذف نام، عنصری که مستقیماً قبل یا بعد از پیوند مشخص شده است استفاده می‌شود. این سازوکار فراتر از مرزهای مخزن‌ها (bins) نیز کار می‌کند. اگر نام پد (padname) داده شده باشد، پیوند با این پدها برقرار می‌شود. در صورت مشخص نشدن نام پدها، تمامی حالت‌های ممکن بررسی شده و از یک پد منطبق استفاده می‌شود. اگر چند نام پد داده شود، باید هر دو طرف تعداد پدهای یکسانی داشته باشند و پیوندها به ترتیب ارائه‌شده برقرار می‌گردند. .br بنابراین ساده‌ترین پیوند، یک علامت تعجب ساده است که عنصر سمت چپ خود را به عنصر سمت راست خود متصل می‌کند. .br پیوند زدن با استفاده از عملگر : تلاش می‌کند تا تمام پدهای ممکن بین عنصرها را متصل کند. .br .B توانمندی‌ها (Caps) MEDIATYPE \fI[, PROPERTY[, PROPERTY ...]]]\fR \fI[; CAPS[; CAPS ...]]\fR یک توانمندی (capability) با نوع رسانه (media type) داده‌شده و به‌صورت اختیاری با ویژگی‌های مشخص‌شده ایجاد می‌کند. نوع رسانه را می‌توان با استفاده از " یا ' گریز داد (escape کرد). اگر می‌خواهید capsها را زنجیره‌وار متصل کنید، می‌توانید در ادامه capsهای بیشتری را با همین قالب اضافه کنید. .B ویژگی‌ها (Properties) NAME=\fI[(TYPE)]\fRVALUE .br در فهرست‌ها و بازه‌ها: \fI[(TYPE)]\fRVALUE ویژگی درخواستی را در توانمندی‌ها (capabilities) تنظیم می‌کند. نام یک مقدار الفبایی-عددی است و نوع می‌تواند مقادیر زیر را بدون حساسیت به بزرگی و کوچکی حروف بپذیرد: .br - \fBi\fR یا \fBint\fR برای مقادیر عدد صحیح یا بازه‌ها .br - \fBf\fR یا \fBfloat\fR برای مقادیر ممیز شناور یا بازه‌ها .br - \fBb\fR، \fBbool\fR یا \fBboolean\fR برای مقادیر بولی (منطقی) .br - \fBs\fR، \fBstr\fR یا \fBstring\fR برای رشته‌ها .br - \fBfraction\fR برای مقادیر کسری (framerate، pixel\-aspect\-ratio) .br - \fBl\fR یا \fBlist\fR برای لیست‌ها .br اگر هیچ نوعی مشخص نشده باشد، این ترتیب آزمایش می‌شود: عدد صحیح (integer)، ممیز شناور (float)، بولی (boolean)، رشته (string). .br مقادیر عدد صحیح باید توسط \fBstrtol()\fP و ممیز شناورها توسط \fBstrtod()\fP قابل تجزیه باشند. مقادیر FOURCC می‌توانند عدد صحیح یا رشته باشند. مقادیر بولی (بدون حساسیت به بزرگی و کوچکی حروف) شامل \fIyes\fR، \fIno\fR، \fItrue\fR یا \fIfalse\fR هستند و می‌توان مشابه رشته‌ها آن‌ها را با " یا ' گریز داد. .br بازه‌ها به این قالب هستند: [ VALUE, VALUE ] .br لیست‌ها از این قالب استفاده می‌کنند: { VALUE \fI[, VALUE ...]\fR }.SH "مثال‌های خط لوله (PIPELINE EXAMPLES)" مثال‌های زیر فرض می‌کنند که پلاگین‌های مناسب را در دسترس دارید. به‌طور کلی، «pulsesink» را می‌توان با یک پلاگین خروجی صوتی دیگر مانند «alsasink»، «osxaudiosink» یا «wasapisink» جایگزین کرد. .br به همین ترتیب، «xvimagesink» را می‌توان با «d3dvideosink»، «ximagesink»، «glimagesink» یا «osxvideosink» جایگزین نمود. .br با این حال به یاد داشته باشید که سینک‌های مختلف ممکن است قالب‌های متفاوتی را بپذیرند و حتی یک سینک یکسان روی ماشین‌های گوناگون ممکن است از قالب‌های متفاوتی پشتیبانی کند؛ بنابراین ممکن است برای کارکرد درست نیاز باشد عناصر مبدل مانند audioconvert و audioresample (برای صوت) یا videoconvertscale (برای ویدیو) را در جلوی سینک اضافه کنید. .B پخش صوت نکته: برای پخش صوت/ویدیو بهتر است از عناصر playbin3 یا uridecodebin3 استفاده کنید؛ این‌ها صرفاً خطوط لولهٔ نمونه هستند. .br پخش فایل موسیقی mp3 به نام "music.mp3" با استفاده از یک پلاگین مبتنی بر libmpg123 و هدایت خروجی به یک دستگاه Pulseaudio .br .B gst\-launch\-1.0 filesrc location=music.mp3 ! mpegaudioparse ! mpg123audiodec ! audioconvert ! audioresample ! pulsesink پخش فایلی با قالب Ogg Vorbis .br .B gst\-launch\-1.0 filesrc location=music.ogg ! oggdemux ! vorbisdec ! audioconvert ! audioresample ! pulsesink پخش یک فایل mp3 یا یک جریان http با استفاده از GIO .br .B gst\-launch\-1.0 giosrc location=music.mp3 ! mpegaudioparse ! mpg123audiodec ! audioconvert ! pulsesink .br .B gst\-launch\-1.0 giosrc location=http://domain.com/music.mp3 ! mpegaudioparse ! mpg123audiodec ! audioconvert ! audioresample ! pulsesink استفاده از GIO برای پخش یک فایل mp3 مستقر روی یک سرور SMB .br .B gst\-launch\-1.0 giosrc location=smb://computer/music.mp3 ! mpegaudioparse ! mpg123audiodec ! audioconvert ! audioresample ! pulsesink .B تبدیل قالب تبدیل یک فایل موسیقی mp3 به یک فایل Ogg Vorbis .br .B gst\-launch\-1.0 filesrc location=music.mp3 ! mpegaudioparse ! mpg123audiodec ! audioconvert ! vorbisenc ! oggmux ! filesink location=music.ogg تبدیل به قالب FLAC .br .B gst\-launch\-1.0 filesrc location=music.mp3 ! mpegaudioparse ! mpg123audiodec ! audioconvert ! flacenc ! filesink location=test.flac .B سایر موارد پخش یک فایل .WAV که حاوی داده‌های صوتی خام (PCM) است. .br .B gst\-launch\-1.0 filesrc location=music.wav ! wavparse ! audioconvert ! audioresample ! pulsesink تبدیل یک فایل .WAV حاوی داده‌های صوتی خام به یک فایل Ogg Vorbis یا mp3 .br .B gst\-launch\-1.0 filesrc location=music.wav ! wavparse ! audioconvert ! vorbisenc ! oggmux ! filesink location=music.ogg .br .B gst\-launch\-1.0 filesrc location=music.wav ! wavparse ! audioconvert ! lamemp3enc ! xingmux ! id3v2mux ! filesink location=music.mp3 استخراج تمامی قطعه‌ها از دیسک فشرده و تبدیل آن‌ها به یک فایل mp3 تکی .br .B gst\-launch\-1.0 cdparanoiasrc mode=continuous ! audioconvert ! lamemp3enc ! mpegaudioparse ! xingmux ! id3v2mux ! filesink location=cd.mp3 استخراج قطعهٔ ۵ از CD و تبدیل آن به یک فایل mp3 تکی .br .B gst\-launch\-1.0 cdparanoiasrc track=5 ! audioconvert ! lamemp3enc ! mpegaudioparse ! xingmux ! id3v2mux ! filesink location=track5.mp3 با استفاده از \fBgst\-inspect\-1.0\fR(1) می‌توان تنظیماتی مشابه موارد بالا را برای cdparanoiasrc یافت که به آن می‌گوید کل CD یا تنها قطعه‌هایی از آن را استخراج کند. همچنین، می‌توانید از یک URI استفاده کنید و gst\-launch\-1.0 عنصری (مانند cdparanoia) را که از آن پروتکل پشتیبانی می‌کند برای شما خواهد یافت، برای نمونه: .B gst\-launch\-1.0 cdda://5 ! lamemp3enc vbr=new vbr\-quality=6 ! filesink location=track5.mp3 ضبط صدا از ورودی صوتی شما و کدگذاری آن در یک فایل ogg .br .B gst\-launch\-1.0 pulsesrc ! audioconvert ! vorbisenc ! oggmux ! filesink location=input.ogg .B ویدیو نکته: برای پخش صوت/ویدیو بهتر است از عناصر playbin3 یا uridecodebin3 استفاده کنید؛ این‌ها صرفاً خطوط لولهٔ نمونه هستند. .br نمایش تنها بخش ویدیویی یک فایل ویدیویی MPEG-2 PS و هدایت خروجی به یک پنجرهٔ نمایش X .br .B gst\-launch\-1.0 filesrc location=JB_FF9_TheGravityOfLove.mpg ! mpegdemux ! mpegvideoparse ! mpeg2dec ! videoconvert ! xvimagesink نمایش بخش ویدیویی یک فایل .vob (مورد استفاده در DVDها) و هدایت خروجی به یک پنجرهٔ SDL .br .B gst\-launch\-1.0 filesrc location=/flflfj.vob ! dvddemux ! mpegvideoparse ! mpeg2dec ! videoconvert ! sdlvideosink پخش هر دو بخش ویدیویی و صوتی یک فیلم MPEG .br .B gst\-launch\-1.0 filesrc location=movie.mpg ! dvddemux name=demuxer demuxer. ! queue ! mpegvideoparse ! mpeg2dec ! videoconvert ! sdlvideosink demuxer. ! queue ! mpegaudioparse ! mpg123audiodec ! audioconvert ! audioresample ! pulsesink پخش یک فیلم AVI به همراه یک جریان زیرنویس متنی خارجی .br این مثال همچنین نشان می‌دهد که در صورت داشتن چندین پد سینک یا مبدا توسط یک عنصر (در اینجا: textoverlay)، چگونه با استفاده از نام به پدهای مشخصی ارجاع دهید. .br .B gst\-launch\-1.0 textoverlay name=overlay ! videoconvert ! videoscale ! autovideosink filesrc location=movie.avi ! decodebin3 ! videoconvert ! overlay.video_sink filesrc location=movie.srt ! subparse ! overlay.text_sink پخش یک فیلم AVI با یک جریان زیرنویس متنی خارجی با استفاده از playbin3 .br .B gst\-launch\-1.0 playbin3 uri=file:///path/to/movie.avi suburi=file:///path/to/movie.srt .B پخش جریانی در شبکه پخش جریانی ویدیو با استفاده از RTP و عناصر شبکه. این دستور روی فرستنده اجرا می‌شود .br .B gst\-launch\-1.0 v4l2src ! queue ! videoconvert ! x264enc tune=zerolatency key-int-max=15 ! video/x\-h264,profile=main !rtph264pay pt=96 config-interval=-1 ! udpsink host=192.168.1.1 port=5000 از این دستور روی گیرنده استفاده کنید .br .B gst\-launch\-1.0 udpsrc port=5000 ! application/x\-rtp, clock\-rate=90000,payload=96 ! rtpjitterbuffer ! rtph264depay ! h264parse ! avdec_h264 ! videoconvert ! xvimagesink .B عیب‌یابی تولید یک جریان پوچ (null) و نادیده گرفتن آن (و چاپ جزئیات). .br .B gst\-launch\-1.0 \-v fakesrc num\-buffers=16 ! fakesink silent=false تولید یک صوت سینوسی خالص برای آزمایش خروجی صدا .br .B gst\-launch\-1.0 audiotestsrc ! audioconvert ! audioresample ! pulsesink تولید یک الگوی آزمایشی آشنا برای آزمایش خروجی تصویر .br .B gst\-launch\-1.0 videotestsrc ! xvimagesink .br .B gst\-launch\-1.0 videotestsrc ! ximagesink .B پیوند خودکار می‌توانید از عنصر decodebin برای انتخاب خودکار عناصر مناسب جهت ایجاد یک خط لولهٔ فعال استفاده کنید. پخش هر قالب صوتی پشتیبانی‌شده .br .B gst\-launch\-1.0 filesrc location=musicfile ! decodebin3 ! audioconvert ! audioresample ! pulsesink پخش هر قالب ویدیویی پشتیبانی‌شده با خروجی تصویر و صدا. ریسمان‌ها به‌طور خودکار به‌کار گرفته می‌شوند. برای ساده‌تر کردن این کار، می‌توانید از عنصر playbin استفاده کنید: .br .B gst\-launch\-1.0 filesrc location=videofile ! decodebin3 name=decoder decoder. ! queue ! audioconvert ! audioresample ! pulsesink decoder. ! videoconvert ! xvimagesink .br .B gst\-launch\-1.0 playbin3 uri=file:///home/joe/foo.avi .br .B gst\-launch\-1.0 playbin3 uri=https://gstreamer.freedesktop.org/data/media/sintel_trailer\-480p.webm .B اتصال‌های فیلترشده این مثال‌ها نحوهٔ استفاده از capsهای فیلترشده را به شما نشان می‌دهند. نمایش یک تصویر آزمایشی و استفاده از قالب ویدیویی YUY2 یا YV12 برای آن. .br .B gst\-launch\-1.0 videotestsrc ! 'video/x\-raw,format=YUY2;video/x\-raw,format=YV12' ! xvimagesink .br .B gst\-launch\-1.0 v4l2src ! image/jpeg ! queue ! decodebin3 ! videoconvert ! autovideosink ضبط صدا و نوشتن آن در یک فایل .wav. اجبار به استفاده از نمونه‌های علامت‌دار ۱۶ تا ۳۲ بیتی و نرخ نمونه‌برداری بین 32kHz و 64KHz. .br .B gst\-launch\-1.0 pulsesrc ! 'audio/x\-raw,rate=[32000,64000],format={S16LE,S24LE,S32LE}' ! wavenc ! filesink location=recording.wav.SH "متغیرهای محیطی (ENVIRONMENT VARIABLES)" .TP \fBGST_DEBUG\fR فهرستی جداشده با کاما از دسته‌ها و سطوح اشکال‌زدایی (مانند GST_DEBUG=totem:4,typefind:5). نویسه '*' به عنوان یک نویسه عام (wildcard) در نام دسته‌های اشکال‌زدایی مجاز است (مانند GST_DEBUG=*sink:6,*audio*:6). از نگارش 1.2.0 همچنین می‌توان سطح ثبت گزارش را با نام مشخص کرد (1=ERROR، 2=WARN، 3=FIXME، 4=INFO، 5=DEBUG، 6=LOG، 7=TRACE، 9=MEMDUMP) (مانند GST_DEBUG=*audio*:LOG). .TP \fBGST_DEBUG_NO_COLOR\fR هنگامی که این متغیر محیطی تنظیم شود، خروجی رنگی اشکال‌زدایی غیرفعال می‌شود. .TP \fBGST_DEBUG_DUMP_DOT_DIR\fR هنگامی که روی یک مسیر از سیستم‌فایل تنظیم شود، فایل‌های 'dot' مربوط به گراف‌های پایپ‌لاین در آنجا ذخیره می‌شوند. سپس این فایل‌ها می‌توانند با استفاده از ابزار 'dot' از مجموعه ابزارهای graphviz به یک تصویر تبدیل شوند، مانند این: dot foo.dot \-Tsvg \-o foo.svg (قالب‌های png یا jpg نیز به عنوان قالب خروجی امکان‌پذیر هستند). ابزار دیگری نیز به نام 'xdot' وجود دارد که به شما اجازه می‌دهد فایل .dot را مستقیماً بدون نیاز به تبدیل اولیه مشاهده کنید. .br هنگامی که وضعیت پایپ‌لاین از NULL به PLAYING و مجدداً به NULL تغییر می‌کند، در هر تغییر وضعیت یک فایل dot تولید می‌شود. برای ثبت یک تصویر لحظه‌ای (snapshot) از وضعیت پایپ‌لاین، سیگنال SIGHUP را به فرایند ارسال کنید یا از ردیاب pipeline_snapshot از افزونه‌های Rust در GStreamer استفاده نمایید. .TP \fBGST_REGISTRY\fR مسیر فایل رجیستری افزونه‌ها. مقدار پیش‌فرض ~/.cache/gstreamer\-1.0/registry\-CPU.bin است که در آن CPU نوع ماشین/پردازنده‌ای است که GStreamer برای آن کامپایل شده است، مانند 'x86\_64' و غیره (برای جزئیات، خروجی "uname \-i" و "uname \-m" را بررسی کنید). .TP \fBGST_REGISTRY_UPDATE\fR تنظیم آن روی "no" باعث می‌شود GStreamer فرض کند که هیچ افزونه‌ای تغییر نکرده، اضافه نشده یا حذف نگردیده است. این کار سبب می‌شود GStreamer از بررسی اولیه مبنی بر اینکه آیا بازسازی حافظه پنهان رجیستری لازم است یا خیر، صرف‌نظر کند. این گزینه ممکن است در محیط‌های تعبیه‌شده (embedded) که افزونه‌های نصب‌شده هرگز تغییر نمی‌کنند مفید باشد. در هیچ ساختار و پیکربندی دیگری از این گزینه استفاده نکنید. .TP \fBGST_PLUGIN_PATH\fR فهرستی از دایرکتوری‌ها را برای پویش به منظور یافتن افزونه‌های اضافی مشخص می‌کند. این افزونه‌ها بر افزونه‌های سیستم اولویت دارند. .TP \fBGST_PLUGIN_SYSTEM_PATH\fR فهرستی از افزونه‌ها را مشخص می‌کند که همواره به طور پیش‌فرض بارگذاری می‌شوند. در صورت عدم تنظیم، به طور پیش‌فرض مسیر نصب‌شده سیستمی و افزونه‌های نصب‌شده در دایرکتوری خانگی کاربر در نظر گرفته می‌شود. .TP \fBGST_DEBUG_FILE\fR این متغیر را به یک مسیر فایل تنظیم کنید تا تمام پیام‌های اشکال‌زدایی GStreamer به این فایل هدایت شوند. در صورت عدم تنظیم، پیام‌های اشکال‌زدایی به خروجی خطای استاندارد ارسال خواهند شد. .TP \fBORC_CODE\fR متغیر محیطی مفید Orc. مقدار ORC_CODE=debug را تنظیم کنید تا به اشکال‌زداهایی مانند gdb امکان دهد ردیابی‌های پشته‌ای (backtraces) مفیدی از کد تولیدشده توسط Orc ایجاد کنند. اگر گمان می‌کنید که مولد کد SIMD در Orc کد نادرستی تولید می‌کند، ORC_CODE=backup یا ORC_CODE=emulate را تنظیم کنید. (تعداد قابل توجهی از افزونه‌های مهم GStreamer مانند videotestsrc، audioconvert یا audioresample از Orc استفاده می‌کنند). .TP \fBG_DEBUG\fR متغیر محیطی مفید GLib. مقدار G_DEBUG=fatal_warnings را تنظیم کنید تا برنامه‌های GStreamer در هنگام بروز یک هشدار حیاتی مانند شکست در بررسی درستی (assertion failure) متوقف شوند. این ویژگی زمانی مفید است که بخواهید بدانید چه بخشی از کد و تحت چه شرایطی باعث برانگیخته شدن آن هشدار شده است. کافی است G_DEBUG را همان‌طور که در بالا ذکر شد تنظیم کرده و برنامه را در gdb اجرا کنید (یا بگذارید core dump ایجاد کند). سپس ردیابی پشته (stack trace) را به روش معمول دریافت کنید. . .SH "فایل‌ها (FILES)" .TP 8 ~/.cache/gstreamer\-1.0/registry\-*.bin حافظه پنهان افزونه‌ها؛ در هر زمانی قابل حذف است و در صورتی که هنوز وجود نداشته باشد یا افزونه‌ها تغییر کنند، به طور خودکار دوباره ایجاد خواهد شد. بر پایه XDG_CACHE_DIR است، بنابراین ممکن است در مکانی متفاوت از مورد پیشنهادی قرار داشته باشد. . .SH "همچنین ببینید (SEE ALSO)" .BR gst\-inspect\-1.0 (1), .BR gst\-launch\-1.0 (1), .SH "نویسندگان (AUTHORS)" تیم GStreamer در