短视频所面临的架构问题
短视频相比于文本数据而言,有着一些差异:
1.数据大小的差异。
比如一条美拍,经过视频压缩和清晰度的权衡,10s的视频大小1MB多,而一条5分钟视频的美拍甚至要达到几十M,相比与几十字节或者几百字节的文本要大得多。因为数据量要大得多,所以也会面临一些问题:如何上传、如何存放、以及如何播放的问题。
关于上传,要在手机上传这么一个视频,特别是弱网环境要上传这么一个文件,上传的成功率会比较低,晚高峰的时候,省际网络的拥塞情况下,要更为明显得多。所以针对上传,需要基于CDN走动态加速来优化网络链路(通过基调实测过对于提升稳定性和速度有一定帮助),同时对于比较大的视频需要做好分片上传,减少失败重传的成本和失败概率等来提升可用性。同时不同CDN厂商的链路状况在不同的运营商不同地区可能表现不一,所以也需要结合基调测试,选择一些比较适合自己的CDN厂商链路。
同时因为数据相对比较大,当数据量达到一定规模,存储容量会面临一些挑战,目前美拍的视频容量级别也达到PB级别的规模,所以要求存储本身能够具备比较强的线性扩展能力,并且有足够的资源冗余,而传统的Mysql等数据库比较难来支持这个场景,所以往往借助于专用的分布式对象存储,通过自建的服务或者云存储服务能够解决,得益于近几年云存储的发展,目前美拍主要还是使用云存储服务来解决。自身的分布式对象存储主要用于解决一些内部场景,比如对于数据隐私性和安全性要求比较高的场景。
关于对于播放,因为文件比较大,也容易受到网络的影响,所以为了规避卡顿,一些细节也需要处理。比如对于60s,300s的视频,需要考虑到文件比较大,同时有拖动的需求,所以一般使用http range的方式,或者基于HLS的点播播放方式,基于前者比较简单粗暴,不过基于播放器的机制,也能够满足需求,也能实现点播拖动。而直接基于HLS的方式会更友好,特别是更长的一些视频,比如5分钟甚至更大的视频,不过这种需要单独的转码支持。之前美拍主要是短视频为主,所以更多使用http range的方式。而后续随着5分钟或者更大视频的场景,也在逐步做一些尝试。同时对于播放而言,在弱化环境下,可能也会面临一些问题,比如播放时长卡顿的问题,这种一般通过网络链路优化;或者通过多码率的

自适应优化,比如多路转码,然后根据特定算法模型量化用户网络情况进行选码率,网络差的用低码率的方式。
2.数据的格式标准差异
相比与文本数据,短视频本身是二进制数据,有比较固定的编码标准,比如H.264、H.265等,有着比较固定和通用的一些格式标准。
3.数据的处理需求
视频本身能够承载的信息比较多,所以会面临有大量的数据处理需求,比如水印、帧缩略图、转码等,以及短视频鉴黄等。而视频处理的操作是非常慢的,会带来巨大的资源开销。
美拍对于视频的处理,主要分为两块:客户端处理,视频处理尽量往客户端靠,利用现有强大的手机处理性能来规避减少服务器压力,同时这也会面临一些低端机型的处理效率问题,不过特别低端的机型用于上传美拍本身比较少数,所以问题不算明显。客户端主要是对于视频的效果叠加、人脸识别和各种美颜美化算法的处理,我们这边客户端有实验室团队,在专门做这种效果算法的优化工作。同时客户端处理还会增加一些必要的转码和水印的视频处理。目前客户端的视频编解码方式,会有软编码和硬编码的方式,软编码主要是兼容性比较好,编码效果好些,不过缺点就是能耗高且慢些。而硬编码借助于显卡等,能够得到比较低的能耗并且更快,不过兼容和效果要差一些,特别是对于一些低配的机型。所以目前往往采用结合的方式。服务端的处理,主要是进行视频的一些审核转码工作,也有一些抽帧生成截图的工作等,目前使用ffmpeg进行一些处理。服务端本身需要考虑的一些点,就是因为资源消耗比较高,所以需要机器数会多,所以在服务端做的视频处理操作,会尽量控制在一个合理的范围。同时因为可能美拍这种场景,也会遇到这些热点事件的突变峰值,所以转码服务集群本身需要具备可弹性伸缩和异步化消峰机制,以便来适应这种突增请求的场景。

  1. 审核问题
    视频内容本身可以有任意多样的表现形式,所以也是一个涉黄涉恐的多发地带,而这是一个无法规避掉的需求,因为没有处理好,可能分分钟被封站。审核的最大的问题,主要是会面临视频时长过长,会带来人力审核成本的提升。比如100万个视频,每个平均是30s的话,那么就3000W 秒,大概需要347人日。

通过技术手段可以做一些工作,比如:接入一些比较好的第三方的视频识别模块,如果能够过滤掉85%保证没有问题的视频的话,那么工作量会缩减到15%。不过之前在接入使用的时候,发现效果没有达到预期,目前也在逐步尝试些其他方案。通过抽帧的方式,比如只抽取某几帧的方式进行检查。通过转码的方式,比如一个60s的美拍视频,通过2倍速的方式,无声,140 * 140的分辨率转换,大概大小能够在650kB左右,这样加速了播放的过程的同时,还能够减少审核带宽的消耗,减少了下载过程。基于大数据分析,分析一些高危地带、用户画像等,然后通过一些黑名单进行一些处理,或者对于某些潜在高危用户进行完整视频的审核,而对于低危用户进行抽帧的方式等等。

