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

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

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

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

关于流媒体(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

时间: 2024-10-04 18:37:58

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

iOS视频边下边播--缓存播放数据流

实现视频边下边播,这里的边下边播不是单独开一个子线程去下载,而是把视频播放的数据给保存到本地.简而言之,就是使用一遍的流量,既播放了视频,也保存了视频. 用到的框架:<AVFoundation/AVFoundation.h> 用到的播放器:AVplayer 先说一下avplayer自身的播放原理,当我们给播放器设置好url等一些参数后,播放器就会向url所在的服务器发送请求(请求参数有两个值,一个是offset偏移量,另一个是length长度,其实就相当于NSRange一样),服务器就根据ra

关于MPMoviePlayerController类播放视频时,外放没有声音的问题(ios)

一.导入音频资源类 #import "AVFoundation/AVAudioSession.h" 二.在播放视频的方法中加一句支持外放的代码 [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil]; 参考下面的例子 #pragma mark - 播放视频 - (void)playMovie:(CGRect)videoRect { // 检查网络设置 BOOL netA

iOS 音频缓存播放思路

基础 先来简单了解一下一些基础的音频知识. 目前我们在计算机上进行音频播放都需要依赖于音频文件,音频文件的生成过程是将声音信息采样.量化和编码产生的数字信号的过程,人耳所能听到的声音,最低的频率是从20Hz起一直到最高频率20KHZ,因此音频文件格式的最大带宽是20KHZ.根据奈奎斯特的理论,只有采样频率高于声音信号最高频率的两倍时,才能把数字信号表示的声音还原成为原来的声音,所以音频文件的采样率一般在40~50KHZ,比如最常见的CD音质采样率44.1KHZ. 对声音进行采样.量化过程被称为脉

(ios)MPMoviePlayerController首次播放视频的时候,没有控制条

问题: 在视频播放时,现在控制条采用磨砂的效果,会遮罩部分视频 解决思路 1 播放器直接设置不带控制条,在app在 Foreground状态,默认播放器暂停,这样需要在获得Foreground事件,进行设置播放 - (void) viewWillAppear:(BOOL)animated{ [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(appWillEnterForegroundNotifica

使用系统类播放音频和视频

iOS的系统类中提供了用于播放音频和视频的类,支持常见的多媒体格式 ? 框架支持:MediaPlayer.framework, ? ?AVFoundation.framework 1.音频 类: AVAudioPlayer ? 支持格式:?AAC,AMR,ALAC,iLBC,IMA4,PCM,MP3 初始化方法: initWithContentOfURL: error: initWithDate: error:? ? file type hint:是一个在AVMEdiiaFormat.h中声明的

iOS 在应用中播放本地视频文件

可以使用MPMoviePlayerController来播放本地视频文件 1.添加 Mediaplayer framework 并且在viewcontroller中#import <MediaPlayer/MediaPlayer.h> 2. 把视频文件拖拽到xcode中 3. 获取文件存放的路径 NSString*thePath=[[NSBundle mainBundle] pathForResource:@"yourVideo" ofType:@"MOV&quo

播放视频

1.IOS提供了MPMoviePlayerController.MPMoviePlayerViewController的两个类,可以用来轻松播放视频 2.MPMoviePlayerViewController只能全屏播放视频 3.MPMoviePlayerController可以播放的视频格式有两种:1)H.264 2)MPEG-4  Part  2  video 4.支持的文件扩展名为:avi, mkv, mov, m4v,mp4等 5.最好声明成全局的,因为若声明在某个方法内,播放器只在该方

iOS开发——在不支持横屏情况下,实现播放器全屏播放

在使用MPMoviePlayerController实现播放器播放时,发现不能全屏播放,原来是因为项目不支持横屏,把支持横屏的选项勾住就OK啦,但是其他页面不支持横屏,这个方法就行不通了. 在网上找了很多的资料,很多都是在iOS 6之后就舍弃的,都没用,下面我就来介绍下,在不支持横屏的情况下,实现视频播放器的全屏播放. 1. 首先在AppDelegate.h 定义@property (nonatomic, assign) BOOL allowRotation; // 标记是否可以旋转 2. 同时

关于MPMoviePlayerController以及MPMoviePlayerViewControlle流媒体视频播放

项目中用到了视频播放,我网上查了一下,发现了用类MPMoviePlayerController以及MPMoviePlayerViewControlle来实现.其实后面的MPMoviePlayerViewControlle还是通过MPMoviePlayerController来实现的.因为MPMoviePlayerViewController.moviePlayer  =   MPMoviePlayerController .所以,下面我主要说MPMoviePlayerController. MP