为什么视频学直播?
-
最近很多童鞋找我聊天,我以为是要约我。
,原来都是想学习直播技术。
-
之前在公司开发期间,确实已经在做直播了。所以对直播也有一定的了解和认识。
。但是直播里面涵盖的技术点是较多的,视频播放、录播、聊天、礼物等等,确实不是一两句可以描述的。另外直播类的APP界面也会较为复杂多样化,搭建起来也并不简单。
-
经过我们内部讨论,小码哥安排我以视频的方式开设一个学习直播的课程。以便于大家免费学习到直播技术!
自我介绍
- 小码哥iOS讲师王红元(Why)
-
某些童鞋可能认识哈。
-
- 负责内容:
- 授课:(UI阶段/Swift项目阶段/实用技术阶段)
- 课程研发:(新技术更新/新课程研发)
- 大家有任何问题可以在论坛留言交流,也可以关注我的新浪微博
coderwhy
课程目的
-
第一视角、手把手、1:1教你模仿一个直播项目</br>
直播介绍
-
直播有多火?
- 直播可以说是近一年来最火的一个话题
- 很多平台也因为直播的吸金能力加入到这个行业。
- 投资者也看到这个行业的发展潜力,会加大对该行业的投资。
- 2016年可以说是一个直播元年
-
相应的对直播方面技术人才的需求也是水涨船高</br>
-
比较火的直播平台有哪些?
- 视频上比较火的直播APP大概分成两类
- 秀场直播&游戏直播
- 游戏直播:斗鱼、熊猫TV、虎牙直播、龙珠直播、战旗TV等等
- 秀场直播:映客、千帆直播、花椒、新浪秀场等等
-
数据对比:</br>
-
直播技术分析
- iOS客户端需要掌握哪些技术?
- 视频播放:播放远程服务器收集到的直播视频
- 录播:主播通过手机直播,客户端需要将直播实时视频传输给服务器。以便其他客户端播放
- 即时通信:1>观众和主播互动的礼物、聊天及时呈现 2>弹幕
- 整体界面的搭建和展示
- 视频播放技术分析
- 解协议:远程服务器通过某种协议将数据传递给我们客户端,客户端需要通过解析协议拿到数据
- 解封装:服务器传递给我们的数据是视频文件&音频文件放在一起的压缩文件,需要通过解封装,将视频文件和音频文件分离,单独解析
- 音频&视频解码:对分离的音频文件&视频文件进行解码,拿到原始数据。
-
音视频同步:将音视频文件进行同步,并且传输给声卡显卡进行播放
</br>
- iOS客户端需要掌握哪些技术?
项目选择
- 秀场直播or游戏直播
- 秀场直播:界面简单,并且通常是主播通过手机端在进行直播。技术点也较为简单
- 游戏直播:界面复杂,并且在游戏直播APP中通常也包含了秀场直播。
- 因此,我们选择APP时选择游戏直播
- 游戏直播中的选择
- 游戏直播有较多的APP可以选择,比如斗鱼、熊猫TV、龙珠直播、虎牙直播
- 但是在这些APP中斗鱼市场占有率更高,并且界面和功能也较为复杂多样,因此我们选择斗鱼直播
- Objective-C or Swift?
- 目前开发iOS程序用OC或者Swift都可以,并且苹果也非常重视Swift。
- 在编程语言排行榜中,目前Swift也已经超过了OC
- 斯坦福大学的公开课也已经直接使用Swift进行授课,而不再使用OC
- 因此,该项目我们采用Swift直接编写。
- 如果不会Swift的小伙伴可以先自行学习Swift的语法
- 后续我会更新OC版本,但是前期统一使用Swift