2010-12-16 4 views
1

avfoundation을 사용하여 장치에서 비디오를 녹화하고 imagepicker를 사용하여 갤러리에서 비디오를 선택한 다음 로컬 서버에 업로드합니다. 서버에서 업로드 한 비디오를 가져올 때마다 mpmovieplayer를 사용하여 재생되지 않지만 .mov 형식의 다른 비디오를 저장하면 잘 재생됩니다. 때로는 내 비디오도 잘 재생됩니다. 여기 내 질문 : - 동영상의 프레임 속도 때문에이입니까 - 또는 스트리밍 문제로 인한 것인가?iphone의 비디오 스트리밍

ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init]; 
if ([library videoAtPathIsCompatibleWithSavedPhotosAlbum:outputFileURL]) 
{ 
    [library writeVideoAtPathToSavedPhotosAlbum:outputFileURL 
           completionBlock:^(NSURL *assetURL, NSError *error) 
    { 
    if (error && [delegate respondsToSelector:@selector(assetLibraryError:forURL:)]) { 
             [delegate assetLibraryError:error forURL:assetURL]; 

    } 
    }]; 
} else { 
    if ([delegate respondsToSelector:@selector(cannotWriteToAssetLibrary)]) 
    { 
     [delegate cannotWriteToAssetLibrary]; 



    } 
} 

[[NSUserDefaults standardUserDefaults] setObject:outputFileURL forKey:@"StoreVideo"]; 

[library release]; 

if ([[UIDevice currentDevice] isMultitaskingSupported]) { 
    [[UIApplication sharedApplication] endBackgroundTask:[self backgroundRecordingID]]; 
} 

if ([delegate respondsToSelector:@selector(recordingFinished)]) { 
    [delegate recordingFinished]; 
} 

위의 코드는 녹화 후 자산 라이브러리에 저장하는 데 사용됩니다.

답변

1

서버에서 비디오를 스트리밍하고 MPMoviePlayer로 다시 재생하려면 파일을 mediafilesegmenter 도구로 세그먼트 화해야합니다. Snow Leopard와 함께 제공되는지 확실하지 않지만, Apple에 따라이 도구가 자주 업데이트되므로 최신 버전을 다운로드해야합니다. 이러한 도구를 얻는 방법에 대한 자세한 내용은 Technical Note TN2224을 참조하십시오.

스트리밍을 용이하게하기 위해 파일을 작은 세그먼트 (예 : 각 10 초)로 나누는 것이 좋습니다. 이 도구는 m3u8 확장자를 가진 재생 목록을 만듭니다. 이 파일의 URL은 MPMoviePlayer에 제공해야합니다.

라이브 스트리밍을하지 않는 경우에도 동영상을 분류해야합니다. 그렇지 않으면 일부 iOS 기기에서 재생 될 수 있지만 보장되지는 않습니다.