最近在做浏览器录屏功能,主要是录屏加上麦克风生成mp4视频,最终生成的是编码为 video/mp4;codecs=vp8 opus
的视频,音频编码因为是 opus 是无法在小程序正常播放的,这样就导致了视频没有声音。后来就在服务端做了一层转换,将音频的 opus 转为了 AAC 编码,这样在小程序端就可以正常播放了。转换是通过 FFmpeg 转换的,但是转换的时候因为视频编码为 vp8,转换为 AAL 就造成转换时间很长,所以需要设置为 video/mp4;codecs=h264 然后后端把数据转为 AAL 就行了。时间大幅度缩减了。
MediaRecorder(strem, {
mimeType: 'video/mp4;codecs=h264'
})
在chrome里面,音频编码默认就是 opus。如果设置为mimeType: 'video/mp4;codecs=h264 opus'
就会报错。只设置视频编码就好。如果你打印出来的blob数据不是这个编码格式也不用担心,将保存的视频文件放在工具里面查看就好。因为打印出来的是不对的。工具: mediainfo