这是我参与「第四届青训营 」笔记创作活动的第5天
一、视频的基本元素
1.像素:是指在由一个数字序列表示的图像中的一个最小单位,称为像素,通常表现为一个小方格。每个像素有自己的颜色值,一般为 RGB 三原色来表示。
2. RGB 三原色:每种颜色都可用三个变量来表示-红色绿色以及蓝色的强度。记录及显示彩色图像时,RGB是最常见的一种方案。它们的取值,R、G、B分别从0到255,-共256个等级。
3. 分辨率:指的是纵横方向的像素数量,一般表示为:宽高(或长宽),720*1080等
4. 码率/比特率:表示单位时间内传送 bit 的数目,单位bps,表示是单位时间播放连续的媒体如压缩后的音视频的bit数量,也称为码流。 100Mbps越高的比特率,需要更高的带宽来支撑,否则会带来卡顿、成本等问题太低的比特率,可能会导致视频画面过度压缩,模糊不清
5. 帧:理解帧就是视频或者动画中的每一张画面,而视频和动画特效就是由无数张画面组合而成,每一张画面都是一帧。
6. 帧率:每秒传输帧数通俗来讲就是指动画或视频的画面数、帧率。每秒钟帧数越多,所显示的动作就会越流畅。 FPS 也可以理解为我们常说的“刷新率。
二、视频压缩
- 帧内 压缩也称为空间压缩 当压缩一帧图像时, 仅考虑本帧的数据而不考虑相邻帧之间的冗余信息,这实际上与静态图像压缩类似。帧内一般采用有损压缩算法,达不到很高的压缩比
直播推拉流协议
- CDN: 建立并覆盖在Internet 之上,由分布在不同区域的边缘节点服务器群组成的分布式网络。通过智能调度将用户请求到最接近用户的服务节点,降低用户访问延迟,提升可用性。
- 边缘节点:指在靠近用户的网络边缘侧构建的业务平台,提供存储、计算网络等资源,将部分关键业务应用下沉到接入网络边缘,以减少网络传输和多级转发带来的宽度和时延损耗
2.封装格式
(1) MP4
是指按照一定的规则,将视频数据、音频数据等放到一个文件中。 常见的 MKV、AVI 以及本文介绍的 MP4 等,都是封装格式。 - Moov:Movie Box,存储 mp4 的 metadata,一般位于mp4文件的开头。
- mvhd:Movie Header Box,mp4文件的整体信息,比如创建时间、文件时长等 trak:Track Box,一个mp4可以包含一个或多个轨道(比如视频轨道、音频轨道)
- Stbl:Sample Table Box
包含了这些媒体数据的索引以及时间信息
(2)FLV 是一个二进制文件,由文件头(FLV header)和很多tag组成。 taq又可以分成三类:audio.video.script,分别代表音频流,视频流,脚本流(关键字或者文件信息之类)
3. 拉流协议
HTTP-FLV
Flash Video(简称FLV),是一种网络视频格式,用作流媒体格式。
协议友好,格式简单,便于分发
不转码的情况下直接转发即可,延迟较低
4.推流协议
实时消息协议(英语:Real-Time Messaging Protocol,缩写RTMP)也称实时消息传输协议
是最初由 为通过互联网在Flash播放器与一个服务器之间传输
和数据而开发的一个专有协议。后被 Adobe 公司收购。
- 优势: 基于 tcp 协议 技术成熟,Ffmpeg 项目中有 rtmp库低延迟
- 劣势 停止更新 规范上没有支持 H265 使用 1935 端口,会被防火墙阴碍
今日学习总结
今天学习了组成视频的基本要素和不同帧率下的图像显示,今后我会常常复习,做好总结。
注:所有图片均来自课程PPT