Web多媒体入门|青训营笔记

46 阅读2分钟

这是我参与「第四届青训营 」笔记创作活动的的第四天

一、web多媒体历史

faec3046249cbe551934b8b4cc704d1.jpg

二、基础知识

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帧之间的间隔)

b5baa3259b961014e709b37d4e225fe.jpg

f2f859434272db4211f003bc5cfc66e.jpg

1-4.冗余:

①空间冗余,②时间冗余,③编码冗余,④视觉冗余

编码数据处理流程: 预测(去除空间/时间冗余)--> 变换(去空间冗余) --> 量化(去视觉冗余) --> 熵编码(去编码冗余)

2、封装格式

封装格式:存储音视频,图片或字幕信息的一种容器

3、多媒体和扩展API

①video元素

61bad0525af0a3fef3ddfa947e4bb49.jpg

②audio元素

e78406f532ccae1dfccff12a617c54c.jpg

③audio和video元素方法

9bc71278faf6b7625d5112b6eb762ce.jpg

503bfd519cb97bf18446e2b39c90690.jpg

④audio和video元素属性

efdf686c6e4e4d94f2b79c7269176f9.jpg

e071ef0a62340a7428be88d8b420603.jpg

⑤audio和video元素事件

0da079e945825a0a6c712b5dff13bfb.jpg

5b00d98ddcb6dd1c09a3ea702a0ebcd.jpg

⑥audio和video缺陷:

  • 不存在直接播放hls,fiv等视频格式
  • 视频资源的请求和加载无法通过代码控制 ①分段加载(节约流量) ②清晰度无缝切换 ③精确预加载

4、多媒体元素和扩展API

  • 无插件在web端播放媒体
  • 支持播放hls,fiv,MP4等格式视频
  • 可实现视频分段加载,清晰度无缝切换自适应码率,精确预算加载等

c5d082c74c789bcd8f4f3f1470b6e7b.jpg

  • 创建mediaSource实例
  • 创建指向mediaScource的URL
  • 监听sourceopen事件
  • 创建sourceBuffer
  • 向sourceBuffer中加载数据
  • 监听updateeend事件

f26a56da7432f125a9784a715122255.jpg

5、多媒体元素和扩展API

①、mse播放流程:

ef94541a05825c9134324e4d425c444.jpg

②、播放器播放流程:

f1e5803135abb00dbdc2965ff7af04a.jpg

③、mp4和fmp4

82e06407f30463db644d562ac4f9e8d.jpg

7f4cc299a12a7764364b84b912f2860.jpg

6、流媒体协议

HLS(HTTP Live Streaming),基于HTTP的媒体流传输协议,用于实时音视频流的传输,目前广泛应用于视频点播和直播领域。

193aa48157f148a0983812d3f3ada50.jpg

cc6d1c515a1cf16fe906716a21abaa7.jpg

5a30f093e7659c2ee2fb4ebe0b02324.jpg

c19d86eebbe32809f9fb4b4c28f84a7.jpg

7、应用场景

Web多媒体:①视频编辑、②点播、③直播、④图片、⑤云游戏、⑥实时通信