现在视频集成采用了比较麻烦的方法,就是将所有主讲人的视频、音频保存到本地在合成。
问题:1.直接保存下载的视频、音频是无法直接用ffmpeg合成的,因为用直接用MediaRecorder记录的视频、音频数据是有问题的,视频没有播放进度条,音频如上个博客所说 时间为400+小时。所以要将保存下载的视频全部重新编码,然后再合成。
2.ffmpeg的方法是异步的,也就是说视频还没有全部完成编码就已经开始了合成,这个问题困扰了好长时间,从网上找了好多nodejs解决函数异步的方法都不适用,发现一个根本的原因:nodejs本身是非阻塞io,可以通过调用async来保证顺序执行,但是async里定义的函数必须是顺序执行的,这里从根本上就相驳了。
原文:https://www.cnblogs.com/ssyh/p/12445700.html