ist es möglich, einen Filter auf AVLayer anzuwenden und ihn view als addSublayer hinzuzufügen? Ich möchte die Farben ändern und etwas Rauschen in das Video von der Kamera mit Swift hinzufügen und ich weiß nicht wie.
Ich dachte, das ist möglich, filterLayer und previewLayer wie folgt hinzuzufügen:
%Vor%und dies kann vielleicht Video mit meinem benutzerdefinierten Filter erstellen, aber ich denke, das ist möglich, um AVComposition
effektiver zu verwendenAlso was ich wissen muss:
Danke für jeden Vorschlag ..
Es gibt noch eine Alternative: Verwenden Sie eine AVCaptureSession, um Instanzen von CImage zu erstellen, auf die Sie CIF-Filter anwenden können (von denen es viele gibt, von Unschärfen über Farbkorrektur bis zu VFX).
Hier ist ein Beispiel mit dem ComicBook-Effekt. Kurz gesagt, erstellen Sie eine AVCaptureSession:
%Vor%Erstellen Sie ein AVCaptureDevice, um die Kamera darzustellen, hier stelle ich die Rückkamera ein:
%Vor%Erstellen Sie dann eine konkrete Implementierung des Geräts und hängen Sie es an die Sitzung an. In Swift 2 kann das Instanziieren von AVCaptureDeviceInput einen Fehler auslösen, also müssen wir Folgendes abfangen:
%Vor%Nun, hier ist ein kleines "Gotcha": Obwohl wir nicht wirklich eine AVCaptureVideoPreviewLayer verwenden, aber es ist erforderlich, um den Beispieldelegaten zum Laufen zu bringen, also erstellen wir eines von denen:
%Vor%Als nächstes erstellen wir eine Videoausgabe, AVCaptureVideoDataOutput, mit der wir auf den Video-Feed zugreifen:
%Vor%Stellen Sie sicher, dass die Implementierung von AVCaptureVideoDataOutputSampleBufferDelegate durch self erfolgt, und wir können den Beispielpuffer-Delegaten für die Videoausgabe festlegen:
%Vor%Die Videoausgabe wird dann an die Aufnahmesitzung angehängt:
%Vor%... und schließlich starten wir die Capture-Session:
%Vor%Da wir den Delegaten festgelegt haben, wird captureOutput mit jedem Frame-Capture aufgerufen. captureOutput wird an einen Beispielpuffer vom Typ CMSampleBuffer übergeben, und es werden nur zwei Codezeilen benötigt, um diese Daten in einen CIImage für Core Image zu konvertieren:
%Vor%... und diese Bilddaten werden an unseren Comic-Effekt übergeben, der wiederum verwendet wird, um eine Bildansicht zu füllen:
%Vor%Ich habe den Quellcode für dieses Projekt hier in meinem GitHub Repo verfügbar .
Tags und Links ios avfoundation swift video-capture calayer