这是我参与「第四届青训营 」笔记创作活动的的第四天
一、web多媒体历史
二、基础知识
1、编码格式
1-1.图像概念:
①图像分辨率:用于确定组成一幅图像的像素数据,指水平和垂直方向上图像所具有的像素个数
②图像深度:图像深度指存储每个像素所需要的比特数。它决定了图像的每个像素可能的颜色数或可能的灰度级数。 (eg:RGB三个分量可以表示彩色图像每个像素,每个分量用8位,像素深度为24位,可以表示颜色数目为2的24次方,即16777216;一幅单色图像纯属每个像素需要8bit,则图像的像素深度为8位,最大灰度数目为2的8次方,即256个)
1-2.视频基本概念:
①分辨率:每一帧的图像分辨率
②帧率:视频单位时间内包含的视频帧的数量
③码率:指视频单位时间内传输的数据量,一般用kbps表示,即千位每秒
1-3.I帧、P帧、B帧、GOP(两个I帧之间的间隔)
1-4.冗余:
①空间冗余,②时间冗余,③编码冗余,④视觉冗余
编码数据处理流程: 预测(去除空间/时间冗余)--> 变换(去空间冗余) --> 量化(去视觉冗余) --> 熵编码(去编码冗余)
2、封装格式
封装格式:存储音视频,图片或字幕信息的一种容器
3、多媒体和扩展API
①video元素
②audio元素
③audio和video元素方法
④audio和video元素属性
⑤audio和video元素事件
⑥audio和video缺陷:
- 不存在直接播放hls,fiv等视频格式
- 视频资源的请求和加载无法通过代码控制 ①分段加载(节约流量) ②清晰度无缝切换 ③精确预加载
4、多媒体元素和扩展API
- 无插件在web端播放媒体
- 支持播放hls,fiv,MP4等格式视频
- 可实现视频分段加载,清晰度无缝切换自适应码率,精确预算加载等
- 创建mediaSource实例
- 创建指向mediaScource的URL
- 监听sourceopen事件
- 创建sourceBuffer
- 向sourceBuffer中加载数据
- 监听updateeend事件
5、多媒体元素和扩展API
①、mse播放流程:
②、播放器播放流程:
③、mp4和fmp4
6、流媒体协议
HLS(HTTP Live Streaming),基于HTTP的媒体流传输协议,用于实时音视频流的传输,目前广泛应用于视频点播和直播领域。
7、应用场景
Web多媒体:①视频编辑、②点播、③直播、④图片、⑤云游戏、⑥实时通信