开发短视频APP的架构问题
2023-04-26 · 百度认证:重庆猪八戒网络有限公司官方账号
开发一款短视频app会遇到很多问题,比如架构问题:
1.如何上传
当手机拍摄好一段视频想要上传时,如果手机正处在较差的网络环境或是在网络使用的高峰期时,上传自然会慢很多,这时候就需要基于CDN动态加速来优化网络链路,同时对于比较大的视频需要做好分片上传,减少失败重传的成本和失败概率等来提升可用性。
2.如何存放
当数据达到一定的规模,存储容量就会面对一定的挑战。现在视频软件的容量大部分已经达到PB的规模了,这就要求存储本身能够具备比较强的线性扩展能力,并且有足够的资源冗余。传统的MYSQL比较难支持这个场景,往往借助于专用的分布式对象处理,通过自建的服务器或者云服务器来处理。
3.播放
视频文件占的内存也比较大,所以也容易受到网速的影响。为了避免卡顿,有一些小的细节就要去处理。比如对于60s,300s的视频,需要考虑到文件比较大,通常使用httprange的方式或者基于HLS的点播播放方式。HTTPRANGE可以比较简单粗暴的解决问题,基于HLS的点播播放方式会更友好,特别是一些5分钟以上的长视频,不过需要单独的转码支持。
其次是开发技术难点:
短视频拍摄及导入:svideo,recordVideo,等几大模块:
例如:模块,它封装了原版录像机的相关功能,通过本模块open接口可打开摄像头的frame,可通过相应参数配置其视频质量、保存路径、位置、大小等信息。开发者可通过open一个自定义界面的frame覆盖在本模块上来自定义录像界面。
短视频美颜滤镜SDK,为广大移动应用开发者提供免费、简单、快捷、稳定的接口,帮助开发者快速实现自有APP上的短视频应用开发。其中包含短视频拍摄、水印、拍摄码率等的自定义设置,并自带美颜滤镜功能。
我们的短视频开发系统不仅拥有上百款滤镜、能满足各种各样场景的需求,而且提供了磨皮算法,能满足市面上所有人脸的美颜滤镜SDK需求。此外,短视频美颜滤镜SDK还具有好玩的动态贴纸以及丰富的音乐特效,功能比肩一线短视频APP。
主要体现在以下几个方面:
一、功能点多,功能机制复杂短视频平台开发包含拍摄、编辑、合成三个重要组成部分。主要有6大功能点:断点拍摄、重拍(回删)功能、自定义音乐、动态贴纸功能、滤镜功能、水印功能。除此之外还有很多个小的功能点,直接涉及到用户的体验,例如短视频推荐功能,市面上运营级的短视频平台会有不同的内容推荐机制,在开发过程中难度还是比较大的。此外,短视频还分为Android端和iOS端,需要不同的前端开发人员来实现,不仅对技术要求高,而且开发成本也高。
二、短视频app涉及服务多短视频app的服务主要涉及到短视频采集、上传、云存储、云分发和播放五个方面。就拿其中的云存储来说,云存储是一个以数据存储和管理为核心的云计算系统。将视频数据放在云上,然后再经过云播放传送到客户端,算法涉及到的流程之多,范围之广,都是无法想象的。同时这些服务的构建较为复杂,对开发人员的技术有较高的要求,个人开发难度较大。
三、内容良莠不齐,智能鉴别功能开发要求高随着短视频平台的快速发展,很多人瞄准了直播平台,为了博取眼球,甚至有些用户会制作一些低俗色情的视频。所以,就需要加强对短视频内容进行审核。除了国家相关部门的监管,软件开发过程中的智能审核也更为重要。海量视频人工审核的话费时费力,视频AI可以智能识别出涉黄、涉黑、垃圾广告等数据,提高人工鉴别的速度和准确度。但机器鉴别难以完全脱离人工,更精确、智能的算法亟待开发。