音视频基础知识

一、颜色

1、反射

我们日常所见的不发光物体,它们都是靠反光才能让我们眼镜观察到,白色的不发光物体可以反射一切光,黑色则吸收一切光,因此不发光物体是由组成它材料的吸光性来决定的,但是计算机或者是电视屏幕等等,它们本身就是发光体,因此在数字显示的世界里,它们一般使用RGB色彩空间。

2、图像的颜色存储

在计算机中,每一幅图像往往都是一个二维矩形块,存储单位是像素点。比如一个640800大小的图片,就是横向有640个像素的,纵向有800个像素点,一共有640 800也就是512000个像素点。如果是RGB的色彩图像,每个颜色分量称为一个通道(channel)通常每个像素的每种颜色用1字节(8位)表示。为了描述图像透明的性质,又在像素上增加了一个表示透明度的分离 "Alpha" 通道。

注意:因为不同的计算机体系结构(大端小端的问题),为了数据互通,因此出现了多种不同的存储方式,例如 RGBA、ARGB 、BGRA 、ABGR等等。

二、图像

1、分辨率

显示器上横向和纵向的像素点的数量就称为显示器的分辨率,一般以宽X高表示,比如常见的1080p(1920*1080),其中p指的是逐行扫描,而1080i指的是隔行扫描。所以完整扫描一个画面并展示在显示器上是由图像的高度(行数)来决定的。这也是为什么通常称1080p或者720p的由来。

2、帧率

帧率(FPS,Frame Per Seconds)即1秒内展示的帧数。

3、视频编码

为了降低存储空间和传输带宽的占用,一般使用视频压缩技术。

  • JPEG
    人眼并不是对所有颜色都敏感,因此可以去掉一些颜色,对图像进行压缩,这个称为有损压缩。
  • H.264、H.265、VP8、 AVI等
    根据相邻帧之间的画面差异性进行压缩,即I帧、P帧、B帧。

4、YUV

需要编解码的视频图像一般不适用RGB色彩空间,而是采用YUV色彩空间,两者之间有直接的对应关系,但是由于涉及到浮点运算,因此转换过程是有损失的,但是人眼几乎是分辨不出来的。

三、声音

为了将现实的音频放到数字世界里,需要一个模数转换(ADC),也运用到了傅里叶变换。

1、PCM

模数转换中通常使用PCM(脉冲编码调制)方法,它是一种通常的将模拟信号转换成0或1表示的数字信号的方式。

相关推荐
aqi003 小时前
FFmpeg开发笔记(九十一)基于Kotlin的Android直播开源框架RootEncoder
android·ffmpeg·kotlin·音视频·直播·流媒体
柳鲲鹏14 小时前
OpenCV:文件视频防抖,python版
python·opencv·音视频
柳鲲鹏15 小时前
OpenCV:实时视频防抖,python版(改进连续帧处理)
音视频
qq_310658511 天前
webrtc代码走读(十七)-音频QOS-NetEQ
服务器·网络·c++·音视频·webrtc
weixin_462446231 天前
Python 使用 FFmpeg 给视频添加内嵌字幕(SRT)完整教程(含代码示例)
python·ffmpeg·音视频
txp玩Linux2 天前
rk3568上解析webrtc音频降噪算法处理流程
算法·音视频·webrtc
浅笑离愁12342 天前
VI视频输入模块学习
linux·音视频
EasyDSS2 天前
视频推拉流平台EasyDSS平台如何赋能无人机推流直播新纪元
音视频·无人机
nvd112 天前
niri 音频图形界面工具
前端·chrome·音视频
lqj_本人2 天前
鸿蒙Qt音频实战:解决QMediaPlayer的高延迟与杂音问题
qt·音视频·harmonyos