概要
-
什么是Web多媒体技术
-
音视频基础知识
-
浏览器提供的原生多媒体能力
-
Web多媒体技术的发展和突破
-
总结与展望
一、什么是Web多媒体技术
web多媒体技术,分为以下几个方向
二、音视频基础知识
假设 8bit 表示一个子像素,清晰度1280 * 720,帧率 25fps,时长 60s
未压缩视频大小 = 8bit * 3 * 1280 * 720 * 25 * 60 = 3.9GB
压缩比 360 : 1
经过 H264 压缩后视频大小 = 11MB
视频编码解码过程
视频压缩
空间/帧内压缩:通过一定的算法,把视频信息冗余度给消除,可以压缩视频文件
时间/帧间压缩:只保存第一张图片信息,对于第二张图片,只保存和第一张图片之间的差异
编码格式发展
上面是,国际通用标准组织研发的编码器;下面是谷歌公司开发
容器封装格式
三、浏览器提供的原生多媒体能力
<video> 和 <audio> 元素
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>多媒体能力</title>
</head>
<body>
<video autoplay controls width="600" height="600">
<source src="video.mp4">
</video>
<audio controls>
<source src="audio.mp3">
</audio>
</body>
</html>
- 作用:请求音视频资源,然后对音视频资源进行解码,渲染播放
- 支持视频格式:mp4、mp3
方法
属性
事件
<video> 和 <audio> 元素 缺陷
-
不支持直接播放hls、flv等视频格式
-
视频资源的请求和加载无法通过代码控制
分段加载(节约流量)
清晰度无缝切换
精确预加载
主流视频网站使用 <video> 元素
MediaSource
- 扩展浏览器视频播放能力,支持视频分段加载(直接传入fmp4分片),替代Flash播放器
- 支持播放mp4(实现流式播放)、hls、flv等
- 可实现视频分段加载、清晰度无缝切换、自适应码率、精确预加载等
mp4视频文件结构
fmp4视频文件结构
使用 mse 实现 mp4 流式播放
四、Web多媒体技术的发展和突破
点播
加密音视频播放
自适应码率(ABR)
弹幕
- 无碰撞
- 交互弹幕
- 防挡人像
直播
软解:实现Web端播放 H.265 格式和国产浏览器防劫持
网页推流
图片解码
云游戏
云游戏原理和特点
- 无需安装、对硬件要求低
- 低延迟、强兼容性要求
五、总结与展望
字节跳动Web多媒体技术发展
W3C音视频技术新标准
- WebCodecs
- WebGPU
- WebVR、WebXR