码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Web多媒体 | 青训营笔记


    Web多媒体 | 青训营笔记

    • Web多媒体 | 青训营笔记
      • 什么是多媒体?
      • 浏览器支持
      • 多媒体格式
      • 编码格式发展
      • 浏览器提供的原生多媒体能力
      • Web多媒体技术的发展和突破
      • 字节跳动Web多媒体技术发展

    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与防劫持
    • 交互视频
    • 云游戏
  • 相关阅读:
    JavaScript的变量和数据类型介绍、JavaScript的关系运算、JavaScript的逻辑运算
    自动驾驶学习笔记(十一)——高精地图
    [贪心算法]Leetcode738. 单调递增的数字
    秋招第二周面试经验
    《富爸爸财务自由之路》阅读笔记
    mybatis的简单使用
    C++/QT + Mysql + Tcp 企业协作管理系统
    NLP经典论文研读--transformer-XL论文源码难点记录
    SkeyeGisMap地图扩展(四) 添加动态目标
    计算机视觉图像处理面试笔试题整理——图像配准和图像拼接
  • 原文地址:https://blog.csdn.net/ProgramNovice/article/details/126444667
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号