2010-01-31 7 views
3

카메라 롤에서 가져온 비디오 또는 카메라 자체의 축소판을 어떻게 구합니까?iPhone 비디오 축소판 가져 오기

이것은 이전에 질문을 받았으며 답변되었습니다. 그러나, 나를 위해 빨기의 종류의 대답. 그냥 집어 비디오에 해당한다 최신 수정 날짜와 JPG에 대한

  1. 크롤링 일부 파일 시스템 디렉토리 :

    이 스레드 iphone sdk > 3.0 . Video Thumbnail? 아래에 종기 몇 가지 옵션이 있습니다. 이것은 매우 혼란스럽고 애플이 나에게 정말로 원하지 않는 디렉토리에서 뿌리를 내리고있다.

  2. ffmpeg를 사용하십시오. 그러나 이것은 매우 일반적이어서 ffmpeg를 내 프로젝트로 가져 와서 실제로 이미지를 추출하는 데 걸리는 단계를 파악할 수없는 것처럼 보입니다.

정말 다른 방법이 있습니까? 이것은 나에게 SDK의 거대한 감독처럼 보인다. 비디오 픽커가 미리보기 이미지를 가지고 있다는 것을 의미합니다. 따라서 애플은 무언가를 생성해야합니다.을 생성해야하지만 아직 허용하지 않습니까?

+1

애플은 할 수있는 일이 많지만 허용되지는 않습니다. – kennytm

+0

실제로. 그리고 그러한 사실은 나를 아주 까다롭게 만듭니다. –

답변

3

가장 좋은 방법 내가 찾은 ... MPMoviePlayerController thumbnailImageAtTime :... timeOption

신경 끄시이 ... 아래 첫 코멘트를 참조 즉, 대답

+0

왜 신경 끄시나요? 이것은 완벽하게 수용 가능한 대답입니다. 요구 사항에 따라이 한 줄짜리 솔루션이 좋습니다. – memmons

1

우리는 ffmpeg를 사용합니다. 어떻게 할 지에 대한 힌트를 얻기 위해 사이트를 탐색 할 수 있습니다. 결국에는 자습서를 작성하려고합니다.

하지만 지금은 영화를 재생하는 데 ffmpeg를 사용하는 데 더 집중하고 있습니다. 섬네일을 생성하는 코드는 해당 코드의 하위 집합 일뿐입니다.

이 자습서는 ffmpeg를 사용하여 대다수 개발자가 시작하는 데 도움이되었습니다. dranger.com/ffmpeg/ "마지막으로

,

애플은 아마 내가 그러나 그 아니라 개인 폴더에 자신을 생각하지 않는 비디오 카메라에서 생성 된 축소판을 사용하여 어떤 문제가 발생하지 어쩌면 것 카메라가 아니라 비디오 생성 이미지 선택기에서 선택

+0

감사합니다. 나는 이것을 통과하고 그것이 효과가 있는지 보지만 유망 해 보일 것입니다. –

12
 -(void)testGenerateThumbNailDataWithVideo { 
    NSString *path = [[NSBundle mainBundle] pathForResource:@"IMG_0106" ofType:@"MOV"]; 
NSURL *url = [NSURL fileURLWithPath:path]; 
    AVURLAsset *asset = [[AVURLAsset alloc] initWithURL:url options:nil]; 
    AVAssetImageGenerator *generate = [[AVAssetImageGenerator alloc] initWithAsset:asset]; 
    NSError *err = NULL; 
    CMTime time = CMTimeMake(1, 60); 
    CGImageRef imgRef = [generate copyCGImageAtTime:time actualTime:NULL error:&err]; 
    [generate release]; 
    NSLog(@"err==%@, imageRef==%@", err, imgRef); 
    UIImage *currentImg = [[UIImage alloc] initWithCGImage:imgRef]; 
    static BOOL flag = YES; 
    if (flag) { 
     NSData *tmpData = UIImageJPEGRepresentation(currentImg, 0.8); 
     NSString *path = [NSString stringWithFormat:@"%@thumbNail.png", NSTemporaryDirectory()]; 
     BOOL ret = [tmpData writeToFile:path atomically:YES]; 
     NSLog(@"write to path=%@, flag=%d", path, ret); 
     flag = NO; 
    } 
    [currentImg release]; 
} 
+1

+ ∞ 이것이 내가 찾고있는 것입니다! 너는 나의 날을 구했다 !!!!!!!!!!!!!! – SpaceDog

+0

감사합니다 lot.it 잘 작동 –

+0

어떻게 축소판 방향을 수정합니까? –

관련 문제