首页 关于我们
  • 应用市场

    云市场

    在这里您可以买到业务发展
    所需的各类产品和服务,精
    选服务商,保障服务质量,支持
    先使用再购买,不满意随时
    退款。

    前往云市场

  • 新闻中心 六牛风采 荣誉资质

    直播间APP开发,架构设计决定直播能否稳定运行

    2021-02-23 | 浏览数:821

    直播间APP开发的架构设计对于直播来说,是决定直播能否稳定运行的因素之一。如果要做运营级的服务平台,需要采用分布式的架构方式,不仅包括各个功能模块的分布式部署,还包括各种应用服务器的分布式部署,从而实现更好的服务冗余备份、平台的健壮性和容错性、运营成本的有效控制,还有用户体验效果的提升。主要有以下两种架构方式:

    1.普通的直播架构

    相比其他的直播架构,这一架构可以说是非常简单的一种了。利用已有的CDN,然后再搭建一个信令服务器,就可以将服务层搭建完毕了。之后用户可以先向信令服务器发送指令,然后通过相机或摄像头采集音视频数据,经编码后通过RTMP协议将音视频流推送到CDN。

    接收端服务器发送指令后,获取音视频流名称,然后再从CDN中拉取音视频流,经解码后渲染在用户端屏幕。

    2.实时交互的直播架构

    这一找那个架构相对比较复杂,其中最主要的就是增加了自有网络。即客户端通过UDP进行数据传输,从而大幅度减少由于网络或者是CDN结构所导致的延时问题。这个架构下,都是通过UDP协议上传到自有网络服务器上,为了实现实时互动的效果,其他的用户也需要通过UDP来连接到自有网络。但是音视频数据上传到自有网络后,还需要通过专门的服务,将音视频数据流通过RTMP协议推到CDN上。这样一来,在直播中观看但是不参与互动的用户也可以从CDN获取音视频数据了。

    视频的编解码也是直播间APP开发不可忽视的点

    视频处理框架

    GPUImage: GPUImage是一个基于OpenGL ES的一个强大的图像/视频处理框架,封装好了各种滤镜同时也可以编写自定义的滤镜,其本身内置了多达120多种常见的滤镜效果。

    OpenGL:OpenGL(全写Open Graphics Library)是个定义了一个跨编程语言、跨平台的编程接口的规格,它用于三维图象(二维的亦可)。OpenGL是个专业的图形程序接口,是一个功能强大,调用方便的底层图形库。

    OpenGL ES:OpenGL ES (OpenGL for Embedded Systems) 是 OpenGL三维图形 API 的子集,针对手机、PDA和游戏主机等嵌入式设备而设计。

    视频编码框架

    FFmpeg :是一个跨平台的开源视频框架,能实现如视频编码,解码,转码,串流,播放等丰富的功能。其支持的视频格式以及播放协议非常丰富,几乎包含了所有音视频编解码、封装格式以及播放协议。

    Libswresample:可以对音频进行重采样,rematrixing以及转换采样格式等操作。

    Libavcodec:提供了一个通用的编解码框架,包含了许多视频,音频,字幕流 等编码/解码器。

    Libavformat:用于对视频进行封装/解封装。

    Libavutil:包含一些共用的函数,如随机数生成,数据结构,数学运算等。

    Libpostproc:用于进行视频的一些后期处理。

    Libswscale:用于视频图像缩放,颜色空间转换等。

    Libavfilter:提供滤镜功能。

    直播间APP开发,架构设计决定直播能否稳定运行,是在直播间APP开发之初就该考虑好的关键点,也是为后期运营打好基础,避免后期费时费力的维护。


    最新资讯

    立即咨询

    7*8小时在线客服

    为您提供全面的尊贵服务

    立即咨询

    营业执照
    鲁ICP备2023028511号-1