Web多媒体 | 青训营笔记

163 阅读2分钟

Web多媒体 | 青训营笔记

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

多媒体(Multimedia)指图片、声音、音乐、动画和视频。

现代的 web 浏览器支持多种多媒体格式。

什么是多媒体?

多媒体是我们可以看到和听到的一切:文本、书籍、图片、音乐、声音、CD、视频、DVD、档案、电影等等。

多媒体以多种方式存在。在因特网上,我们会发现很多被嵌入网页中的元素,并且今天的 Web 浏览器已支持多种多媒体格式。比如:

  • 点播
  • 直播
  • 图片
  • 实时通信
  • 云游戏
  • 视频编辑

浏览器支持

第一批因特网浏览器仅支持文本,甚至被限制为单一颜色的单一字体。

随后的 Web 浏览器支持色彩、字体以及文本样式,并增加了对图像的支持。

不同的浏览器对声音、动画以及视频的处理方式是各不相同的。某些元素被内联处理,某些要求插件,而某些则要求 ActiveX 控件。

多媒体格式

多媒体元素(比如声音或视频)被存储在媒体文件中。

识别媒介类型的最通用的方法是查看文件的扩展名。

当浏览器获知文件的后缀是 .htm 或者 .html,它将假定文件是 HTML 页面。.xml 后缀表示 XML 文件,而 .CSS 后缀表示样式表。

图像格式是通过 .gif 或 .jpeg 后缀来识别的。

多媒体元素同样拥有带有不同后缀的文件格式。

编码格式发展

  • 1999:MPEG-4
  • 2003:H.264
  • 2010:VP8
  • 2013:H.265,VP9
  • 2015:VP10
  • 2018:AV1

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

video 和 audio 元素方法:

  • play():开始播放音频/视频
  • paused():暂停当前播放
  • load():重新加载当前元素
  • canPlayType():检测浏览器是否能播放指定的类型
  • addTextTrack():向目标文件添加新的文本轨道
  • autoplay():设置或返回是否在加载完成后随即播放音频
  • controls():设置或返回是否显示控件

video 和 audio 元素的缺陷:

  • 不支持直接播放hls、flv等视频格式
  • 视频资源的请求和加载无法通过代码控制

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

  • 加密音视频播放
  • 自适应码率
  • 弹幕:无碰撞、交互弹幕、防挡人像。
  • 网页推流
  • 网页解码
  • 云游戏原理和特点:无需安装、对硬件要求第、低延迟、强兼容性要求。

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

  • 自主研发视频播放器
  • xgplayer开源
  • flv
  • hls
  • webrtc
  • 视频编辑
  • web heif
  • 加密视频
  • h265与防劫持
  • 交互视频
  • 云游戏