一、了解直播
热门直播产品
1.一个完整直播app功能(来自落影loyinglin分享)
- 1、
- 私聊、聊天室、点亮、推送、黑名单等;
- 2、
- 普通礼物、豪华礼物、红包、排行榜、第三方充值、内购、礼物动态更新、提现等;
- 3、
- 关注、热门、最新、分类直播用户列表等;
- 4、
- 录制、推流、解码、播放、美颜、心跳、后台切换、主播对管理员操作、管理员对用户等;
- 5、
- 创建房间、进入房间、退出房间、关闭房间、切换房间、房间管理员设置、房间用户列表等;
- 6、
- 普通登陆、第三方登陆、注册、搜索、修改个人信息、关注列表、粉丝列表、忘记密码、查看个人信息、收入榜、关注和取关、检索等;
- 7、
- 聊天信息、滚屏弹幕、礼物显示、加载界面等;
- 8、
- APP业务统计、第三方统计等;
- 9、
- 禁播、隐藏、审核等;
2.一个完整直播app原理
:把主播录制的视频,推送到服务器,在由服务器分发给观众观看。
:推流端(采集、美颜处理、编码、推流)、服务端处理(转码、录制、截图、鉴黄)、播放器(拉流、解码、渲染)、互动系统(聊天室、礼物系统、赞)
3.一个完整直播app实现流程
直播流程.png
4.一个完整直播app架构
直播协议对比.png
- :由Apple公司定义的用于实时流传输的协议,HLS基于HTTP协议实现,传输内容包括两部分,一是M3U8描述文件,二是TS媒体文件。可实现流媒体的直播和点播,主要应用在iOS系统
- HLS是来实现直播
- HLS是,客户端会根据网络状况自动选择不同码率的视频流,条件允许的情况下使用高码率,网络繁忙的时候使用低码率,并且自动在二者间随意切
换。这对移动设备网络状况不稳定的情况下保障流畅播放非常有帮助。 - 实现方法是服务器端提供多码率视频流,并且在列表文件中注明,播放器根据播放进度和下载速度自动调整。
- :HLS主要是延时比较大,RTMP主要优势在于延时低
- HLS协议的小切片方式会生成大量的文件,存储或处理这些文件会造成大量资源浪费
- 相比使用RTSP协议的好处在于,一旦切分完成,之后的分发过程完全不需要额外使用任何专门软件,普通的网络服务器即可,大大降低了CDN边缘服务器的配置要求,可以使用任何现成的CDN,而一般服务器很少支持RTSP。
- :基于HTTP协议流式的传输媒体内容。
- 相对于RTMP,HTTP更简单和广为人知,内容延迟同样可以做到1~3秒,打开速度更快,因为HTTP本身没有复杂的状态交互。所以从延迟角度来看,HTTP-FLV要优于RTMP。
- :实时流传输协议,定义了一对多应用程序如何有效地通过IP网络传送多媒体数据.
- :实时传输协议,RTP是建立在UDP协议上的,常与RTCP一起使用,其本身并没有提供按时发送机制或其它服务质量(QoS)保证,它依赖于低层服务去实现这一过程。
- :RTP的配套协议,主要功能是为RTP所提供的服务质量(QoS)提供反馈,收集相关媒体连接的统计信息,例如传输字节数,传输分组数,丢失分组数,单向和双向网络延迟等等。
7.解码
* 7.1 解封装 *
- :从视频流、音频流,字幕流合成的文件()中, 分解出视频、音频或字幕,各自进行解码。
* 7.2 音频编码框架 *
- :音频编码解码框架,PCM音频数据和AAC音频数据互转
* 7.3 解码介绍 *
- :用GPU来解码,减少CPU运算
- 优点:播放流畅、低功耗,解码速度快,
* 缺点:兼容不好
- 优点:播放流畅、低功耗,解码速度快,
- :用CPU来解码
- 优点:兼容好
* 缺点:加大CPU负担,耗电增加、没有硬解码流畅,解码速度相对慢
- 优点:兼容好
8.播放
- ijkplayer:一个基于FFmpeg的开源Android/iOS视频播放器
- API易于集成;
- 编译配置可裁剪,方便控制安装包大小;
- 支持硬件加速解码,更加省电
- 简单易用,指定拉流URL,自动解码播放.
9.聊天互动
- :(InstantMessaging)即时通讯:是一个实时通信系统,允许两人或多人使用网络实时的传递文字消息、文件、语音与视频交流.
- 在直播系统中的主要作用是实现观众与主播、观众与观众之间的文字互动.
* 第三方SDK *
- 在直播系统中的主要作用是实现观众与主播、观众与观众之间的文字互动.
- 腾讯云:腾讯提供的即时通讯SDK,可作为直播的聊天室
- 融云:一个比较常用的即时通讯SDK,可作为直播的聊天室
四、如何快速的开发一个完整的直播app
1、利用第三方直播SDK快速的开发
七牛云:七牛直播云是专为直播平台打造的全球化直播流服务和一站式实现SDK端到端直播场景的企业级直播云服务平台.
熊猫TV,龙珠TV等直播平台都是用的七牛云
网易视频云:基于专业的跨平台视频编解码技术和大规模视频内容分发网络,提供稳定流畅、低延时、高并发的实时音视频服务,可将视频直播无缝对接到自身App.
2、第三方SDK公司为什么要提供SDK给我们/h4>
- 希望把我们的产品和它绑在一条船上,更加的依赖它。
- 技术生钱,帮养一大批牛B的程序员
3、直播功能:自研还是使用第三方直播SDK开发/h4>
: 对于一个初创团队来讲,自研直播不管在技术门槛、CDN、带宽上都是有很大的门槛的,而且需要耗费大量的时间才能做出成品,不利于拉投资。
:公司直播平台大,从长远看,自研可以节省成本,技术成面比直接用SDK可控多了。
4.第三方SDK好处
- 降低成本
- 使用好的第三方企业服务,将不用再花高价请猎头去挖昂贵的大牛,也不用去安抚大牛们个性化的脾气
- 提升效率
- 第三方服务的专注与代码集成所带来的方便,所花费的时间可能仅仅是1-2个小时,节约近99%的时间,足够换取更多的时间去和竞争对手斗智斗勇,增加更大的成功可能性
- 降低风险
- 借助专业的第三方服务,由于它的快速、专业、稳定等特点,能够极大地加强产品的竞争能力(优质服务、研发速度等),缩短试错时间,必将是创业中保命的手段之一
- 专业的事,找专业的人来做
- 第三方服务最少是10-20人的团队专注地解决同一个问题,做同一件事情。第三方服务所带来的支持效果,绝不是通过1-2个人处理所能对比的,难道不是吗
转自 https://blog.csdn.net/lipengshiwo/article/details/52337572
来源:靑笺画卿颜
声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!