这是我参与「第四届青训营 」笔记创作活动的的第10天
1、Web多媒体历史
Flash ,1994年开始-2020,后来走下坡路,ios不支持flash
2、基础知识
01、编码格式
图像基本概念
视频基本概念
I帧、P帧、B帧
I帧又称帧内编码帧,是一种自带全部信息的独立帧,无需参考其他图像便可独立进行解码
P帧又称帧间预测编码帧,需要参考前面的I帧或者P帧才能进行编码
B帧又称双向预测编码帧,也就是B帧记录的是本帧与前后帧的差别
GOP
为什么要编码?
如果不压缩,这个视频的大小太大了
可以分为几类
空间冗余、时间冗余、编码冗余、视觉冗余
编码数据处理流程
预测分为帧内预测和帧间预测,I帧即帧内预测
02、封装格式
封装格式是什么
封装格式:存储音视频、图片或者字幕信息的一种容器
便于存储和传输
常见的封装格式
03、多媒体元素和扩展API
主要依赖video audio MSE
video audio 标签
<audio>和<video> 元素 缺陷
- 不支持直接播放hls,flv等视频格式
- 视频资源的请求和加载无法通过代码控制
- 分段加载(节约流量)
- 清晰度无缝切换
- 精确预加载
媒体源扩展API
- MSE播放流程
-
播放器播放流程
mp4和fmp4
04、流媒体协议
常用的一般是前三个
HLS全称是 HTTP Live Streaming,是一个由Apple公司提出的基于HTTP的媒体流传输协议,用于实时音视频流的传输。目前HLS协议被广泛应用与视频点播和直播领域。
3、应用场景
基本分为这几类
点播现在应用的也比较多,现在很多视频网站如爱奇艺基本都是点播,流程是视频上传到服务器,服务器进行转码,转成不同码率的码流,然后再进行分码到cdn
直播和点播差不多,要求实时性比较高
图片用img标签就可以
云游戏相当于一个端,手机端给出命令,程序运行在远端,再传回到前端,对延迟的要求比较高
实时通信,现在常用场景就是视频会议
视频编辑,以前是在本地进行视频编辑,现在在web也可以进行视频编辑
4、总结和展望
这节课先讲了web多媒体的历史,主要分为三个阶段,从flash->H5->MSE。然后讲了编码格式,为什么要编码,还有编码格式的过程,封装格式,多媒体元素,流媒体协议,最后讲了应用场景,有什么作用,以及提出了新技术标准,在web多媒体入门学习过程中提供了较为明确的学习路线,帮助大家更好的学习。