那么时至今日,直播的野蛮生长时期早已过去,大大小小的直播平台也在顺应政策的变化市场的需求生存,取而代之的短视频却有迎头大上之意。短视频+电商”、“短视频+知识问答”、“短视频+招聘”……在短视频系统开发野蛮生长的这两年时间里,除了独立的短视频媒体,“平台+短视频”的商业模式也快速崛起,各类玩家相继入局,不断探索“短视频+”的新玩法和新模式。除去产品内容、市场需求之外,短视频系统有哪些部分组成?今天分析一下短视频系统开发的疑难问题解决方案。
一个短视频系统开发应该有哪几部分组成呢?
第一个模块也是最重要的,是包括视频录制、剪辑、保存在内的视频生产功能。短视频APP势必需要为生产者表现其优秀的工具属性——让使用者以更低成本生产短视频;有视频生产就必须有视频消费,这也是短视频系统开发的第二个模块。这里的消费是指用户消费内容而非真正地花钱或送礼,我们期待的是用户点击某一个短视频,在看完短视频的内容后认为这是一个非常不错的作品并为其点赞、评论、分享甚至打赏,这个过程相当于消费者与视频的生产者产生了一定的关注关系,可以为让App具有社交属性;而在服务器端,包含运营后台(运营后台可以让内容运营人员会对视频内容进行标注、推荐从而有助于视频精准推荐与精品推荐)、人物画像,智能推荐系统用于分发Feed流、视频播放(从Feed流中跳转到一个短视频详情播放页面,其中的秒开与流畅程度依赖于CDN与播放器等组件的配合)、送礼打赏(包括消费与充值提现系统)、评论转发(短视频APP消费属性之体现,包括转发内容至第三方APP等,可有效提高内容以及用户转化率)。
Q:如何优化在短视频播放器中一边拖动进度条一边预览的卡顿状况?
A:在拖动到某个位置就解码出一帧或几帧并直接放至一个Buffer中,而在此之前我们集成了一个视频输出模块,此模块从队列中不断往外获取视频并进行展示。这样的话无论用户拖动多快播放器都可从队列中拿出用来展示的数据,队列中也就是存放3~4帧。之前我们进行开发实践时手机的性能还没有现在这么高,但在安卓平台上测试也没有什么卡顿。
Q:如何实现预加载ViewPager下一页视频?
A:这个取决于视频文件的存储格式。如果是以MP4存储那么并不易实现预加载,而如果使用HLS加载第一个分片则很容易实现。
Q:如何应对人脸识别+特效视觉情景下的丢帧问题?
A:人脸识别需要注意以下几点:第一点是需要将人脸识别基于异步线程进行开发而非预览线程。第二点是除非需要对人脸进行追踪,没有必要对每一帧视频进行人脸识别,我们可以规定两帧或三帧进行一次识别。第三点是为需要人脸识别的帧视频打上时间戳,这样当后续使用它时,对比当前时间戳跟检测出来的数据时间戳超过某一阈值即可判断非机主访问。