短视频以视频短、生产流程简单、制作门槛低等特点在互联网所有的热门的焦点中脱颖而出,出现在公众的视野里。那么如何快速实现移动端短视频功能呢?
目前AppStore上有很多包含或者以短视频业务为主的APP,比较火山小视频、快手。
具有以下几个主要特性:
几个弊端:
另外市场上也兴起了短视频的另一类业务分支——视频采集和前处理,例如美拍、VUE、Alive。
特性:
1)视频来源的多样性。包括本地视频、网络视频、采集的视频等等视频来源。
2)完善系统的视频编辑。包括视频的裁剪、拼接、滤镜、混音、过渡、转码等。
4)良好的编辑体验。所有的编辑特效均可以达到“所见即所得”,可以直观的向用户展示编辑完成后的效果。
更偏重于工具类,因此也具有工具类通用的弊端:
1)无法长时间“粘住用户”
2) 所有技术均放在前端,容易被同类竞品替代
一个完整的短视频生态应该同时具备以上两类产品的业务侧重点。
1、视频获取。
移动端设备可以根据用户所需分辨率,进行视频采集,并以文件的形式进行保存。这部分业务在安卓和iOS平台上均可依靠相应平台接口,进行相应分辨率的数据的采集。
2、视频处理。
视频处理主要是视频的裁剪、滤镜、水印、拼接、过渡、混音等特效,一般使用ffmpeg来进行相应的效果处理,更深入的也可以使用某些系统自带的优化接口,或者使用图像处理的相应算法进行视频的效果实现。
3、视频上传。
主要是和视频服务平台进行交互,主要的问题就是要保证上传的速率,一般来说这些服务平台会根据用户位置来分配最近的服务节点,以保证上传速率。
4、视频服务平台
提供视频云处理服务。这里的处理主要包括提供视频的存储空间,为视频进行云端转码,视频信息的加密处理,视频下载和播放结点的优化选择等服务。其中存储和结点优化方面,可以结合自身情况在全国范围内布点,或者直接使用第三方运营的CDN,保证给用户提供最优的链路。
5、用户服务平台。
用户服务平台一般用来做视频信息的统计,一般对用户行为的预测算法都是在用户服务平台做,保证推送给用户的都是最新的视频。同时用户服务平台还需要向视频服务平台获取最优线路,保证用户的下载速率和在线观看的流畅度。
6、视频播放。
一般对于短视频来说,视频播放部分并不需要支持特别全面的视频格式,因为视频服务平台会将所有上传的视频进行统一的格式化转码,因此相对于传统的播放器来说短视频需要一种比较“轻量级”的视频播放器,仅需要支持mp4、flv等主流格式即可。
总体而言,短视频的业务相对是一个闭合的生态,因此比较容易和其他领域的业务进行交叉合作,并滋生出新的类型的app,如图所示的几个外延拓展业务例如社交、直播、IM等
如何快速打造短视频业务
从短视频的核心业务来看,短视频的开发需要比较专业的音视频开发人员进行开发,并且需要长时间的技术沉淀才能在同类竞品中脱颖而出。那么如何才能快速打造一个稳定的短视频业务线呢?
完成的业务如下图所示:
如图所示,sdk几乎完成了所有的短视频业务,
最后展示一下,我个人的短视频Demo,山寨了一下竞品UI,经过测试可以完全胜任目前市面的所有短视频业务需求,项目开发时长两周。
Android源码 https://github.com/starrtc/android-demo
ios源码https://github.com/starrtc/ios-demo