iOS 系统支持流媒体开发的框架有MediaPlayer、AVKit,但是这两个框架都有缺点;
MediaPlayer
针对某些需求支持力度不是很好(eg:播放视频&不要视频的声音;开启录音&需要另一首音乐做背景);
AVKit
介于MediaPlayer的缺陷,苹果肯定不能坐视不管,所以推出了AVKit,AVKit是建立在AVFoundation上的,但是AVKit支持视频格式不是很多(eg:RMVB就不支持);
MobileVLCKit
然后出现了第三方MobileVLCKit,前身ffmpeg,支持的视频文件格式如下
*.rmvb *.asf *.avi *.divx *.dv *.flv *.gxf *.m1v *.m2v *.m2ts *.m4v *.mkv *.mov *.mp2 *.mp4 *.mpeg *.mpeg1 *.mpeg2 *.mpeg4 *.mpg *.mts *.mxf *.ogg *.ogm *.ps *.ts *.vob *.wmv *.a52 *.aac *.ac3 *.dts *.flac *.m4a *.m4p *.mka *.mod *.mp1 *.mp2 *.mp3 *.ogg.
使用步骤:
VLCMediaPlayer * player = [[VLCMediaPlayer alloc] initWithOptions:nil];
//设置承载播放视频的view
UIView *playView= =[[UIView alloc]initWithFrame:self.view.frame];
[self.view addSubview:playView];
//设置播放地址
player.media=[VLCMedia mediaWithURL:[NSURL URLWithString:@"http://edge.ivideo.sina.com.cn/6265508.flv?KID=sina,viask&Expires=1497283200&ssig=Fm93rOHyRd"]];
//播放
[self.player play];
下面是主流流媒体介绍:
库名 | 简介 | 需要的能力 | 官网链接 |
---|---|---|---|
ffmpeg |
FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多codec都是从头开发的。 | 了解视频编解码原理和流程、了解图像压缩技术、音频压缩技术等 | http://ffmpeg.org |
live555 |
Live555实现了对多种音视频编码格式的音视频数据的流化、接收和处理等支持,包括MPEG、H.263+、DV、JPEG视频和多种音频编码。同时由于良好的设计,Live555非常容易扩展对其他格式的支持。 | 了解视频编解码原理和流程、了解图像压缩技术、音频压缩技术等 | http://www.live555.com |
MobileVLCKit |
鼎鼎大名的播放器VLC ,优秀的封装,源码中最核心的部分,被封装成了独立的库,基于ffmpeg ,live555 提供完整的媒体播放库,你只需要定制自己的界面,支持CocoaPods导入库,开发一个简单界面的播放器,你只需要几行代码,几乎覆盖所有媒体格式! |
你只需要定制好自己的界面,它的API看起来就是一个播放器 | http://www.videolan.org |
了解人物
雷霄骅
FFMpeg集成
参考
网友评论