Új hozzászólás Aktív témák
-
kemkriszt98
tag
Sziasztok.
Egy videót próbálok frame-ekre bontani. Itt a kódom:private class func videoToFrames(name:String, vExtension ext: String)->[UIImage]?{
do{
var frames = [UIImage]()
let url = NSBundle.mainBundle().URLForResource(name, withExtension: ext, subdirectory: "Assets")!
let asset = AVAsset(URL: url)
let reader = try AVAssetReader(asset: asset)
let output = AVAssetReaderVideoCompositionOutput(videoTracks: asset.tracksWithMediaType(AVMediaTypeVideo), videoSettings: nil)
output.videoComposition = AVVideoComposition(propertiesOfAsset: asset)
reader.addOutput(output)
reader.startReading()
let frameCount = Int(asset.duration.seconds*fps)
let context = CIContext()
print("Asset reader: \(reader.error)")
for _ in 0..<frameCount{
let buff = output.copyNextSampleBuffer()
if buff == nil{
continue
}
let pixelBuffer = CMSampleBufferGetImageBuffer(buff!)! as CVPixelBuffer
let ciImage = CIImage(CVPixelBuffer: pixelBuffer)
let cgImgRef = context.createCGImage(ciImage, fromRect: CGRectMake(0, 0, CGFloat(CVPixelBufferGetWidth(pixelBuffer)), CGFloat(CVPixelBufferGetHeight(pixelBuffer))))
frames.append(UIImage(CGImage: cgImgRef))
}
return frames
}catch{
print(error)
return nil
}
}.mp4 fájlokkal működik de nekem .mov kellene az aplha channel miatt. Arra viszont azt a hibaüzenetet kapom, hogy:
Error Domain=AVFoundationErrorDomain Code=-11833 "Cannot Decode" UserInfo={NSLocalizedFailureReason=The decoder required for this media cannot be found., NSUnderlyingError=0x15e77fb90 {Error Domain=NSOSStatusErrorDomain Code=-12906 "(null)"}, AVErrorMediaTypeKey=vide, NSLocalizedDescription=Cannot Decode})
Google-on nem találok semmi használhatót... próbáltam a pixel formatokat állítgatni de az sem segített. Esetleg valami ötlet?
Új hozzászólás Aktív témák
- Bomba ár! Dell Latitude E6430 - i5-3GEN I 8GB I 320GB I HDMI I 14" HD I Cam I W10 I Garancia!
- Eredeti DELL 240W töltők (LA240PM160)
- AKCIÓ! Lenovo Legion Slim 5 16AHP9 notebook - R7 8845HS 16GB RAM 512GB SSD RTX 4060 8GB Win11
- Eredeti Lenovo USB-C 65W töltő
- ÁRGARANCIA!Épített KomPhone Ryzen 7 5700X3D 32/64GB RAM RX 7800 XT 16GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest