عن المشروع
PipeWire هو خادم وواجهة برمجة تطبيقات في مساحة المستخدم لخطوط الوسائط المتعددة. يجعل مصادر الفيديو (أجهزة الالتقاط أو تدفقات التطبيقات) متاحة ويعددها مع العملاء، ويسمح بالوصول إلى مصادر الفيديو للاستهلاك، وينشئ رسومًا بيانية لمعالجة الصوت والفيديو. يمكن للعقد في الرسم البياني أن تعمل كعمليات منفصلة، تتواصل عبر المقابس وتتبادل محتوى الوسائط المتعددة عبر تمرير واصفات الملفات.
المشروع مخصص بشكل أساسي لتشغيل التطبيقات الموجودة. تستخدم بعض التطبيقات واجهة PipeWire الأصلية، مثل العديد من المديرين المركبين (gnome-shell، Wayland) لمشاركة الشاشة، وتعمل تلقائيًا. يمكن لمعظم تطبيقات الصوت استخدام ALSA أو JACK أو PulseAudio كخلفية، ويدعم PipeWire الثلاثة جميعًا؛ اعتمادًا على تكوين التوزيعة يعمل هذا تلقائيًا أو باستخدام نصوص برمجية مقدمة.
تتحكم متغيرات البيئة في السلوك، بما في ذلك PIPEWIRE_DEBUG لمستوى السجل، وPIPEWIRE_LOG لإعادة توجيه السجل، وPIPEWIRE_LOG_SYSTEMD لتعطيل تسجيل journal، وPIPEWIRE_LATENCY لتعيين زمن الاستجابة ككسر (على سبيل المثال 256/48000)، وPIPEWIRE_RATE لمعدل الرسم البياني، وPIPEWIRE_QUANTUM لتعيين كل من زمن الاستجابة ومعدل العينات، وPIPEWIRE_NODE لطلب رابط إلى عقدة محددة بالاسم أو الرقم التسلسلي.
تشمل أدوات سطر الأوامر pw-cat (مع الأسماء المستعارة pw-play وpw-record) لتشغيل وتسجيل الصوت وMIDI؛ وpw-jack لتوجيه تطبيقات JACK إلى PipeWire عند التشغيل في الوضع المزدوج؛ وpw-mon لتفريغ ومراقبة حالة الخادم؛ وpw-dot لتفريغ رسم بياني لخط الأنابيب؛ وpw-top لمراقبة حالة الرسم البياني في الوقت الفعلي واستخدام DSP؛ وpw-dump لتفريغ حالة الخادم بصيغة JSON؛ وpw-cli للفحص التفاعلي أو بأمر واحد. يمكن الفحص عبر واجهة رسومية باستخدام Helvum أو أدوات JACK مثل Carla وcatia وqjackctl، رغم أن تلك الأدوات قد لا تعرض جميع الميزات مثل منافذ الفيديو.
بالنسبة لتطبيقات PulseAudio، يمكن لـ PipeWire أن يعمل كخادم بديل متوافق؛ يمكن التحقق من التبديل باستخدام pactl info الذي يعرض "PulseAudio (on PipeWire 0.3.x)"، ويمكن استخدام pavucontrol للملفات الشخصية والمنافذ ومستويات الصوت وإعادة توجيه التدفقات. بالنسبة لـ ALSA، يظهر جهاز pipewire: عبر aplay -L عند تثبيت وحدة ALSA. يوفر تكامل GStreamer عنصري pipewiresrc وpipewiresink، بالإضافة إلى مراقب أجهزة حتى تتمكن أدوات مثل cheese من استخدام مصادر فيديو PipeWire.
يُفضل إجراء التثبيت عبر حزم التوزيعة للحصول على أفضل تكامل مع النظام؛ البناء من المصدر موثق في INSTALL.md. PipeWire هو برنامج حر، معظمه تحت رخصة MIT مع استثناءات مدرجة في LICENSE. تتم التطويرات بشكل مفتوح على GitLab، حيث تُرحب طلبات الدمج وتقارير الأخطاء، والمساعدة متاحة عبر قناة IRC #pipewire على OFTC أو بفتح مشكلة على GitLab. تشمل الوثائق دروسًا تعليمية ووثائق تصميم في المستودع، ووثائق API المولدة تلقائيًا على docs.pipewire.org، وويكي المشروع.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.