| GStreamer(1) | General Commands Manual | GStreamer(1) |
نام (NAME)
gst-launch-1.0 - ساخت و اجرای خطلوله GStreamer
خلاصه دستور (SYNOPSIS)
gst-launch-1.0 [OPTION...] PIPELINE-DESCRIPTION
توضیحات (DESCRIPTION)
gst-launch-1.0 ابزاری است که خطلولههای پایهای GStreamer را ساخته و اجرا میکند.
به شکل ساده، یک PIPELINE-DESCRIPTION فهرستی از عنصرها است که با علامت تعجب (!) از هم جدا شدهاند. ویژگیها را میتوان در قالب property=value به عنصرها افزود. یک «پیشتنظیم» (preset) را نیز میتوان با استفاده از نحو @preset=<preset name> تعیین کرد.
برای شرح کامل PIPELINE-DESCRIPTIONS ممکن، بخش شرح خطلوله (pipeline description) در ادامه را ببینید یا به مستندات GStreamer مراجعه کنید.
لطفاً توجه داشته باشید که gst-launch-1.0 در درجهٔ اول ابزاری برای اشکالزدایی توسعهدهندگان و کاربران است. نباید برنامههای کاربردی را بر پایهٔ آن بسازید. برای برنامهها، یک اسکریپت کوچک python یا برنامهٔ Rust بنویسید (یا از هر زبان برنامهنویسی دیگری که ترجیح میدهید استفاده کنید) و از تابع gst_parse_launch() در API مربوط به GStreamer بهعنوان روشی آسان برای ساخت خطلولهها بر اساس شرح خطلوله استفاده نمایید.
گزینهها (OPTIONS)
gst-launch-1.0 گزینههای زیر را میپذیرد:
- --help
- چاپ خلاصهٔ راهنما و پرچمهای (FLAGS) موجود
- -v, --verbose
- نمایش اطلاعات وضعیت و اعلانهای ویژگی
- -q, --quiet
- عدم چاپ هرگونه اطلاعات پیشرفت
- -m, --messages
- نمایش پیامهای ارسالشده روی گذرگاه (bus) خطلوله
- -t, --tags
- نمایش برچسبها (همچنین شناختهشده با عنوان متادیتا)
- -e, --eos-on-shutdown
- اجبار رویداد EOS روی مبدأها پیش از خاموش کردن خطلوله. این گزینه جهت اطمینان از این است که تسهیمکنندهها (muxers) در هنگام خاموش کردن اجباری خطلولهٔ تسهیم از طریق Control-C فایلهای خوانایی بسازند (بهویژه در مورد `mp4mux` و `qtmux` که در آنها اگر فایل بهدرستی نهایی نشده باشد، فایل ایجادشده غیرقابل خواندن خواهد بود).
- -f, --no-fault
- عدم نصب گردانندهٔ خطای سگمنتیشن (segfault handler)
- --no-position
- موقعیت فعلی خطلوله چاپ نشود. اگر این گزینه مشخص نشود، زمانی که stdout یک TTY باشد موقعیت چاپ خواهد شد. برای فعالسازی چاپ موقعیت زمانی که stdout یک TTY نیست، از گزینهٔ "--force-position" استفاده کنید.
- --force-position
- اجازه به چاپ موقعیت فعلی خطلوله حتی اگر stdout یک TTY نباشد. در صورتی که گزینهٔ "--no-position" مشخص شده باشد، این گزینه اثری ندارد.
گزینههای GSTREAMER (GSTREAMER OPTIONS)
gst-launch-1.0 همچنین گزینههای زیر را که میان تمام برنامههای کاربردی GStreamer مشترک هستند میپذیرد:
- --gst-version
- رشتهٔ نسخهٔ کتابخانهٔ اصلی GStreamer را چاپ میکند.
- --gst-fatal-warnings
- باعث متوقف شدن GStreamer در صورت وقوع یک پیام هشدار میشود. این کار معادل تنظیم متغیر محیطی G_DEBUG روی 'fatal_warnings' است (برای اطلاعات بیشتر به بخش متغیرهای محیطی در ادامه مراجعه کنید).
- --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
- --gst-debug-level=LEVEL
- آستانه را برای چاپ پیامهای اشکالزدایی تنظیم میکند. یک سطح بالاتر پیامهای بیشتری چاپ خواهد کرد. بازهٔ سودمند ۰ تا ۹ است که مقدار پیشفرض آن ۰ میباشد. سطح ۶ (سطح LOG) تمام اطلاعاتی را که معمولاً برای اهداف اشکالزدایی مورد نیاز است نشان میدهد. سطوح بالاتر تنها در مواردی بسیار خاص کاربرد دارند. برای فهرست کامل سطوح به بالا مراجعه کنید.
- --gst-debug-no-color
- GStreamer معمولاً پیامهای اشکالزدایی را طوری چاپ میکند که پیامها هنگام چاپ در ترمینالی که توالیهای گریز ANSI را پشتیبانی میکند دارای کد رنگی باشند. استفاده از این گزینه باعث میشود GStreamer پیامها را بدون رنگ چاپ کند. تنظیم متغیر محیطی GST_DEBUG_NO_COLOR نیز نتیجهٔ یکسانی خواهد داشت.
- --gst-debug-color-mode
- GStreamer معمولاً پیامهای اشکالزدایی را طوری چاپ میکند که پیامها هنگام چاپ در ترمینالی که توالیهای گریز ANSI را پردازش میکند (روی *nix) دارای کد رنگی باشند، یا از API کنسول W32 برای رنگآمیزی پیامهای چاپشده در کنسول استفاده میکند (روی W32). استفاده از این گزینه باعث میشود GStreamer پیامها را بدون رنگ ('off' یا 'disable')، با رنگهای پیشفرض ('on' یا 'auto')، یا با استفاده از توالیهای گریز ANSI برای رنگآمیزی ('unix') چاپ کند. تنظیم متغیر محیطی GST_DEBUG_COLOR_MODE نیز نتیجهٔ یکسانی در پی خواهد داشت.
- --gst-debug-disable
- اشکالزدایی را غیرفعال میکند.
- --gst-debug-help
- فهرستی از دستهبندیهای اشکالزدایی موجود و سطح اشکالزدایی پیشفرض آنها را چاپ میکند.
- --gst-plugin-path=PATH
- دایرکتوریهای جداشده با ':' را به مسیر جستجوی پلاگین اضافه میکند
- --gst-plugin-load=PLUGINS
- پلاگینهای
مشخصشده
در یک فهرست
جداشده با
ویرگول را
از پیش
بارگذاری
میکند. راه
دیگر برای
مشخص کردن
پلاگینها
جهت
پیشبارگذاری
استفاده از
متغیر
محیطی GST_PLUGIN_PATH
است.SH "شرح
خطلوله (PIPELINE
DESCRIPTION)"
یک خطلوله از عنصرها (elements) و پیوندها (links) تشکیل شده است. عنصرها میتوانند درون انواع مختلفی از مخزنها (bins) قرار گیرند. عنصرها، پیوندها و مخزنها را میتوان با هر ترتیبی در شرح خطلوله مشخص کرد.
عنصرها (Elements)
ELEMENTTYPE [PROPERTY1 ...]
عنصری از نوع ELEMENTTYPE ایجاد کرده و ویژگیهای PROPERTIES را تنظیم میکند.
ویژگیها (Properties)
PROPERTY=VALUE ...
ویژگی مورد نظر را روی مقدار مشخصشده تنظیم میکند. برای آگاهی از ویژگیها و مقادیر مجاز عناصر مختلف میتوانید از gst-inspect-1.0(1) استفاده کنید.
ویژگیهای شمارشی (Enumeration) را میتوان بر اساس نام (name)، نام مستعار (nick) یا مقدار (value) تنظیم کرد.پیشتنظیمها (Presets)
@preset=<preset name> ...
پیشتنظیم را روی عنصر اعمال میکند. میتوانید با استفاده از gst-inspect-1.0(1) پیشتنظیمهای موجود برای یک عنصر خاص را بررسی کنید.
مخزنها (Bins)
[BINTYPE.] ( [PROPERTY1 ...] PIPELINE-DESCRIPTION )
مشخص میکند که مخزنی از نوع BINTYPE ایجاد شده و ویژگیهای ارائهشده تنظیم شوند. هر عنصری که بین پرانتزها قرار گیرد، درون مخزن گذاشته میشود. لطفاً به نقطهای که باید پس از BINTYPE قرار گیرد توجه داشته باشید. شما تقریباً هرگز به این قابلیت نیاز نخواهید داشت؛ این ویژگی تنها برای برنامههایی کاربردی است که از رابط برنامهنویسی gst_launch_parse() با 'bin' به عنوان bintype استفاده میکنند. به این ترتیب میتوان بهجای یک خطلوله کامل در بالاترین سطح، خطلولههایی جزئی ساخت.
پیوندها (Links)
[[SRCELEMENT].[PAD1,...]] ! [[SINKELEMENT].[PAD1,...]] [[SRCELEMENT].[PAD1,...]] ! CAPS ! [[SINKELEMENT].[PAD1,...]] [[SRCELEMENT].[PAD1,...]] : [[SINKELEMENT].[PAD1,...]] [[SRCELEMENT].[PAD1,...]] : CAPS : [[SINKELEMENT].[PAD1,...]]
عنصر با نام SRCELEMENT را به عنصر با نام SINKELEMENT پیوند میدهد، و از توانمندیهای تعیینشده در CAPS به عنوان یک فیلتر استفاده میکند. نامها را میتوان با ویژگی name روی عنصرها تنظیم کرد. در صورت حذف نام، عنصری که مستقیماً قبل یا بعد از پیوند مشخص شده است استفاده میشود. این سازوکار فراتر از مرزهای مخزنها (bins) نیز کار میکند. اگر نام پد (padname) داده شده باشد، پیوند با این پدها برقرار میشود. در صورت مشخص نشدن نام پدها، تمامی حالتهای ممکن بررسی شده و از یک پد منطبق استفاده میشود. اگر چند نام پد داده شود، باید هر دو طرف تعداد پدهای یکسانی داشته باشند و پیوندها به ترتیب ارائهشده برقرار میگردند.
بنابراین سادهترین پیوند، یک علامت تعجب ساده است که عنصر سمت چپ خود را به عنصر سمت راست خود متصل میکند.
پیوند زدن با استفاده از عملگر : تلاش میکند تا تمام پدهای ممکن بین عنصرها را متصل کند.توانمندیها (Caps)
MEDIATYPE [, PROPERTY[, PROPERTY ...]]] [; CAPS[; CAPS ...]]
یک توانمندی (capability) با نوع رسانه (media type) دادهشده و بهصورت اختیاری با ویژگیهای مشخصشده ایجاد میکند. نوع رسانه را میتوان با استفاده از " یا ' گریز داد (escape کرد). اگر میخواهید capsها را زنجیرهوار متصل کنید، میتوانید در ادامه capsهای بیشتری را با همین قالب اضافه کنید.
ویژگیها (Properties)
NAME=[(TYPE)]VALUE
در فهرستها و بازهها: [(TYPE)]VALUEویژگی درخواستی را در توانمندیها (capabilities) تنظیم میکند. نام یک مقدار الفبایی-عددی است و نوع میتواند مقادیر زیر را بدون حساسیت به بزرگی و کوچکی حروف بپذیرد:
- i یا int برای مقادیر عدد صحیح یا بازهها
- f یا float برای مقادیر ممیز شناور یا بازهها
- b، bool یا boolean برای مقادیر بولی (منطقی)
- s، str یا string برای رشتهها
- fraction برای مقادیر کسری (framerate، pixel-aspect-ratio)
- l یا list برای لیستها
اگر هیچ نوعی مشخص نشده باشد، این ترتیب آزمایش میشود: عدد صحیح (integer)، ممیز شناور (float)، بولی (boolean)، رشته (string).
مقادیر عدد صحیح باید توسط strtol() و ممیز شناورها توسط strtod() قابل تجزیه باشند. مقادیر FOURCC میتوانند عدد صحیح یا رشته باشند. مقادیر بولی (بدون حساسیت به بزرگی و کوچکی حروف) شامل yes، no، true یا false هستند و میتوان مشابه رشتهها آنها را با " یا ' گریز داد.
بازهها به این قالب هستند: [ VALUE, VALUE ]
لیستها از این قالب استفاده میکنند: { VALUE [, VALUE ...] }.SH "مثالهای خط لوله (PIPELINE EXAMPLES)"مثالهای زیر فرض میکنند که پلاگینهای مناسب را در دسترس دارید. بهطور کلی، «pulsesink» را میتوان با یک پلاگین خروجی صوتی دیگر مانند «alsasink»، «osxaudiosink» یا «wasapisink» جایگزین کرد.
به همین ترتیب، «xvimagesink» را میتوان با «d3dvideosink»، «ximagesink»، «glimagesink» یا «osxvideosink» جایگزین نمود.
با این حال به یاد داشته باشید که سینکهای مختلف ممکن است قالبهای متفاوتی را بپذیرند و حتی یک سینک یکسان روی ماشینهای گوناگون ممکن است از قالبهای متفاوتی پشتیبانی کند؛ بنابراین ممکن است برای کارکرد درست نیاز باشد عناصر مبدل مانند audioconvert و audioresample (برای صوت) یا videoconvertscale (برای ویدیو) را در جلوی سینک اضافه کنید.پخش صوت
نکته: برای پخش صوت/ویدیو بهتر است از عناصر playbin3 یا uridecodebin3 استفاده کنید؛ اینها صرفاً خطوط لولهٔ نمونه هستند.
پخش فایل موسیقی mp3 به نام "music.mp3" با استفاده از یک پلاگین مبتنی بر libmpg123 و هدایت خروجی به یک دستگاه Pulseaudio
gst-launch-1.0 filesrc location=music.mp3 ! mpegaudioparse ! mpg123audiodec ! audioconvert ! audioresample ! pulsesinkپخش فایلی با قالب Ogg Vorbis
gst-launch-1.0 filesrc location=music.ogg ! oggdemux ! vorbisdec ! audioconvert ! audioresample ! pulsesinkپخش یک فایل mp3 یا یک جریان http با استفاده از GIO
gst-launch-1.0 giosrc location=music.mp3 ! mpegaudioparse ! mpg123audiodec ! audioconvert ! pulsesink
gst-launch-1.0 giosrc location=http://domain.com/music.mp3 ! mpegaudioparse ! mpg123audiodec ! audioconvert ! audioresample ! pulsesinkاستفاده از GIO برای پخش یک فایل mp3 مستقر روی یک سرور SMB
gst-launch-1.0 giosrc location=smb://computer/music.mp3 ! mpegaudioparse ! mpg123audiodec ! audioconvert ! audioresample ! pulsesinkتبدیل قالب
تبدیل یک فایل موسیقی mp3 به یک فایل Ogg Vorbis
gst-launch-1.0 filesrc location=music.mp3 ! mpegaudioparse ! mpg123audiodec ! audioconvert ! vorbisenc ! oggmux ! filesink location=music.oggتبدیل به قالب FLAC
gst-launch-1.0 filesrc location=music.mp3 ! mpegaudioparse ! mpg123audiodec ! audioconvert ! flacenc ! filesink location=test.flacسایر موارد
پخش یک فایل .WAV که حاوی دادههای صوتی خام (PCM) است.
gst-launch-1.0 filesrc location=music.wav ! wavparse ! audioconvert ! audioresample ! pulsesinkتبدیل یک فایل .WAV حاوی دادههای صوتی خام به یک فایل Ogg Vorbis یا mp3
gst-launch-1.0 filesrc location=music.wav ! wavparse ! audioconvert ! vorbisenc ! oggmux ! filesink location=music.ogg
gst-launch-1.0 filesrc location=music.wav ! wavparse ! audioconvert ! lamemp3enc ! xingmux ! id3v2mux ! filesink location=music.mp3استخراج تمامی قطعهها از دیسک فشرده و تبدیل آنها به یک فایل mp3 تکی
gst-launch-1.0 cdparanoiasrc mode=continuous ! audioconvert ! lamemp3enc ! mpegaudioparse ! xingmux ! id3v2mux ! filesink location=cd.mp3استخراج قطعهٔ ۵ از CD و تبدیل آن به یک فایل mp3 تکی
gst-launch-1.0 cdparanoiasrc track=5 ! audioconvert ! lamemp3enc ! mpegaudioparse ! xingmux ! id3v2mux ! filesink location=track5.mp3با استفاده از gst-inspect-1.0(1) میتوان تنظیماتی مشابه موارد بالا را برای cdparanoiasrc یافت که به آن میگوید کل CD یا تنها قطعههایی از آن را استخراج کند. همچنین، میتوانید از یک URI استفاده کنید و gst-launch-1.0 عنصری (مانند cdparanoia) را که از آن پروتکل پشتیبانی میکند برای شما خواهد یافت، برای نمونه:
gst-launch-1.0 cdda://5 ! lamemp3enc vbr=new vbr-quality=6 ! filesink location=track5.mp3ضبط صدا از ورودی صوتی شما و کدگذاری آن در یک فایل ogg
gst-launch-1.0 pulsesrc ! audioconvert ! vorbisenc ! oggmux ! filesink location=input.oggویدیو
نکته: برای پخش صوت/ویدیو بهتر است از عناصر playbin3 یا uridecodebin3 استفاده کنید؛ اینها صرفاً خطوط لولهٔ نمونه هستند.
نمایش تنها بخش ویدیویی یک فایل ویدیویی MPEG-2 PS و هدایت خروجی به یک پنجرهٔ نمایش X
gst-launch-1.0 filesrc location=JB_FF9_TheGravityOfLove.mpg ! mpegdemux ! mpegvideoparse ! mpeg2dec ! videoconvert ! xvimagesinkنمایش بخش ویدیویی یک فایل .vob (مورد استفاده در DVDها) و هدایت خروجی به یک پنجرهٔ SDL
gst-launch-1.0 filesrc location=/flflfj.vob ! dvddemux ! mpegvideoparse ! mpeg2dec ! videoconvert ! sdlvideosinkپخش هر دو بخش ویدیویی و صوتی یک فیلم MPEG
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 به همراه یک جریان زیرنویس متنی خارجی
این مثال همچنین نشان میدهد که در صورت داشتن چندین پد سینک یا مبدا توسط یک عنصر (در اینجا: textoverlay)، چگونه با استفاده از نام به پدهای مشخصی ارجاع دهید.
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
gst-launch-1.0 playbin3 uri=file:///path/to/movie.avi suburi=file:///path/to/movie.srtپخش جریانی در شبکه
پخش جریانی ویدیو با استفاده از RTP و عناصر شبکه.
این دستور روی فرستنده اجرا میشود
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از این دستور روی گیرنده استفاده کنید
gst-launch-1.0 udpsrc port=5000 ! application/x-rtp, clock-rate=90000,payload=96 ! rtpjitterbuffer ! rtph264depay ! h264parse ! avdec_h264 ! videoconvert ! xvimagesinkعیبیابی
تولید یک جریان پوچ (null) و نادیده گرفتن آن (و چاپ جزئیات).
gst-launch-1.0 -v fakesrc num-buffers=16 ! fakesink silent=falseتولید یک صوت سینوسی خالص برای آزمایش خروجی صدا
gst-launch-1.0 audiotestsrc ! audioconvert ! audioresample ! pulsesinkتولید یک الگوی آزمایشی آشنا برای آزمایش خروجی تصویر
gst-launch-1.0 videotestsrc ! xvimagesink
gst-launch-1.0 videotestsrc ! ximagesinkپیوند خودکار
میتوانید از عنصر decodebin برای انتخاب خودکار عناصر مناسب جهت ایجاد یک خط لولهٔ فعال استفاده کنید.
پخش هر قالب صوتی پشتیبانیشده
gst-launch-1.0 filesrc location=musicfile ! decodebin3 ! audioconvert ! audioresample ! pulsesinkپخش هر قالب ویدیویی پشتیبانیشده با خروجی تصویر و صدا. ریسمانها بهطور خودکار بهکار گرفته میشوند. برای سادهتر کردن این کار، میتوانید از عنصر playbin استفاده کنید:
gst-launch-1.0 filesrc location=videofile ! decodebin3 name=decoder decoder. ! queue ! audioconvert ! audioresample ! pulsesink decoder. ! videoconvert ! xvimagesink
gst-launch-1.0 playbin3 uri=file:///home/joe/foo.avi
gst-launch-1.0 playbin3 uri=https://gstreamer.freedesktop.org/data/media/sintel_trailer-480p.webmاتصالهای فیلترشده
این مثالها نحوهٔ استفاده از capsهای فیلترشده را به شما نشان میدهند.
نمایش یک تصویر آزمایشی و استفاده از قالب ویدیویی YUY2 یا YV12 برای آن.
gst-launch-1.0 videotestsrc ! 'video/x-raw,format=YUY2;video/x-raw,format=YV12' ! xvimagesink
gst-launch-1.0 v4l2src ! image/jpeg ! queue ! decodebin3 ! videoconvert ! autovideosinkضبط صدا و نوشتن آن در یک فایل .wav. اجبار به استفاده از نمونههای علامتدار ۱۶ تا ۳۲ بیتی و نرخ نمونهبرداری بین 32kHz و 64KHz.
gst-launch-1.0 pulsesrc ! 'audio/x-raw,rate=[32000,64000],format={S16LE,S24LE,S32LE}' ! wavenc ! filesink location=recording.wav.SH "متغیرهای محیطی (ENVIRONMENT VARIABLES)" - GST_DEBUG
- فهرستی جداشده با کاما از دستهها و سطوح اشکالزدایی (مانند 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).
- GST_DEBUG_NO_COLOR
- هنگامی که این متغیر محیطی تنظیم شود، خروجی رنگی اشکالزدایی غیرفعال میشود.
- GST_DEBUG_DUMP_DOT_DIR
- هنگامی که
روی یک مسیر
از
سیستمفایل
تنظیم شود،
فایلهای 'dot'
مربوط به
گرافهای
پایپلاین
در آنجا
ذخیره
میشوند.
سپس این
فایلها
میتوانند
با استفاده
از ابزار 'dot'
از مجموعه
ابزارهای graphviz
به یک تصویر
تبدیل
شوند،
مانند این: dot
foo.dot -Tsvg -o foo.svg
(قالبهای png
یا jpg نیز به
عنوان قالب
خروجی
امکانپذیر
هستند).
ابزار
دیگری نیز
به نام 'xdot'
وجود دارد
که به شما
اجازه
میدهد
فایل .dot را
مستقیماً
بدون نیاز
به تبدیل
اولیه
مشاهده
کنید.
هنگامی که وضعیت پایپلاین از NULL به PLAYING و مجدداً به NULL تغییر میکند، در هر تغییر وضعیت یک فایل dot تولید میشود. برای ثبت یک تصویر لحظهای (snapshot) از وضعیت پایپلاین، سیگنال SIGHUP را به فرایند ارسال کنید یا از ردیاب pipeline_snapshot از افزونههای Rust در GStreamer استفاده نمایید. - GST_REGISTRY
- مسیر فایل رجیستری افزونهها. مقدار پیشفرض ~/.cache/gstreamer-1.0/registry-CPU.bin است که در آن CPU نوع ماشین/پردازندهای است که GStreamer برای آن کامپایل شده است، مانند 'x86_64' و غیره (برای جزئیات، خروجی "uname -i" و "uname -m" را بررسی کنید).
- GST_REGISTRY_UPDATE
- تنظیم آن روی "no" باعث میشود GStreamer فرض کند که هیچ افزونهای تغییر نکرده، اضافه نشده یا حذف نگردیده است. این کار سبب میشود GStreamer از بررسی اولیه مبنی بر اینکه آیا بازسازی حافظه پنهان رجیستری لازم است یا خیر، صرفنظر کند. این گزینه ممکن است در محیطهای تعبیهشده (embedded) که افزونههای نصبشده هرگز تغییر نمیکنند مفید باشد. در هیچ ساختار و پیکربندی دیگری از این گزینه استفاده نکنید.
- GST_PLUGIN_PATH
- فهرستی از دایرکتوریها را برای پویش به منظور یافتن افزونههای اضافی مشخص میکند. این افزونهها بر افزونههای سیستم اولویت دارند.
- GST_PLUGIN_SYSTEM_PATH
- فهرستی از افزونهها را مشخص میکند که همواره به طور پیشفرض بارگذاری میشوند. در صورت عدم تنظیم، به طور پیشفرض مسیر نصبشده سیستمی و افزونههای نصبشده در دایرکتوری خانگی کاربر در نظر گرفته میشود.
- GST_DEBUG_FILE
- این متغیر را به یک مسیر فایل تنظیم کنید تا تمام پیامهای اشکالزدایی GStreamer به این فایل هدایت شوند. در صورت عدم تنظیم، پیامهای اشکالزدایی به خروجی خطای استاندارد ارسال خواهند شد.
- ORC_CODE
- متغیر محیطی مفید Orc. مقدار ORC_CODE=debug را تنظیم کنید تا به اشکالزداهایی مانند gdb امکان دهد ردیابیهای پشتهای (backtraces) مفیدی از کد تولیدشده توسط Orc ایجاد کنند. اگر گمان میکنید که مولد کد SIMD در Orc کد نادرستی تولید میکند، ORC_CODE=backup یا ORC_CODE=emulate را تنظیم کنید. (تعداد قابل توجهی از افزونههای مهم GStreamer مانند videotestsrc، audioconvert یا audioresample از Orc استفاده میکنند).
- G_DEBUG
- متغیر محیطی مفید GLib. مقدار G_DEBUG=fatal_warnings را تنظیم کنید تا برنامههای GStreamer در هنگام بروز یک هشدار حیاتی مانند شکست در بررسی درستی (assertion failure) متوقف شوند. این ویژگی زمانی مفید است که بخواهید بدانید چه بخشی از کد و تحت چه شرایطی باعث برانگیخته شدن آن هشدار شده است. کافی است G_DEBUG را همانطور که در بالا ذکر شد تنظیم کرده و برنامه را در gdb اجرا کنید (یا بگذارید core dump ایجاد کند). سپس ردیابی پشته (stack trace) را به روش معمول دریافت کنید.
فایلها (FILES)
- ~/.cache/gstreamer-1.0/registry-*.bin
- حافظه پنهان افزونهها؛ در هر زمانی قابل حذف است و در صورتی که هنوز وجود نداشته باشد یا افزونهها تغییر کنند، به طور خودکار دوباره ایجاد خواهد شد. بر پایه XDG_CACHE_DIR است، بنابراین ممکن است در مکانی متفاوت از مورد پیشنهادی قرار داشته باشد.
همچنین ببینید (SEE ALSO)
نویسندگان (AUTHORS)
تیم GStreamer در http://gstreamer.freedesktop.org
| May 2007 |