一、直播原理:
1、 直播模型:
主播端:主播推流端涉及到采集数据、前处理、编码,
观众端:观众端涉及到的环节是解码和渲染,
服务端:在这两个端之间建立起传输通道的则是服务端,它负责接收主播端的推流,将其处理之后分发给观众播放端。
2, 音视频处理流程:
数据采集→数据编码→数据传输(流媒体服务器) →解码数据→播放显示
3, 应用场景:
PC推流+PC直播、移动观看、微信直播、App直播,涉及的技术有视频编码解码、客户端开发、大规模直播流分发、产品前端开发等。
二、直播系统主要功能:
1、音视频:
影音:点击可上传、打开、删除音乐和视频,可以用作直播前的暖场,支持H264编码的任意格式音视频(flv、mp4、avi、wmv等)。
多媒体:教师可开启、关闭摄像头和麦克风,调节摄像头、麦克风音量大小。
音视频直播:这是主要的功能,要支持视频直播PTMP推流,确保画面传输流畅,音质清晰、视频高清。
2、多格式文档:
支持word、ppt、pdf等多格式文档的上传、打开、删除、分享功能;
3、白板:
三分屏模式下,用于显示上传的文档(即要直播的内容),并要求主播端和观看端都可查看当前页码和同步进行翻页 ;
4、笔色:
支持多种颜色,供主播端的主播做直播演示和笔记、标记的作用。
5、桌面共享:
主播端打开桌面共享后,直播端的桌面会被共享到直播间,观看端可实时观看到主播端桌面的操作。
6、计时:
可看到直播时长,要求只能主播端进行关闭,观看端无权关闭直播。
7.在线讨论:用户之间的互动聊天,包括声音、文字、表情等;
8、直播互动:用户与主播间的互动;
9.支付功能:在线支付;
10.视频回放:系统在直播过程的同时,自动录制直播过程,并存储到云服务器端;

三、开发步骤:
1、框架搭建:在AS中创建应用框架,一般有三个作为选择;
2、积木式拼装:用JS编写页面及模块调用、H5C3搭建应用界面、及完成编码过程;
3、调试优化:通过模拟器、真机调试进行优化;
4、生成安装包:如app直播,则需要生成安装包,采用云编译可一建生成ios和Android的原声安装包;
5、云修复:用云修复快速迭代,随时发布新版本、新功能、无需提交新的安装包。
