يرسل pyvirtualcam الإطارات إلى كاميرا افتراضية من Python.
import colorsys
import numpy as np
import pyvirtualcam
with pyvirtualcam . Camera ( width = 1280 , height = 720 , fps = 20 ) as cam :
print ( f'Using virtual camera: { cam . device } ' )
frame = np . zeros (( cam . height , cam . width , 3 ), np . uint8 ) # RGB
while True :
h , s , v = ( cam . frames_sent % 100 ) / 100 , 1.0 , 1.0
r , g , b = colorsys . hsv_to_rgb ( h , s , v )
frame [:] = ( r * 255 , g * 255 , b * 255 )
cam . send ( frame )
cam . sleep_until_next_frame ()
يستخدم pyvirtualcam أول كاميرا افتراضية متاحة يجدها (انظر القسم التالي).
لمزيد من الأمثلة، بما في ذلك استخدام تنسيقات بكسل مختلفة مثل BGR، أو تحديد جهاز كاميرا معين، راجع المجلد examples/
.
راجع أيضًا وثائق واجهة برمجة التطبيقات (API).
تعمل هذه الحزمة على أنظمة التشغيل Windows وmacOS وLinux. قم بتثبيته من PyPI باستخدام:
pip install pyvirtualcam
يعتمد pyvirtualcam على الكاميرات الافتراضية الموجودة والتي يجب تثبيتها أولاً. راجع القسم التالي للحصول على التفاصيل.
يتضمن OBS كاميرا افتراضية مدمجة لنظام التشغيل Windows (منذ 26.0).
لاستخدام كاميرا OBS الافتراضية، ما عليك سوى تثبيت OBS.
لاحظ أن OBS يوفر نسخة واحدة فقط من الكاميرا، لذلك لا يمكن إرسال إطارات من Python إلى كاميرا OBS الافتراضية المدمجة، والتقاط الكاميرا في OBS، ومزجها مع محتوى آخر، وإخراجها مرة أخرى إلى OBS المدمج. في الكاميرا الافتراضية. لتحقيق سير العمل هذا، استخدم كاميرا افتراضية أخرى من Python (مثل Unity Capture) بحيث تكون الكاميرا الافتراضية المدمجة في OBS مجانية للاستخدام في OBS.
يوفر Unity Capture كاميرا افتراضية مخصصة في الأصل لبث ألعاب Unity. بالمقارنة مع معظم الكاميرات الافتراضية الأخرى، فهي تدعم إطارات RGBA (الإطارات ذات الشفافية) والتي بدورها يمكن التقاطها في OBS لمزيد من المعالجة.
لاستخدام الكاميرا الافتراضية Unity Capture، اتبع تعليمات التثبيت الموجودة على موقع المشروع.
يتضمن OBS كاميرا افتراضية مدمجة لنظام التشغيل macOS (منذ 26.1).
ملاحظة : بدءًا من pyvirtualcam 0.10، يتم دعم OBS 28 أو أعلى فقط. قم بتثبيت إصدار أقدم إذا كنت بحاجة إلى دعم OBS 26/27.
مطلوب المساعدة : يتطلب pyvirtualcam تحديثات التعليمات البرمجية للتشغيل على نظام التشغيل macOS 14 والإصدارات الأحدث. إذا كنت تمتلك جهاز Mac، ففكر في المساهمة: #111 (تعليق).
لاستخدام كاميرا OBS الافتراضية، اتبع خطوات الإعداد هذه لمرة واحدة:
لاحظ أن OBS يوفر نسخة واحدة فقط من الكاميرا، لذلك لا يمكن إرسال إطارات من Python والتقاط الكاميرا في OBS ومزجها مع محتوى آخر وإخراجها مرة أخرى ككاميرا افتراضية.
يستخدم pyvirtualcam الكاميرات الافتراضية v4l2loopback على Linux.
لإنشاء كاميرا افتراضية v4l2loopback على Ubuntu، قم بتشغيل ما يلي:
sudo apt install v4l2loopback-dkms
sudo modprobe v4l2loopback devices=1
لمزيد من المعلومات، راجع وثائق v4l2loopback.
git clone https://github.com/letmaik/pyvirtualcam --recursive
cd pyvirtualcam
pip install .
هذه التعليمات تجريبية ولا يتم توفير الدعم لها. عادةً، لن تكون هناك حاجة للإنشاء يدويًا نظرًا لاستضافة العجلات على PyPI.
تحتاج إلى تثبيت Visual Studio لإنشاء pyvirtualcam.
في نافذة PowerShell:
$env :USE_CONDA = ' 1 '
$env :PYTHON_VERSION = ' 3.7 '
$env :PYTHON_ARCH = ' 64 '
$env :NUMPY_VERSION = ' 1.14 '
git clone https://github.com/letmaik/pyvirtualcam --recursive
cd pyvirtualcam
powershell .github/scripts/build-windows.ps1
سيقوم ما ورد أعلاه بتنزيل كافة تبعيات البناء (بما في ذلك تثبيت Python) ويتم تكوينه بالكامل من خلال متغيرات البيئة الأربعة. قم بتعيين USE_CONDA = '0'
للإنشاء داخل بيئة Python الحالية.