pyvirtualcam envia frames para uma câmera virtual do 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 usa a primeira câmera virtual disponível que encontra (veja a seção posterior).
Para obter mais exemplos, incluindo o uso de diferentes formatos de pixel, como BGR, ou a seleção de um dispositivo de câmera específico, verifique a pasta examples/
.
Consulte também a documentação da API.
Este pacote funciona em Windows, macOS e Linux. Instale-o do PyPI com:
pip install pyvirtualcam
pyvirtualcam depende de câmeras virtuais existentes que devem ser instaladas primeiro. Consulte a próxima seção para obter detalhes.
OBS inclui uma câmera virtual integrada para Windows (desde 26.0).
Para usar a câmera virtual OBS, basta instalar o OBS.
Observe que o OBS fornece apenas uma instância de câmera única, portanto não é possível enviar quadros do Python para a câmera virtual integrada do OBS, capturar a câmera no OBS, misturá-la com outro conteúdo e enviá-la novamente para a câmera integrada do OBS. em câmera virtual. Para alcançar esse fluxo de trabalho, use outra câmera virtual do Python (como Unity Capture) para que a câmera virtual integrada do OBS seja gratuita para uso no OBS.
Unity Capture fornece uma câmera virtual originalmente destinada ao streaming de jogos Unity. Comparada com a maioria das outras câmeras virtuais, ela suporta quadros RGBA (quadros com transparência) que por sua vez podem ser capturados em OBS para processamento posterior.
Para usar a câmera virtual Unity Capture, siga as instruções de instalação no site do projeto.
OBS inclui uma câmera virtual integrada para macOS (desde 26.1).
NOTA : A partir do pyvirtualcam 0.10, apenas OBS 28 ou superior é compatível. Instale uma versão mais antiga se precisar de suporte OBS 26/27.
PROCURA-SE AJUDA : pyvirtualcam requer atualizações de código para rodar no macOS 14 e superior. Se você possui um Mac, considere contribuir: #111 (comentário).
Para usar a câmera virtual OBS, siga estas etapas de configuração única:
Observe que o OBS fornece apenas uma instância de câmera única, portanto não é possível enviar quadros do Python, capturar a câmera no OBS, misturá-la com outro conteúdo e exibi-la novamente como câmera virtual.
pyvirtualcam usa câmeras virtuais v4l2loopback no Linux.
Para criar uma câmera virtual v4l2loopback no Ubuntu, execute o seguinte:
sudo apt install v4l2loopback-dkms
sudo modprobe v4l2loopback devices=1
Para obter mais informações, consulte a documentação do v4l2loopback.
git clone https://github.com/letmaik/pyvirtualcam --recursive
cd pyvirtualcam
pip install .
Estas instruções são experimentais e não é fornecido suporte para elas. Normalmente, não deve haver necessidade de construir manualmente, uma vez que as rodas estão hospedadas no PyPI.
Você precisa ter o Visual Studio instalado para criar o pyvirtualcam.
Em uma janela do 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
O acima fará o download de todas as dependências de compilação (incluindo uma instalação do Python) e será totalmente configurado por meio das quatro variáveis de ambiente. Defina USE_CONDA = '0'
para construir em um ambiente Python existente.