pyvirtualcam mengirimkan bingkai ke kamera virtual dari 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 menggunakan kamera virtual pertama yang ditemukannya (lihat bagian selanjutnya).
Untuk contoh lainnya, termasuk menggunakan format piksel berbeda seperti BGR, atau memilih perangkat kamera tertentu, lihat folder examples/
.
Lihat juga Dokumentasi API.
Paket ini berfungsi di Windows, macOS, dan Linux. Instal dari PyPI dengan:
pip install pyvirtualcam
pyvirtualcam mengandalkan kamera virtual yang ada yang harus diinstal terlebih dahulu. Lihat bagian selanjutnya untuk detailnya.
OBS menyertakan kamera virtual bawaan untuk Windows (sejak 26.0).
Untuk menggunakan kamera virtual OBS, cukup instal OBS.
Perhatikan bahwa OBS hanya menyediakan contoh kamera tunggal, jadi tidak mungkin mengirim bingkai dari Python ke kamera virtual OBS bawaan, menangkap kamera di OBS, mencampurnya dengan konten lain, dan mengeluarkannya lagi ke kamera bawaan OBS. di kamera virtual. Untuk mencapai alur kerja seperti itu, gunakan kamera virtual lain dari Python (seperti Unity Capture) sehingga kamera virtual bawaan OBS gratis untuk digunakan di OBS.
Unity Capture menyediakan kamera virtual yang awalnya ditujukan untuk streaming game Unity. Dibandingkan dengan kebanyakan kamera virtual lainnya, kamera ini mendukung bingkai RGBA (bingkai dengan transparansi) yang selanjutnya dapat ditangkap di OBS untuk diproses lebih lanjut.
Untuk menggunakan kamera virtual Unity Capture, ikuti petunjuk instalasi di situs proyek.
OBS menyertakan kamera virtual internal untuk macOS (sejak 26.1).
CATATAN : Dimulai dengan pyvirtualcam 0.10, hanya OBS 28 atau lebih tinggi yang didukung. Instal versi yang lebih lama jika Anda memerlukan dukungan OBS 26/27.
BANTUAN DIBUTUHKAN : pyvirtualcam memerlukan pembaruan kode untuk dijalankan di macOS 14 dan lebih tinggi. Jika Anda memiliki Mac, pertimbangkan untuk berkontribusi: #111 (komentar).
Untuk menggunakan kamera virtual OBS, ikuti langkah-langkah pengaturan satu kali berikut:
Perhatikan bahwa OBS hanya menyediakan satu contoh kamera, sehingga tidak mungkin mengirim bingkai dari Python, menangkap kamera di OBS, mencampurnya dengan konten lain, dan mengeluarkannya lagi sebagai kamera virtual.
pyvirtualcam menggunakan kamera virtual v4l2loopback di Linux.
Untuk membuat kamera virtual v4l2loopback di Ubuntu, jalankan perintah berikut:
sudo apt install v4l2loopback-dkms
sudo modprobe v4l2loopback devices=1
Untuk informasi lebih lanjut, lihat dokumentasi v4l2loopback.
git clone https://github.com/letmaik/pyvirtualcam --recursive
cd pyvirtualcam
pip install .
Instruksi ini bersifat eksperimental dan tidak ada dukungan yang diberikan untuk instruksi tersebut. Biasanya, tidak perlu membuat secara manual karena roda dihosting di PyPI.
Anda harus menginstal Visual Studio untuk membangun pyvirtualcam.
Di jendela 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
Di atas akan mengunduh semua dependensi build (termasuk instalasi Python) dan sepenuhnya dikonfigurasi melalui empat variabel lingkungan. Setel USE_CONDA = '0'
untuk membangun dalam lingkungan Python yang ada.