本周工作思考
uShow的录制流程完成的开发用了7,8天时间,复用了AI视频作业的部分模块,在现有的录制,预览图生成,图片上传,播放器等组件的基础上做了适当的调整和开发全新的流程。在现有的业务拆出需要的组件,需要整体熟悉里面的功能细节,另外保存流程和AI视频完全不同,都花费了较多的时间。
在目前的Web端音视频处理这块,目前主要技术是Device, Video,Canvas,Audio,AudioContext,Image,MediaStream,MediaRecorder基本都是几大对象之间的处理,Video和Canvas之间的数据是可以流通的,中间的数据处理就给了我们很大的技术空间,比如摄像头的视频流经过video画到canvas,就可以用逐帧的操作,实现AI,视觉,编解码的处理,AudioContext的各种声音处理可以经过MediaStream合成到视频中,我觉得难点在于掌握这些对象用法的细节。因为领域专业性比较强,在应用上需要和前度结合,在设计复用度较高的组件,以及音视频应用的架构设计都需要有深刻的理解,特别是音视频应用的设计,不能用前端的开发模式和设计思路,比如,AudioContext的节点图设计模式,多媒体设计的经典模式DirectShow的图架构设计,FFmpeg的插件设计都和前端日常用到的设计思路差异比较大,开发过程需要特别注意着点。