user1020788
user1020788

Reputation: 151

AVURLAsset and AVAssetImageGenerator return null images

I am trying to get a thumbnail from a .mov file that I captured from the iphone camera. I currently have the movie saved in the documents portion of the app. When I call [Asset duration] it returns a null object. Also when I try to call the copyCGImageAtTime:actualtime:error method it also returns a null object. I've spent count less hours trying to figure this out. I've tried moving my code to another main section portion of my app to just see if I could get it to work. I've also tried to run it on the simulator with no luck. Here is the code:

NSString* destinationPath = [NSString stringWithFormat:@"%@/aaa/aaa.mov", [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]];
AVURLAsset *asset = [[AVURLAsset alloc] initWithURL:[NSURL URLWithString:destinationPath] options:nil];
AVAssetImageGenerator *gen = [[AVAssetImageGenerator alloc] initWithAsset:asset];
gen.appliesPreferredTrackTransform = YES;
CMTime time = CMTimeMakeWithSeconds(0.0, 600);
NSError *error2 = nil;
CMTime actualTime;

CGImageRef image = [gen copyCGImageAtTime:time actualTime:&actualTime error:&error2];
UIImage *thumb = [[UIImage alloc] initWithCGImage:image];
CGImageRelease(image);   

I have also confirmed that the movie does exist under that folder. Any help would be greatly appreciated. Thanks :)

--Edit--

Forgot to mention that the Error from copyCGImageAtTime is the AVUnknown error.

--Edit2-- Found out the problem. I didn't include file:// at the beginning of the url. It works now.

Upvotes: 3

Views: 2592

Answers (1)

user1020788
user1020788

Reputation: 151

Found out the problem. I didn't include file:// at the beginning of the url. It works now.

Upvotes: 9

Related Questions