视频相关
编解码格式
AVC: H.264/AVC,H264 目前已经可以在各种web浏览器、客户端等进行解码播放,如常见的 .mp4、.mov 封装格式的视频。
HEVC: H.265/HEVC,H265目前还没有得到大部分浏览器的支持,没法直接在 web 端播放。
常见的 mp4、mov、flv、mov、mkv、avi 这些封装格式,可以理解为一个箱子,箱子里可以用来放视频的画面、声音、媒体信息和帧,等到播放的时候,软件会用正确的打开方式来打开这个视频,H264(视频压缩) + AAC(音频压缩)封装为FLV或MP4是最为流行的模式。
由于存在将其他文件改变后缀的行为,因此视频真正的压缩算法,需要从 medioinfo 中获取,在网页端中,它将被作为一个 wasm 加载,用于解析视频。
视频抽帧相关:一般在浏览器中,可以被原生浏览器播放的视频,可以通过 video 与 canvas 截取视频帧后上传,不过这种做法相对于封装好的 wasm 文件直接抽帧,速度要慢上不少,估计在20-30% 不等,同时 wasm 一般支持绝大多数格式视频,因此建议全程使用 wasm 来获取视频帧
关于字幕
SRT
是简单的纯文本字幕,无法使用其他高级功能如特效字体。
ASS
属于高级字幕,可以制作出华丽的特效字幕。
WebVTT
是网页中的字幕,可以在 html5 中,可以通过元素来加载额外的文字轨资源,目前处于草案阶段,但已被多数浏览器支持,早期版本是基于 srt 字幕的,在 2011 年改名为 WebVTT,与 srt 字幕格式非常相似。
1 | <video controls src="video.mp4"> |