【趣味连载】攻城狮上传视频与普通人上传视频:序

前言

我想写一个简单的系列文章。主题很简单,就是记录下面对上传视频需求时,攻城狮和普通人(泛指全部非技术人员)的一些区别。固然,从需求分析到最终完整实现,每一个步骤都是有干货。我会尽可能避免一些偏情绪化的表述。更多的时候,咱们应该把注意力集中在各个需求点自己的技术实现上。数据库

这个系列的主要目的,就是秀一下咱们做为攻城狮的优越感;不过,我总以为咱们秀完,他们可能也不知道究竟发生了什么事。另外,更重要的是,这个系列文章展现了从需求分析到技术选项,一直到最终的自动化上传,自动化测试的完整思考核实践的过程。我以为,对于攻城狮来讲,后者多是咱们更须要交流和关注的。服务器

我会适当替换一些敏感的代码细节。即便如此,我仍然努力会保证,通过适当配置后,全部代码都是能够正常运行的。ide

背景简介

大概是上周一左右吧,临时被安排去给一个内部项目新上传大约 100 个新的视频资源。要的还很急,说是周三就要作好。好吧,当时我就知道,那一周确定会过的很“酸爽”。由于那个项目能够认为是没有管理后台的,数据是要直接上传到数据库。意思就是我要手动编辑视频相关的资料数据。还有就是,我拿到的第一手数据,也不是什么结构化数据,而是一个 word 表格,和一个分散在多个文件夹下的视频资源。测试

更“可怕”的是,我同时还被指派成了这个项目的 ”Owner“。“Owner”,就意味着,我毫不能像他们上次那样,继续手动传视频了。成本过高,并且数据容易混乱。上一次,我只是做为一个协做者,写了几行项目相关的代码,帮他们简单设计了一个数据库表,也没想太多,够用就性。毕竟当时时间也很是紧,许多东西也是没办法尽善尽美的。ui

原来只有约20个视频,都是交给“普通人”上传的。流程大概就是:视频拷贝给普通人 --> 普通人上传完视频 --> 邮件发出来视频url和视频标题 --> 我手动把数据录进数据库。中间,往返沟通了几回,好比视频尺寸不对了,视频不能播放了,标题和视频不对应了。。。真正的往返沟通,要比多不少,可是视频数量少,整体来看倒也无伤大雅。url

可是此次是大概100个视频。就算是只录入数据,差很少也得1个小时了,若是再手一抖,录错了。。。更可怕的是,我成了项目的 Owner,之后这种事,都得我直接处理。跨部门沟通,真的成本很高,或者说我太懒了吧,懒得一遍遍去别人工位催人家。因此,我就暗暗发誓,这件事必须完全解决。此次我要把包括视频相关的数据,从生成到上传,到自动化验证,彻底自动化,智能化。虽然这100个视频,时间上不会有太多变化,可是之后,再多的视频,最多也就是输入几行命令,敲几下键盘,就能够自动搞定了。如此,这个Owner,才能作的舒心。固然,它是一个很小的内部项目,我也是真的不想再让它之后占用我太多时间了。设计

更新规划

若是没有意外的话,本周三到周五晚上,天天一更;周末会适当多写点。视频

(一)生成结构化数据

讲述的是,数据如何从普通的 word 文档数据,变成最终可被程序化处理的过程。是的,你没看错,大部人“普通人”是用 Word 来传递数据的。好处就是人人都能看的懂;可是人人都能看懂的东西,攻城狮反倒无法直接用。事件

(二)批量验证语义分析功能

项目对接了微软拿到 Luis 语义识别系统。原来是手动逐条验证每一个问题和答案是否能匹配上。如今,必须写个简单的脚原本自动化验证了。资源

(三)批量导入数据

就是如何把数据处理成数据库须要的格式,自动导入数据库。由于是内部项目,项目自己没有提供数据编辑功能,因此我就采用最简单的策略,每次数据有变化时,就所有删除旧数据,从新批量导入新数据。新数据,确定是从原始数据,自动生成的。手动输入,真的很容易出问题。

(四)批量导入视频

就是如何把视频批量自动上传到七牛服务器。确定是一个自动化脚本,可能你们都会写。可是,小技巧每每解决大问题!晚上睡了一觉,次日起来看到全部视频都上传完了,真的是很开心的事。

(五)批量验证视频上传是否成功

视频是否上传成功,确定须要单独验证的。只是上传脚本不能说明必定都上传成功了,须要单独验证下。

(六)验证视频可否真正播放

这一步很关键。项目主要在 iPad 上用,因此须要验证每一个视频在 iPad 上可否自动播放。iPad 上,用 HTML5 Video 播放视频时,对视频格式有一些要求,因此每一个视频都要验证下。原来,就那几个,手动点下就好了。如今,确定不能再那样了。因而写了一个简答的测试网页,经过捕捉 Video 的一些事件,来实现自动化批量验证视频可否真正播放。

相关文章
相关标签/搜索