若是是視頻文件,好比Mp4,avi,rmvb等可根據下面的這邊文章推薦的Demo(http://code4app.com/ios/5292c381cb7e8445678b5ac2),通過測試能夠進行同步緩存播放.html
若是是視頻流MU38上面Demo,行不通.(視頻流是多文件,下載單個確定不行)git
視頻流緩存播放實現步驟.github
以優酷爲例(經測試愛奇藝,搜狐,新浪均可以)web
1.解析M3U8 直接經過M3U8Kit 解析緩存
或js解析app
- (void)webViewDidFinishLoad:(UIWebView *)webView { NSString *lJs = @"document.documentElement.innerHTML"; NSString *lHtml = [webView stringByEvaluatingJavaScriptFromString:lJs]; // NSString *lJs2 = @"(document.getElementsByTagName(\"video\")[0]).getElementsByTagName(\"source\")[0].src"; //qiyi NSString *lJs2 = @"(document.getElementsByTagName(\"video\")[0]).src"; // youku,tudou,ku6 ,souhu NSString *lm3u8 = [webView stringByEvaluatingJavaScriptFromString:lJs2]; NSLog(@"video source:%@",lm3u8); }
2.下載(待解決)ide
3.播放post
相關資料性能
MPMoviePlayerController 獲取視頻緩衝大小
在查找資料時看到
polyv-ios-client-demo 保利威視(POLYV)視頻直播雲服務 (收費的)
MPMoviePlayerController 只支持能在iPhone或者iPod上直接播放(不借助其餘播放器)的格式
.mov, .mp4,.mpv, and .3gp
反過來就是說, rmvb mkv 等一些比較經常使用的是不支持的,只能靠別的(如ffmpeg等)
爲何奇藝要把 iPad 客戶端上的 MP4 流改成 TS 流呢?TS 相對於 MP4 有什麼優點呢? (來自知乎)
HTTP Live Streaming直播(iOS直播)技術分析與實現
Demo:關於m3u8的解析、下載、拼接和本地播放,好像能夠,不知性能如何
https://github.com/luoxubin/XB2
iOS-視屏播放AVPlayer&MPMoviePlayerController AVPlayer自帶緩存
資源:
http://pl.youku.com/playlist/m3u8?vid=XMTI4NzQyMDM0MA==&type=flv&ts=1441699625&keyframe=0&ep=eyaQG0%2BEX8gC4CbYiD8bM3mzdH9dXJZ3kmaB%2F5gDScZQNejC6DPcqJuxSf8%3D&sid=944169962557012dea08b&token=6170&ctype=12&ev=1&oip=992603906
http://static.tripbe.com/videofiles/20121214/9533522808.f4v.mp4
http://v.chuanke.com/vedio/1/08/65/10865711ff6997a671e6622352385208.mp4