Capture d'images vidéo
Cet exemple vous montre comment utiliser un capteur vidéo personnalisé en utilisant la caméra de l'appareil comme source vidéo. Pour utiliser l'implémentation de la caméra, instanciez le capteur de caméra dans votre fichier VonageVideoManager:
Initialisation et configuration du capteur vidéo
L'initialisateur appelle size(from:) pour déterminer la résolution et met en place une file d'attente sérielle pour la capture des images, afin de ne pas affecter la file d'attente de l'interface utilisateur.
La mise en œuvre de la initCapture utilise le AVFoundation pour configurer l'appareil photo afin de capturer des images. Il crée un AVCaptureSession, définit le périphérique d'entrée, et configure un AVCaptureVideoDataOutput:
Les images capturées à l'aide de cette méthode sont accessibles par l'intermédiaire de la fonction AVCaptureVideoDataOutputSampleBufferDelegate.
La deuxième partie de la initCapture configure la fréquence d'images :
Les bestFrameRate(for:) renvoie la meilleure fréquence d'images pour le dispositif de capture :
Capturer des images pour la vidéo de l'éditeur
Les start démarre la méthode AVCaptureSession:
La méthode de délégation captureOutput(_:didOutput:from:) est appelée lorsqu'une nouvelle image vidéo est disponible.
Cette méthode permet d'effectuer les opérations suivantes :
- Crée un
OTVideoFrameinstance. - Alloue un tampon de mémoire.
- Copie les données d'image de l'écran
CVImageBuffer(format NV12) dans la mémoire tampon manuelle. Le format NV12 comporte deux plans (Y et UV), qui sont copiés de manière séquentielle. - Marque l'image avec un horodatage et une orientation.
- Appels
consumeFrameet transmet le cadre au SDK de Vonage.
Capture vidéo de base
Apprenez à configurer un capteur vidéo de base à l'aide du SDK vidéo de Vonage.