【青训营】- Web 多媒体技术

914 阅读2分钟

概要

  1. 什么是Web多媒体技术

  2. 音视频基础知识

  3. 浏览器提供的原生多媒体能力

  4. Web多媒体技术的发展和突破

  5. 总结与展望

一、什么是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等
  • 可实现视频分段加载、清晰度无缝切换、自适应码率、精确预加载等

MediaSource

mp4视频文件结构

mp4视频文件结构

fmp4视频文件结构fmp4视频文件结构

使用 mse 实现 mp4 流式播放使用mse实现mp4流式播放

四、Web多媒体技术的发展和突破

点播

加密音视频播放

加密音视频播放

自适应码率(ABR)

自适应码率

弹幕

  • 无碰撞
  • 交互弹幕
  • 防挡人像

弹幕

直播

软解:实现Web端播放 H.265 格式和国产浏览器防劫持

软解

网页推流

网页推流

图片解码图片解码

云游戏

云游戏原理和特点

  • 无需安装、对硬件要求低
  • 低延迟、强兼容性要求

云游戏

五、总结与展望

字节跳动Web多媒体技术发展

技术发展

W3C音视频技术新标准

  • WebCodecs
  • WebGPU
  • WebVR、WebXR