APP制作过程
直播App开发的过程
第一步:分解直播App的功能,我们以X客为例
视频直播功能,这是一款直播App最主要的功能,要能支持视频直播RTMP推流,使画面传输流畅、清晰(美颜后的清晰,你懂的
聊天功能,用户之间的互动聊天,包括文字和表情(小粉丝间的小秘密
互动功能,用户与主播间的互动,点亮个灯,送一束花等等
支付&提现功能,用户用现金购买礼物送给心仪的主播,主播收到礼物后可再兑换成现金取出
视频回放功能,在直播的过程中同时录像,使得没看到直播的小粉丝也有机会再看
分享功能,将房间号分享到微信、微博、QQ等
第二步:寻找合适的云服务SDK进行嵌入,在APICloud的聚合API中可以轻易找到以上的功能模块,挑选合适的模块封装到自己的App中
视频直播功能有ytylive qupaiLive 亲加云等模块。 拿ytylive举例,此模块支持主流 RTMP 服务器 支持目前所有主流的 RTMP 服务器 (simple-rtmp-server、crtmpserver、FMS 等)。 支持所有的 RTMP 协议 支持所有 RTMP 协议及变种 (RTMP、RTMPT、RTMPE、RTMPS、RTMPTE、RTMPTS 等)。 性能强大 资源 (CPU/内存) 占用率低,使用硬件加速进行编码,压缩比例大,延时小。 支持实时滤镜 支持多种实时滤镜效果 (Gray、InvertColors、Sepia、Fisheye、Glow、GaussionBlur)。 而像亲加云模块共有4个,包括视频直播基础模块、视频直播模块、视频播放器模块和视频直播聊天室模块。 enter image description here
聊天文本/表情输入有chatbox,UIChatbox等模块。效果如下: enter image description here
及时通讯(互动功能):融云,环信等模块,也可以自己通过socketManager自己封装协议实现
支付提现:支付宝、ping++、微信支付、银联支付、现在支付等模块
视频回放:视频回放功能的实现其实是录像+存储到服务器中,因此使用APICloud的数据云功能,或是七牛云存储,又拍云等模块都可以实现
直播/主播分享:微信、新浪微博、QQ等平台分享模块
第三步:完成App开发5步骤 现在我们所有的模块已经挑选完毕,开发者按照之前和大家分享过App开发5步骤的内容就可以完成一款直播App的开发。这5步骤包括:
App框架搭建,在APICloud Studio中直接创建应用框架,有三个常用页面框架备选
积木式拼装,将所有你挑选好的模块,用JavaScript编写页面及模块调用,运用HTML5+CSS3搭建应用的界面UI,完成App编码全过程。
真机调试,通过模拟器和真机调试功能进行App优化,一键点击即可在iOS和Android手机中进行App优化。
云编译,在APICloud官网上传App的icon、启动页和证书,一键“云编译”即可同时生成iOS和Android的原生安装包。
云修复,使用云修复快速迭代,随时发布新版本、新功能,无需提交新的安装包。
做完以上这三个步骤,开发直播App的全过程也就结束了。估计大家还会考虑开发成本的问题,除去部分模块是收费之外,其他步骤都是免费的。况且,由于是积木式拼装的方式,开发时间会大幅缩短。(详情进入apicloud.com官网查询)
最后,小编再分享一些开发直播App的难点和细节。
在网络信号弱的情况下,需要保证视频质量。用户如果经常会发生信号不好需要缓存的情况,那么会大大降低用户体验。
直播画面的延迟情况。数据传输是按照客户端上传到服务器,服务器再下传到客户端的模式,数据越大尤其是高清视频画面,那么整体上传下载速度越慢,客户端显示出现延迟,用户会出现不停缓冲等状况,影响用户的使用。
页面交互动画。互动直播的内在就是主播与用户的一个互动过程。主流的直播APP通常会添加诸如送花、打赏等等,对于系统兼容性、直播APP运行速度以及流畅度都会造成一定的影响,甚至会出现BUG。
APP制作过程的更多相关文章
- 移动开发平台-应用之星app制作教程
目前在AppStore.GooglePlay等应用商店里已经有以百万计的Apps,应用程序使移动互联网空间得以无限拓展.很多人梦想着AngryBirds式的奇迹在自己身上发生,他们渴望自己开发的应用程 ...
- Android实训案例(九)——答题系统的思绪,自己设计一个题库的体验,一个思路清晰的答题软件制作过程
Android实训案例(九)--答题系统的思绪,自己设计一个题库的体验,一个思路清晰的答题软件制作过程 项目也是偷师的,决心研究一下数据库.所以写的还是很详细的,各位看官,耐着性子看完,实现结果不重要 ...
- [PCB制作] 1、记录一个简单的电路板的制作过程——四线二项步进电机驱动模块(L6219)
前言 现在,很多人手上都有一两个电子设备,但是却很少有人清楚其中比较关键的部分(PCB电路板)是如何制作出来的.我虽然懂点硬件,但是之前设计的简单系统都是自己在万能板上用导线自己焊接的(如下图左),复 ...
- 简单5步说清App软件在线开发、App制作多少钱?
开发制作一款App,所有人都会首先关心开发一款App多少钱这个问题.从网上的信息来看,花费个几十万是很正常的事情,甚至有人说要花上百万才能制作出一款App.那么App软件的开发制作到底和什么有关?怎么 ...
- 应用之星推出“图文app”制作工具,并附上教程
应用之星已推出的"图文"app制作工具,是高速制作图文电子书,图文杂志等一切有关图文资料的app生成工具,以下跟大家介绍"图文"制作教程,简单快捷,大致分三大步 ...
- rpt水晶报表制作过程
原文:rpt水晶报表制作过程 最近公司安排一个以前的项目,里面需要用到水晶报表,由于原来做这个项目的同事离职,所在公司的同事报表做成了rdlc类型的,而这类报表在加载的时候很难动态的从数据库加载数据, ...
- ionic构建APP--简单操作实现APP制作
ionic--基于AngularJS的app框架 1安装ionic .HBuilder创建APP项目,导入ionic的css,js(fonts)文件. .导入ionic.css和ionic.bundl ...
- ios app: 使用企业license设置发布app的过程
ios开发者证书与企业证书的内容,关系,以及ios app 使用企业license设置发布app的过程 iOS是一个非常封闭的系统.授权文件(.mobileprovision)和签名证书文件(.c ...
- Web app制作细节:web app互动制作技巧
Google .微软.苹果三大巨头紧锣密鼓地在web app的研发产品领域圈地设岗,并试图建立以自己为中心的”云“服务平台,企图在web app时代到来的时候充当霸主.本文将围绕web app的制作, ...
随机推荐
- linux安装mysql5.1.56
1.编译安装 > groupadd mysql #创建mysql组 > useradd -g mysql mysql #创建用户mysql并添加到mysql组中,这个用户主要是作为mysq ...
- Panel( 面板) 组件 上
一. 加载方式//class 加载方式<div class="easyui-panel" data-options="closable:true"titl ...
- OD: First Step
开始学习 0Day 了,前进了小小一步:<0Day 安全:软件漏洞分析艺术>第一篇末尾的 crack_me 实验成功了. 纪念一下. 几个概念: PE: Portable Execu ...
- (转)反射发送实战(-)InvokeMember
反射是.net中的高级功能之一,利用反射可以实现许多以前看来匪夷所思的功能,下面是我看了<Programming C#>(O'Reilly)之后对于反射的一点实践,本想直接做个应用程序来说 ...
- pch文件出现no such file or directory错误
一般出现这种情况是由于项目直接拷贝到其他电脑上运行... clang: error: no such file or directory: '/demo2/控件代码/13/Recorder/Recor ...
- MVC校验特性
1.前端引入3个脚本 ①jq脚本 ②jQuery.Validate.js ③jquery.validate.unobtrusive.js(异步验证) 2.后端加特性 在表对应的Mod ...
- 实例讲解MySQL联合查询
好了终于贴完了MySQL联合查询的内容了,加上上一篇一共2篇,都是我转载的,实例讲解MySQL联合查询.那下面就具体讲讲简单的JOIN的用法了.首先我们假设有2个表A和B,他们的表结构和字段分别为: ...
- HTML&CSS基础学习笔记1.24-input标签的单选与多选
单选和多选 单选框和多选框是用<input>标签来实现的. <input>标签的type属性值为"checkbox"时,表示多选框,为"radio ...
- HTML&CSS基础学习笔记1.20-DIV标签2
<span>标签 标签div把文档分割为独立的.不同的部分,而在HTML中,<span>标签则被用来组合文档中的行内元素. 看个实例: <!DOCTYPE html> ...
- Android学习笔记--AlertDialog应用
1. 自定义实现带图标的TextView IconTextView.java package com.evor.andtest; import android.content.Context; imp ...