pyvirtualcam envoie des images à une caméra virtuelle depuis 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 utilise la première caméra virtuelle disponible qu'il trouve (voir la section suivante).
Pour plus d'exemples, notamment l'utilisation de différents formats de pixels comme BGR, ou la sélection d'un appareil photo spécifique, consultez le dossier examples/
.
Voir également la documentation de l'API.
Ce package fonctionne sous Windows, macOS et Linux. Installez-le depuis PyPI avec :
pip install pyvirtualcam
pyvirtualcam s'appuie sur des caméras virtuelles existantes qui doivent être installées au préalable. Voir la section suivante pour plus de détails.
OBS comprend une caméra virtuelle intégrée pour Windows (depuis 26.0).
Pour utiliser la caméra virtuelle OBS, installez simplement OBS.
Notez qu'OBS ne fournit qu'une seule instance de caméra, il n'est donc pas possible d'envoyer des images de Python à la caméra virtuelle OBS intégrée, de capturer la caméra dans OBS, de la mélanger avec d'autres contenus et de la renvoyer à nouveau vers la caméra virtuelle OBS intégrée. en caméra virtuelle. Pour réaliser un tel flux de travail, utilisez une autre caméra virtuelle de Python (comme Unity Capture) afin que la caméra virtuelle intégrée d'OBS puisse être utilisée gratuitement dans OBS.
Unity Capture fournit une caméra virtuelle initialement destinée au streaming de jeux Unity. Comparé à la plupart des autres caméras virtuelles, il prend en charge les images RGBA (images avec transparence) qui peuvent à leur tour être capturées dans OBS pour un traitement ultérieur.
Pour utiliser la caméra virtuelle Unity Capture, suivez les instructions d'installation sur le site du projet.
OBS comprend une caméra virtuelle intégrée pour macOS (depuis 26.1).
REMARQUE : à partir de pyvirtualcam 0.10, seul OBS 28 ou supérieur est pris en charge. Installez une ancienne version si vous avez besoin du support OBS 26/27.
AIDE RECHERCHÉE : pyvirtualcam nécessite des mises à jour de code pour fonctionner sur macOS 14 et supérieur. Si vous possédez un Mac, pensez à contribuer : #111 (commentaire).
Pour utiliser la caméra virtuelle OBS, suivez ces étapes de configuration uniques :
Notez qu'OBS ne fournit qu'une seule instance de caméra, il n'est donc pas possible d'envoyer des images depuis Python, de capturer la caméra dans OBS, de la mélanger avec d'autres contenus et de la restituer en tant que caméra virtuelle.
pyvirtualcam utilise des caméras virtuelles v4l2loopback sous Linux.
Pour créer une caméra virtuelle v4l2loopback sur Ubuntu, exécutez ce qui suit :
sudo apt install v4l2loopback-dkms
sudo modprobe v4l2loopback devices=1
Pour plus d'informations, consultez la documentation v4l2loopback.
git clone https://github.com/letmaik/pyvirtualcam --recursive
cd pyvirtualcam
pip install .
Ces instructions sont expérimentales et aucune assistance n’est fournie pour elles. En règle générale, il ne devrait pas être nécessaire de créer manuellement puisque les roues sont hébergées sur PyPI.
Vous devez avoir installé Visual Studio pour créer pyvirtualcam.
Dans une fenêtre 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
Ce qui précède téléchargera toutes les dépendances de build (y compris une installation Python) et est entièrement configuré via les quatre variables d'environnement. Définissez USE_CONDA = '0'
pour créer dans un environnement Python existant.