簡體   English   中英

iPhone中的視頻流

[英]Video streaming in iphone

我使用avfoundation從我的設備錄制視頻,然后使用imagepicker從圖庫中選擇視頻,然后將其上傳到本地服務器。 每當我從服務器獲取上傳的視頻時,都不會使用mpmovieplayer播放該視頻,但是如果我存儲了.mov格式的其他視頻,它將可以正常播放。 有時我的視頻也播放得很好。 我的問題是:-這是因為視頻的幀率嗎?還是因為流媒體問題?

 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];
}

上面是在錄制后我用來將視頻保存到資產庫中的代碼片段。

為了從服務器流式傳輸視頻並使用MPMoviePlayer播放,需要使用mediafilesegmenter工具對文件進行分段。 我不確定Snow Leopard是否提供了此工具,但是由於Apple經常更新這些工具,因此您應該下載其最新版本。 有關如何獲取這些工具的更多信息,請參見技術說明TN2224

想法是將文件分成小段,每個段10秒,以促進流傳輸。 該工具將創建一個擴展名為m3u8的播放列表。 該文件的URL是您需要提供給MPMoviePlayer的URL。

即使您不進行實時流傳輸,您仍需要對視頻進行分段,否則它可能會在某些iOS版本下的某些iOS設備上播放,但不能保證。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM