特点:实现简单, 成本也低
边下边播, 不会保存文件,特点:流过就没有了.常用的协议有两个,分别为HLS (HTTP Live Streaming) 和 RTMP (Real Time Messaging Protocol)
HLS (HTTP Live Streaming),Apple的动态码率自适应技术。主要用于Mac和iOS音视频服务。包括一个m3u(8)的索引文件(.M3u8),多个TS媒体分片文件(.ts)和key加密串文件。支持推流和播放. iOS自带的播放器就可以直接播放基于HLS协议的视频.
RTMP是Real Time Messaging Protocol(实时消息传输协议)的首字母缩写。该协议基于TCP,是一个协议族,包括RTMP基本协议及RTMPT/RTMPS/RTMPE等多种变种。RTMP是一种设计用来进行实时数据通信的网络协议,主要用来在Flash/AIR平台和支持RTMP协议的流媒体/交互服务器之间进行音视频和数据通信.
RTMP实时消息传送协议协议概述编辑 RTMP(Real Time Messaging Protocol)实时消息传送协议是Adobe Systems公司为Flash播放器和服务器之间音频、视频和数据传输 开发的开放协议。 它有多种变种: RTMP工作在TCP之上,默认使用端口1935;RTMPE在RTMP的基础上增加了加密功能;RTMPT封装在HTTP请求之上,可穿透防火墙;RTMPS类似RTMPT,增加了TLS/SSL的安全功能;编译后一个用于模拟器一个用于真机
IJKMediaFramework编译结果.png附: 如果你想把两个framework进行合并,可以使用lips -create 文件1 文件2 -o 要生成文件
需要合并的文件.png注意:在测试阶段可以使用合并后的framework,当打包时候最好只使用真机的framework以减小安装包的大小
IJKFFMoviePlayerController 支持的通知有很多,常见的有:
IJKMPMoviePlayerLoadStateDidChangeNotification(加载状态改变通知) IJKMPMoviePlayerPlaybackDidFinishNotification(播放结束通知) IJKMPMoviePlayerPlaybackStateDidChangeNotification(播放状态改变通知)
步骤:
在viewWillAppear添加监听
// 1. 添加播放状态改变的通知 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(playbackStateDidChange:) name:IJKMPMoviePlayerPlaybackStateDidChangeNotification object:self.player];实现监听方法
- (void) playbackStateDidChange:(NSNotification *) notification { // NSLog(@"%@",notification); // IJKMPMoviePlaybackStateStopped, 停止 // IJKMPMoviePlaybackStatePlaying, 正在播放 // IJKMPMoviePlaybackStatePaused, 暂停 // IJKMPMoviePlaybackStateInterrupted, 打断 // IJKMPMoviePlaybackStateSeekingForward, 快进 // IJKMPMoviePlaybackStateSeekingBackward 快退 switch (self.player.playbackState) { case IJKMPMoviePlaybackStateStopped: NSLog(@"停止"); break; case IJKMPMoviePlaybackStatePlaying: NSLog(@"正在播放"); break; case IJKMPMoviePlaybackStatePaused: NSLog(@"暂停"); break; case IJKMPMoviePlaybackStateInterrupted: NSLog(@"打断"); break; case IJKMPMoviePlaybackStateSeekingForward: NSLog(@"快进"); break; case IJKMPMoviePlaybackStateSeekingBackward: NSLog(@"快退"); break; default: break; } } 在viewDidDisappear移除监听 [[NSNotificationCenter defaultCenter] removeObserver:self name:IJKMPMoviePlayerPlaybackStateDidChangeNotification object:self.player]; From:http://www.jianshu.com/p/a7d9ed02cf40
