mp4(以主流的h.264编码做参考)相对于gif动画的优势主要是:
1,更大的色彩空间。
gif只支持8位,也就是256色。
2,支持p帧和b帧。
对于帧数较多的动画,mp4的压缩效率更高。
当然,mp4相对于gif也有一些不足:
1,目前还不支持alpha通道。
所以在一些需要透明度的应用场景,比如动画表情等,mp4还无法替代gif。
目前支持alpha通道的视频容器格式,主要是苹果的mov和谷歌的webm,而真正有希望彻底取代gif动画的,我觉得应该是webm。可惜webm推广不利。
2,由于mp4在作为流媒体加载时,需要先获取时间线等索引信息,因此需要向服务器发送两次请求,服务器要对两次请求做出不同状态的响应。因此在某些情况下,mp4的加载时间可能会比gif更长。而gif,只要浏览器支持,完全是一次请求,而且加载1帧就能播放1帧,不像mp4,因为并非每一帧都是完整帧,因此需要缓冲。