登录 立即注册
安币:

查看: 87|回复: 6

多层次分析直播APP怎么开发

[复制链接]

20

主题

25

帖子

169

安币

程序猿

Rank: 2

QQ
发表于 2019-1-3 09:23:20 | 显示全部楼层 |阅读模式
图片1.png 图片2.png
一、技术实现层面:
技术相对都比较成熟,设备也都支持硬编码。IOS提供现成的 Video ToolBox框架,可以对摄像头和流媒体数据结构进行处理,但Video ToolBox框架只兼容8.0以上版本,8.0以下就需要用x264的库软编了。github上有现成的开源实现,推流、美颜、水印、弹幕、点赞动画、滤镜、播放都有。

二、流媒体传输
1.TCP:
TCP为点对点的协议,虽然能保证了数据传输的可靠性,但是对服务器资源耗费较大,在数据流大的场合难以保证数据流传输的实时性。
<!--[if !supportLists]-->2. <!--[endif]-->UDP:
UDP为不可靠传输协议,不需要维护连接状态,也不认为每个数据包都必须到达接受端,因此网络负荷比TCP小,传输速度也要比TCP快;但在网络越拥挤时,越有更多的数据包丢失。
<!--[if !supportLists]-->3. <!--[endif]-->RTMP:
RTMP一个专门为高效传输视频,音频和数据而设计的协议。它通过建立一个二进制TCP连接或者连接HTTP隧道实现实时的视频和声音传输。
<!--[if !supportLists]-->4. <!--[endif]-->FFmpeg:
FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。

三、项目搭建:
采集端
1.目前比较知名的有VideoCore
目前国内很多知名的推流框架都是对VideoCore的二次开发。这个框架主要使用C++写的,支持RTMP推流,但对于iOS开发者来说有点晦涩难懂(精通C++的除外)。想开源和免费的可以选择现在的几个知名项目VideoCore + GPUImage+基于GPU的美颜滤镜 ,播放用IJKPlayer自己修改。
2.国内比较火的LiveVideoCoreSDK
框架提供IOS苹果手机的RTMP推流填写RTMP服务地址,直接就可以进行推流,SDK下载后简单的工程配置后能直接运行,实现了美颜直播和滤镜功能,基于OpenGL,前后摄像头随时切换,提供RTMP连接状态的回调。
这个框架是国内比较早的一款推流框架有不少在使用这个SDK,功能非常齐全,作者也比较牛,用来学习推流采集相关内容非常好,但是集成到工程中有些困难(对于我来说)。总的来说这是一款非常厉害的推流SDK,几乎全部使用C++写的,编译效率非常好,如果有实力的话推荐使用这个框架来做自己项目的推流端。
推送端的实现
使用的是LFLiveKit,推流端可以选择很多GitHub上的开源项目替代LFLiveKit,比如上面所提到的VideoCore,和LiveVideoCoreSDK。商用的话可以选择各大厂商的SDK,阿里云、七牛其中阿里云直播云本人用过。使用直播云的好处就是能快速上线App,功能十分齐全,可以播放器和推流端,服务器一套下来,有专业客服人员帮助集成到工程中。
播放端的实现
播放端用的针对RTMP优化过的ijkplayer(),ijkplayer是基于FFmpeg的跨平台播放器,这个开源项目已经被多个 App 使用,其中映客、美拍和斗鱼使用了 ijkplayer(5700+) 。我们已经打包好的ijkplayer,直接拖入项目就可以使用。省去了编译的过程(编译十分麻烦,并且容易出错)。

3

主题

9341

帖子

1810

安币

Android大神

Rank: 6Rank: 6

QQ达人

发表于 2019-1-3 09:25:25 | 显示全部楼层
不错不错,楼主辛苦了。。。

14

主题

9307

帖子

4743

安币

码皇(巴士元老)

Rank: 8Rank: 8

发表于 2019-1-3 09:35:29 | 显示全部楼层
楼主威武,以后多发干货,多办活动~!

0

主题

9366

帖子

1161

安币

Android大神

Rank: 6Rank: 6

发表于 2019-1-3 09:36:59 | 显示全部楼层
支持楼主,支持安卓巴士!

9

主题

9316

帖子

1827

安币

Android大神

Rank: 6Rank: 6

QQ达人

发表于 2019-1-3 09:41:11 | 显示全部楼层
安卓巴士是个不错的网站,我来顶个贴~

21

主题

9359

帖子

2063

安币

Android大神

Rank: 6Rank: 6

发表于 2019-1-3 09:52:37 | 显示全部楼层
感觉楼主很用心,辛苦啦~

501

主题

1075

帖子

332

安币

手工艺人

发表于 2019-1-3 09:56:50 | 显示全部楼层
支持楼主,支持安卓巴士!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

站长推荐

通过邮件订阅最新安卓weekly信息
上一条 /4 下一条

下载安卓巴士客户端

全国最大的安卓开发者社区
联系我们
关闭
合作电话:
15618560077
Email:
805941275@qq.com
商务市场合作/投稿
问题反馈及帮助
联系我们

广告投放| 下载客户端|申请友链|手机版|站点统计|安卓巴士 ( 粤ICP备15117877号 )

快速回复 返回顶部 返回列表