iOS,直播软件的代码探索

一直以来都想了解学习直播视频这块内容,加上现在这么火,所以个人认为,或多或少了解一点还是很有必要的,特别是看了 峥吖 的文章后,决定自己也来尝试下。我是从下面三个方面开始这方面的学习。

  • 粗略了解一个完整直播app技术点
  • 自己大致实现一个最基本的功能点直播
  • 值的参考的项目和文章

一、粗略了解一个完整直播app技术点

iOS,直播软件的代码探索_第1张图片

一个完整直播app技术点

1、采集视频、音频
2、视频处理
3、视频、音频编码压缩
4、推流
5、流媒体服务器处理数据
6、拉流
7、视频、音频转码
8、播放
9、聊天互动

二、实现一个最基本的功能点直播

不管具体实现机制,先从一个项目模仿,实现最基本的直播功能,单纯的直播功能,是跟着 峥吖老师写的 如何快速的开发一个完整的iOS直播app播放篇,一步一步实现基本功能的。

  • 曾几何时,为了编译 ffmpeg,费啦老大劲还出错,此处通过 ijkplayer ,让我们省掉了多少力和坑。 具体跟着 iOS中集成ijkplayer视频直播框架 走,然后就解决了直播这块的头等大事啦。

  • 通过IJKFFMoviePlayerController
    直接播放,真的很方便。PS:URL 是映客直播的, 从 峥吖老师 那直接获取的。

// 拉流地址 self.live.stream address 
NSURL *url = [NSURL URLWithString:self.live.stream];
 // 创建IJKFFMoviePlayerController:专门用来直播,传入拉流地址就好了
 self.player = [[IJKFFMoviePlayerController alloc] initWithContentURL:url withOptions:nil]; 
// 准备播放 
[self.player prepareToPlay]; 
// 布局,并且加在上面 
self.player.view.frame = [UIScreen mainScreen].bounds; 
[self.view insertSubview:self.player .view atIndex:1];

然后很快就做成了展现了出啦最简单的直播...


show.gif

三、值的参考的项目和文章
3-1:项目

  • 520Linkee: 该项目实现了作为一个直播App的基本功能,比如本地视频流采集、播放、美颜、礼物、点赞出心等。
  • MiaowShow:iOS视频直播项目, 高仿<喵播APP>
  • Live: 直播, 一个示范如何建立直播 APP 的项目
  • inke:映客iOS客户端,虽说作者自己说价值不大啦,但还是可以看看的

3-2:文章

  • 做一款仿映客的直播App?看我就够了
  • 直播文章推荐 :一些概念性基础的总结,有些必看
  • iOS动手做一个直播(原理篇):关于推流和拉流
  • 如何快速的开发一个完整的iOS直播app: 峥吖老师写的
  • 如何快速的开发一个完整的iOS直播app播放篇: 峥吖老师写的
  • 关于视频直播技术,你想要知道的都在这里了 : 七牛云一系列文章,持续更新中
  • iOS中集成ijkplayer视频直播框架: 真是一步一步教我们集成ijkplayer。

3-3:另外的学习

  • 慕课网 学习直播视频: 还有文章备注(视频直播技术)
  • AV Foundation开发秘籍:实践掌握iOS & OS X 应用的视听处理技术: 一本书。

总的说来,走马观花的了解了下直播这块的知识点,而接下来有空就是将其知识点一个一个进行学习备忘,预防后期项目用到。

你可能感兴趣的:(iOS,直播软件的代码探索)