1、一对一直播应用终端:
主要有:PC客户端、web网页、app(包含Android和iOS),以及基于微信生态下的公众号直播、小程序直播等。不同的应用终端用到的开发语言、开发框架、流媒体传输协议等都各不相同。随着5G时代的来临,PC的打开率将会越来越低,因此一对一直播app源码开发主要还是在于APP移动端。
2、一对一直播功能细节:
一对一直播app源码开发在功能层面上,主要取决于用户的平台运营内容和产品应用定位。常见的一对一视频直播交友平台主要功能是单独的直播版块、小视频版块、一对一视频或语音聊天版块、LBS附近功能版块、动态消息发布版块、用户个人中心版块等。当然,一对一直播app源码也可以通过二次开发,将平台打造成多元化、专业化的社交平台。至于直播间互动聊天实现层面上,聊天服务通常使用IM即时通讯以及socket,由于兼具了传统直播间互动的特点,因此主播和用户间的连麦是其核心。
3、一对一直播视频采集与编码:
视频采集可以有多重途径,比如通过电脑摄像头,通过OBS等录屏软件进行录屏,通过手机摄像头采集。由于目前户外直播和移动互联网很火,所以我们就选择实现在安卓设备上通过摄像头采集视频流。 为了实现这一功能,我们使用了一个开源项目javacv 它包含了一些在计算机视觉领域应用比较多的库,我们主要使用的是它的FFMpeg库。使用FFMpeg的FFMpegFrameRecoder类,我们能够方便地将从android摄像头采集到的帧传输到服务器。另外FFMpeg也支持H.264和AAC编码。
4、一对一直播直播流服务器:
关于直播服务器,我们选择使用我们中国人开发的一个开源项目——srs,它支持RTMP/HTTP/RTSP等协议的流输入,支持RTMP/HDS/HLS/HTTP等协议的流输出,同时它也支持集群。
关于srs的安装和使用可以直接看它在github上的wiki,这里不再赘述。需要注意的一点是该项目在centos 6.x 和ubunut12.x上能正常编译通过,但是在比如我使用的ubuntu14.04上会有一些依赖包的缺失。所以为了方便考虑的话,读者可以在centos和ubuntu12.x上进行test。
5、一对一直播播放器:
我们在试验的过程中,使用多种播放器和库在全平台实现了rtmp和hls的播放。在网页端使用了videojs,在安卓端使用vitamio。具体的实现请看我们的另外一篇如何在网页端和移动端播放rtmp和hls视频流。
6、一对一直播特效:
美颜特效不仅仅是一对一直播时用的到,很多主播拍摄上传个人小视频内容时,同样依赖美颜特效。自主开发美颜特效的话,很难达到理想中的运营效果,因此绝大多数直播平台项目的开发,都是借助于三方服务商提供的美颜SDK ,当然为了让直播和小视频更加有趣,动态贴纸和各类滤镜素材特效也是比不可少的。