[英]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.