如果是视频文件,比如Mp4,avi,rmvb等可根据下面的这边文章推荐的Demo(http://code4app.com/ios/5292c381cb7e8445678b5ac2),经过测试可以进行同步缓存播放.
如果是视频流MU38上面Demo,行不通.(视频流是多文件,下载单个肯定不行)
视频流缓存播放实现步骤.
以优酷为例(经测试爱奇艺,搜狐,新浪都可以)
1.解析M3U8 直接通过M3U8Kit 解析
或js解析
- (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.下载(待解决)
3.播放
相关资料
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://static.tripbe.com/videofiles/20121214/9533522808.f4v.mp4
http://v.chuanke.com/vedio/1/08/65/10865711ff6997a671e6622352385208.mp4
手机扫一扫
移动阅读更方便
你可能感兴趣的文章