音视频基础知识

一、颜色

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表示的数字信号的方式。

相关推荐
阿蒙Amon2 小时前
【Python小工具】使用 OpenCV 获取视频时长的详细指南
python·opencv·音视频
aqi004 小时前
FFmpeg开发笔记(七十一)使用国产的QPlayer2实现双播放器观看视频
android·ffmpeg·音视频·流媒体
正在走向自律6 小时前
第二章-AIGC入门-开启AIGC音频探索之旅:从入门到实践(6/36)
人工智能·aigc·音视频·语音识别·ai音乐·ai 音频·智能语音助手
美狐美颜sdk13 小时前
跨平台直播美颜SDK集成实录:Android/iOS如何适配贴纸功能
android·人工智能·ios·架构·音视频·美颜sdk·第三方美颜sdk
melonbo17 小时前
使用FFmpeg将H.264码流封装为MP4
ffmpeg·音视频·h.264
aqi0019 小时前
FFmpeg开发笔记(七十七)Android的开源音视频剪辑框架RxFFmpeg
android·ffmpeg·音视频·流媒体
慢行的骑兵21 小时前
Android音视频探索之旅 | CMake基础语法 && 创建支持Ffmpeg的Android项目
ffmpeg·音视频
Just_Paranoid21 小时前
华为云Flexus+DeepSeek征文|基于Dify构建音视频内容转录工作流
华为云·音视频·dify·maas·deepseek·flexusx
go54631584651 天前
修改Spatial-MLLM项目,使其专注于无人机航拍视频的空间理解
人工智能·算法·机器学习·架构·音视频·无人机
叹一曲当时只道是寻常1 天前
Softhub软件下载站实战开发(十):实现图片视频上传下载接口
golang·go·音视频