短视频APP源码直播APP源码什么样的好相关推荐

  1. 知识付费短视频小程序教育直播APP定制开发

    现在比较流行的是双师模式和翻转课堂,双师模式重在课上教和学,即提升了名师的教学效率,也保证了学生的学习过程和效果.翻转课堂重在课外的教和学,提倡重新调整课堂内外的时间,将学习的决定权从教师转移给学生, ...

  2. 基于ThinkPHP5框架开发的付费短视频魅思V20系统+APP源码+H5源码

    源码介绍 基于ThinkPHP5框架开发的付费短视频 魅思V20系统+APP源码+H5源码,支持三级分销功能,含有APP源码.H5源码,采用国内最流行的ThinkPHP5框架开发. 主要功能如下: 1 ...

  3. 强大的装逼,表白,炫富,恶搞短视频制作神器微信小程序源码支持多种流量主

    大家好给大家带来一款强大的微信小程序源码 该源码是属于制作短视频类型的 支持一键制作成各种短视频,比如装逼,表白,炫富,恶搞-..等等 里面拥有各种各样的模板,和抖音一键制作视频一个道理 另外里面小编 ...

  4. 短视频询盘获客系统/源码搭建

    今天我们就来说说短视频查询及获客系统.这个系统已经运行了将近两年.短视频查询及获客系统的源头企业北京易汇通科技有限公司,已成功为全国200多个频道搭建并运营短视频查询及获客系统. 短查询客户获取系统源 ...

  5. PHP短视频聚合无水印在线解析源码

    PHP短视频聚合无水印在线解析源码,一键解析,方便快捷 接口是作者那边的API,不保证时效性! 有技术的朋友可以更换成自己的,将复制的分享链接粘贴到输入框即可进行解析. 链接: https://pan ...

  6. 互动直播系统源码 直播系统源码

    互动直播系统源码 直播系统源码 系统功能 一. 直播带货 二. 推荐奖励 三. 付费开通带货权限 四. 直播连麦PK 五. 房间类型 六. 美颜特效 七. 弹幕消息 八. 幸运大转盘 九. 主播守护 ...

  7. 【短视频剪辑】爱剪辑APP手机版SVIP破解版永久使用软件下载

    随着移动端的发展,手机已经是我们日常生活中离不开的东西了,进而也催生了一系列手机APP,特别是近年来的短视频app尤其火爆,大家都爱拍自己的小视频然后剪辑上传到抖音.快手.皮皮虾等短视频平台. 爱剪辑 ...

  8. 新内容、新交互、新增长:视频云为短视频及电商直播行业高效赋能

    简介:阿里云国际云峰会重磅发布 在 6 月 8 日举行的 2021 阿里云国际云峰会(2021 ALIBABA CLOUD SUMMIT)上,阿里云发布了直播解决方案等 20 多种产品.解决方案以及升 ...

  9. 长虹美菱:公司主要通过抖音短视频等平台进行直播带货

    [TechWeb]5月17日,直播带货已经成为了一种风潮,尤其是在疫情期间,各大品牌的CEO纷纷亲自带货,董明珠更是在抖音.快手和京东等平台现身,为格力呐喊造势.日前,针对股友的关于直播带货的提问,长 ...

  10. WANLSHOP 直播短视频种草多用户电商系统源码自营+多商户+多终端(H5+小程序+APP)

    WANLSHOP高级版 可用于自营+外包项目(多主体). 可用于外包定制开发项目. 提供开源源码,私有化部署.一款基于 FastAdmin + Uni-APP 开发的 多终端(H5移动端.APP.微信 ...

最新文章

  1. 中国针状焦行业运营模式与投资风险评估报告2022-2028年
  2. SAP 常用业务数据表设计
  3. 信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言—— 1041:奇偶数判断
  4. For in + 定时器
  5. 微软2013年笔试题详解及深入
  6. Eureka服务注册源码分析
  7. [译] Vue: scoped 样式与 CSS Module 对比
  8. OpenGL基础21:材质
  9. Linux上层应用--Shell scripts基础规范
  10. 综合布线系统入门及应用(一)
  11. Verilog入门2-用ise做38译码器和仿真
  12. CF卡镜像备份及恢复系统
  13. DBCP连接池配置优化分析
  14. 当时光匆匆才知道梦想遥不可及
  15. su   sudo 命令
  16. MFC设置窗体背景图片的办法
  17. 01旭锋集团运营平台v2项目概述
  18. Swift_代码混淆
  19. 股价大跌、现金流承压,工业富联风光不再?
  20. python 打开电脑摄像头

热门文章

  1. 使用JAVA连接MySQL,储存歌曲,图片,影片文件
  2. R语言-关键节点问题-方案四-K-shell分解法
  3. Pyecharts直角坐标系图:散点图
  4. 关于less的一些方法
  5. 第 14 章 指针三剑客之二:树
  6. 供应链金融的反向保理优势与局限性
  7. Qt编写控件属性设计器4-加载属性
  8. 扇贝编程python学习笔记-基础篇8
  9. 千千静听解决mp3乱码问题
  10. 客户端对象模型之列表数据导出到Excel