Ich möchte eine Anzeigeüberlagerung über ein Video anzeigen und das Video einschließlich dieser Anzeige exportieren. Ich habe mir das AVFoundation Framework, AVCompositions, AVAssets etc. angesehen, aber ich habe immer noch keine Idee, dies zu erreichen. Es gibt eine Klasse namens AVSynchronizedLayer, mit der Sie Dinge synchron zum Video animieren können, aber ich möchte nicht animieren, ich möchte die Zeitanzeige in jedem einzelnen Frame des Videos überlagern. Irgendwelche Tipps?
Grüße
So etwas ...
(NB: aus einem viel größeren Projekt herausgenommen, so dass ich versehentlich einige unnötige Teile eingefügt habe).
Sie müssen den CALayer Ihrer Uhr / Animation nehmen und ihn auf den var myClockLayer setzen (1/3 vom Andimationstool).
Dies setzt auch voraus, dass Ihr ankommendes Video nur zwei Spuren hat - Audio und Video. Wenn Sie mehr haben, müssen Sie die Track-ID in "asTrackID: 2" genauer festlegen.
%Vor%Ich denke, Sie können AVCaptureVideoDataOutput verwenden, um jeden Frame zu verarbeiten, und AVAssetWriter verwenden, um den verarbeiteten Frame aufzuzeichnen. Sie können sich auf diese Antwort beziehen
Ссылка .
Verwenden Sie AVAsssetWriterPixelBufferAdaptor appendPixelBuffer: withPresentationTime: Methode zum Exportieren von
Und ich empfehle dringend, OpenCV zu verwenden, um Rahmen zu verarbeiten. Dies ist ein nettes Tutorial
Zypern .
OpenCV-Bibliothek ist sehr gut.
Tags und Links ios video avfoundation overlay