Wie kann ich bei Verwendung eines CIFilter
mit einem AVVideoComposition
auf die aktuelle Frame-Nummer im AVAsynchronousCIImageFilteringRequest
Callback zugreifen?Wie greifen Sie auf die Bildnummer in AVAsynchronousCIImageFilteringRequest zu?
Das Beste, was ich tun konnte, ist die Rahmennummer aus der Zeit zu schätzen:
^(AVAsynchronousCIImageFilteringRequest * _Nonnull request) {
double seconds = CMTimeGetSeconds(request.compositionTime);
double fps = [[_avAsset tracksWithMediaType:AVMediaTypeVideo] firstObject].nominalFrameRate;
int frame = round(seconds * fps);
// (Calculate filter parameters based on frame number)
}
Aber das ist für mich nicht genau genug. Gibt es eine Möglichkeit, auf die Bildnummer zuzugreifen?
Ich bin gespannt, wie Sie vidComp.frameDuration sind einstellen, da sie nur gelesen hat. –
Es ist nicht schreibgeschützt in einer 'AVMutableVideoComposition' (im Gegensatz zu einer' AVVideoComposition'). –