短视频平台框架搭建

     科技发展,技术进步,音视频异军突起。无视频,不网络,短视频成为最重要的信息载体之一,是互联网核心组成部分。构建高效的短视频平台,是慎之又慎的问题。从架构的角度,探讨短视频平台的构建与技术选型问题。从以下几点进行介绍。

1、云平台层构建

     短视频平台数据量以PB、EB来计算,未来几年将以ZB和YB来计算。大的数据量,需要云平台。最好构建独立的云,降低成本,可开发性、可扩展性、可维护性较高。目前国内大型短视频平台都是自建云。

     云的选型,平台面向形形色色的人群,选择SAAS平台,用户不关心技术问题,只进行操作即可,平台本身提供完善的服务,目前国内大型短视频平台都是自建SAAS平台。

      SAAS平台构建要考虑如下内容,网络连接、存储、服务、虚拟化、操作系统、中间件、运行环境、数据、应用程序等。

      构建SAAS平台,在OpenStack和Docker选型上,不是超大型SAAS平台,建议选择Docker。Docker维护难度较低。下图是Docker和OpenStack对比。

 

       OpenStack在底层开发上有很大优越性,但OpenStack需要更多的技术投入和强大的底层运维能力,版本差别导致运维有很大差异。不是大投入平台,不推荐使用OpenStack。

       Docker相对OpenStack,轻量级很多,门槛较低,使用性和可维护性都很高,提供了更多上层服务。

 

       云平台业务层,采用Kubernetes。k8s已经主导了云业务流程,推动了微服务架构等热门技术在云上的普及和落地。k8s提出了基于容器技术的全新分布式架构方案,在容器技术领域的发展是一个重大突破与创新,具有重要的意义。

2、数据生态层构建

       云平台是基础,是视频数据的载体。在视频数据背后,存在更多服务数据与应用数据,对数据的应用和分析是短视频平台的重要功能。

       Hadoop与Spark是目前主流大数据分析应用平台,云平台基础上,进行大数据生态层的搭建。Haoop负责数据存储,Spark进行内存级数据运算。

 

       Hadoop通过集群式存储,Spark进行内存级计算,K8s进行整体资源调度。三者相互配合,构建三位一体的数据生态层。

3、框架层构建

     通过框架层,设置可靠、安全、可定制的功能服务。实现程序的模块性,加大程序的维护性和扩展性。

     框架分类:组件部分、直播部分、计算部分、安全部分、监控运维部分、配置部分等。依据层级关系,分类进行建设。

     框架服务包含用户服务和视频服务。主要模块有关系服务、搜索服务、推荐服务、敏感词过滤、存储服务、视频处理服务、AI服务、直播服务、转码服务、推流拉流等。

     短视频平台,必须有音视频效特效功能。视频特效是专业级高难度技术。涉及到音视频编程和人工智能技术。视频特效主要通过第三方SDK进行实现。视频特效模块,是框架层最重要的模块之一。

    美摄科技长期致力于广电领域的软件研发,在非线性编辑方面有多年的研发经验。为了适应互联网视频的发展,美摄科技互联网视频业务线致力于底层开发,为广大软件公司提供音视频编辑的SDK,使广大程序员在没有音视频技术的背景下,快速高效的开发出高质量的音视频程序。

      美摄科技致力于底层研发,把音视频开发中繁杂的信号处理、硬件处理、数据变换进行封装,使广大开发人员采用美摄SDK开发过程中,避免与底层的接触。从而使其它技术开发的软件人员,高效的开发出专业级的高性能视频软件。

4、业务层

     今天,互联互通已经成为现实,未来将有更大发展。每时每刻几十万级的请求。业务层必须保证高并发需求,短视频平台必须是一个高并发平台。

     Spring Cloud是一系列框架的有序集合。Spring Boot巧妙地简化了分布式系统的开发,做到一键启动和部署。包含简单易用、易部署、易维护的分布式系统开发工具包。

     Nginx是一个轻量级、高性能、稳定性强、并发性好的反向代理服务器。具有反向代理、负载均衡、动静分离的功能。

     Kafka是分布式发布-订阅消息系统,是一个可划分、冗余备份的持久性日志服务。处理活跃的流式数据,负责短视频平台数据流消息通讯。

     redis纯内存操作,拥有高效数据处理能力,是数据高速访问的利器。采用了非阻塞I/O多路复用机制,保证数据的实时应用。

     CDN接入服务,中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。

     推流拉流是短视频平台必须的功能,通过服务协议进行,包括HTTP + FLV、RTMP、HLS、DASH、RTC协议类型。

5、应用层

     短视频平台属于高流量平台,客户端包含电脑端和手机端。电脑端应用层分为Web实现和应用程序实现,手机端应用通过App进行实现。App又可分为Android App和IOS App。

 

     Web层方便电脑用户应用,也为App请求提供服务。Web层功能实现主要靠业务层提供支持。

     Web层技术选型主要是动态语言和JS框架。JS框架的选型,没有特别要求。动态语言建议采用PHP,相对灵活,较快上手,目前市场上应用较多。

     客户端应用程序通过盒子技术来实现,建议对Chrome进行封装。相比IE,Chrome有更底层操作。

     App在整个平台的末端。视频特效的实现,主要通过App客户端完成。程序员调用视频特效SDK,进行各种特效的实现。对应App的开发,技术选型成熟固定,本文不再阐述。

     特效功能的实现,往往通过调用第三方SDK来实现。音视频特效功能关系到App开发的成败。

    美摄SDK是一个工具包,对图片、音视频进行处理。可以对流媒体进行编辑。包括视频拍摄、编辑、合成、特效、动画等音视频制作。帮助程序开发者快速进行音视频、图片渲染处理。快速开发出高性能的音视频程序。符合互联网时代音视频发展应用的需求。

    美摄SDK以opengles为基础,在2D/3D、FFMPEG、H.264、H.265、计算机图形学等基础上,对媒体流进行渲染。以C++为处理语言,形成核心类库。核心库为:libNvStreamingSdkCore.so。该类库可以在android、iphone、MAC、windows、Linux上应用。

      美摄SDK功能包括:视频录制、视频编辑、音乐编辑、字幕处理、动画贴纸、转场、特效、合成等。

 

6、总结

       短视频平台具有大数据、高并发、智能性的特点,系统建设相对复杂,技术选型与平台架构,是短视频平台建设的第一步。

       特效让音视频有更好的表现张力,是短视频平台建设的核心技术指标,关系到平台建设的成败。特效开发一直是一个比较专业的领域,相比常规信息应用系统开发,流媒体开发规范多、专业性强,往往通过SDK进行实现。对短视频SDK的选择,是一个必须考虑的问题。

 

猜你喜欢

转载自blog.csdn.net/qq_33277028/article/details/109489879