关于MPMoviePlayerController 缓存播放的一些技术准备

若是是视频文件,好比Mp4,avi,rmvb等可根据下面的这边文章推荐的Demo(http://code4app.com/ios/5292c381cb7e8445678b5ac2),通过测试能够进行同步缓存播放.html

iOS开发笔记,简单实现视频音频的边下边播ios

 

若是是视频流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 获取视频缓冲大小

关于流媒体(m3u8)的播放与下载

在查找资料时看到

polyv-ios-client-demo 保利威视(POLYV)视频直播云服务 (收费的)

MPMoviePlayerController 只支持能在iPhone或者iPod上直接播放(不借助其余播放器)的格式

.mov, .mp4,.mpv, and .3gp

反过来就是说, rmvb  mkv 等一些比较经常使用的是不支持的,只能靠别的(如ffmpeg等)

为何奇艺要把 iPad 客户端上的 MP4 流改成 TS 流呢?TS 相对于 MP4 有什么优点呢? (来自知乎)

[AS3]HLS分片和m3u8

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

相关文章
相关标签/搜索