小程序

简介

小程序优势:提供跨平台解决方案;降低开发成本;具有平台优势,适合推广;用户体验好

类似小程序的技术:

  • Cordova:通过webview渲染,通过插件调用系统服务
  • PWA:Service Worker和Push API
  • React Native/Weex:通过JSCore执行,通过Bridges和Native组件交互
  • Flutter:Dart直接与独立系统的UI库交互

微信小程序内部架构

双线程模型:分成渲染层和逻辑层;渲染层使用webview线程进行渲染,逻辑层采用JsCore线程执行JS代码,小程序的每个页面都有一个独立的webview渲染线程;渲染层与逻辑层通过Native进行通信,且网络请求也由Native进行转发。

生命周期:(如下图所示)
前端星计划Day5笔记

小程序的发展

  • 多端同构框架 eg:uni-app、Taro、KBone

  • 小程序自动化

  • 硬件框架

  • 云IDE(支付宝)

  • W3C小程序工作组提案

Web前端点播直播入门

视频存储

文件扩展名≈媒体封装格式;媒体封装格式≠音频编码格式

媒体文件内容包括:头信息、索引信息、视频数据、音频数据、附加增强数据

视频数据:

  • 显示器颜色呈现基于RGB颜色空间模型
  • 视频领域大多基于YUV颜色空间做抽样存储
  • 帧内预测&帧间预测复用进一步有效的压缩数据
  • P帧(向前预测真)、B帧(双向预测帧)、I帧(参考帧)
  • 视频编码器

音频数据:

  • 对连续声波采样,做数字化PCM存储
  • 扬声器将PCM(脉冲编码调制)数字信号转为模拟音频信号
  • 音频压缩基本算法:预测、变换
  • 音频编码器

传输协议

  • 流媒体(直播):
    • HLS:苹果利用现有的CDN设施而发明的“流媒体”协议
    • HTTP(S)-FLV:基于HTTP的流媒体协议
    • RTMP、RTP/RTSP、TS、MMS
  • 点播传输:HTTP(S)
  • Web端:HTTP(S)、WS(S)、P2P…

播放器原理

  1. 解协议(加载数据)
  2. 解封装(解复用)
  3. 解码
  4. 渲染

相关Web API

getUserMedia、MediaRecorder、MediaSource

点播与直播

  • 点播:创作者上传 => 转码 => 存储 <=> CDN分发 <=> 观众
  • 直播:创作者 => 推流 <=> 存储 <=> 转码 <=> CDN分发 <=> 观众

相关文章:

  • 2021-08-08
  • 2022-12-23
  • 2021-11-25
  • 2021-12-21
  • 2021-07-10
  • 2021-08-01
  • 2021-04-09
  • 2021-05-15
猜你喜欢
  • 2021-06-25
  • 2021-06-03
  • 2021-07-30
  • 2021-07-23
  • 2021-10-11
  • 2021-09-19
  • 2021-05-13
相关资源
相似解决方案