2010-12-16 9 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デバイスで再生することができますが、保証はされていません。

関連する問題