ffmpeg音视频基础知识
- 前言
- 一、图像的基础知识
- 二、视频编码基础知识
- 1.视频和图片之间的关系
- 2.为什么要编码?
- 3.什么是编码?
- 视频相关专业术语
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 前言
- 一、图像的基础知识
- 二、视频编码基础知识
- 1.视频和图片之间的关系
- 2.为什么要编码?
- 3.什么是编码?
- 视频相关专业术语
前言
最近楼主在用ffmpeg进行音视频的开发,但对于里面的音视频的基础知识不是很了解,自己上网查找资料进行了总结,方便大家学习
提示:以下是本篇文章正文内容,下面案例可供参考
一、图像的基础知识
我们平常看到的一张张的图片都是有一块一块带有颜色的块组成的。那么这些块我们称之为像素。像我们平时用的电脑,都会有1920*1080的分辨率,也就是说它是由长度1920个像素点,宽度1080的像素点组成的。它的乘机是2073600,相当于电脑屏幕上有两百多万的像素。同时呢,手机(或者显示器)上的屏幕上每英寸面积,像素越多,那么自然的,图片给人的感觉就更清晰,这个就是我们常说的PPI.
二、视频编码基础知识
1.视频和图片之间的关系
视频就是一张一张的图片连起来的画面。衡量它的指标就是我们常说的帧率(Frame Rate)。在视频中,一个帧是一副静止的画面。帧率,是秒的帧的数量,帧率越高,画面越流畅。打游戏时,大家要想玩的爽,肯定帧率要高。
2.为什么要编码?
首先,我们需要了解到的在没有编码之前,我们原始的视频是有多大呢?
以一个分辨率1920*1280,帧率30的视频为例:
共:1920×1280=2,073,600(像素),每个像素点是24bit 也就是:每幅图片2073600×24=49766400 bit,8 bit(位)=1 byte(字节)
所以:49766400bit=6220800byte≈6.22MB。
这是一幅1920×1280图片的原始大小,再乘以帧率30。
每秒视频的大小是186.6MB,每分钟大约是11GB,一部90分钟的电影,约是1000G
这因为如此,我们就要对视频编码,不然的话,一个电脑以2t的硬盘储存空间来算,也存不了几部电影。那你让磁盘里的小姐姐该怎么办呢。。。
3.什么是编码?
编码:就是按指定的方法,将信息从一种形式(格式),转换成另-种形式(格式)。视频编
码:就是将一种视频格式,转换成另一种视频格式。
我们先来看看,视频从录制到播放的整个过程,如下:
首先是视频采集。通常我们会使用摄像机、摄像头进行视频采集。采集了视频数据之后,就要进行模数转换,将模拟信号变成数字信号。其实现在很多都是摄像机(摄像头)直接输出数字信号。信号输出之后,还要进行预处理,将RGB信号变成YUV信号。
那什么是YUV信号呢?
简单来说,YUV就是另外一种颜色数字化表示方式。视频通信系统之所以要采用YUV,而不是RGB,主要是因为。在YUV这种方式里面,加入了亮度这一概念。在最近十年中,视频工程师发现,眼睛对于亮和暗的分辨要比对颜色的分辨更精细一些,也就是说,人眼对色度的敏感程度要低于对亮度的敏感程度。
所以,工程师认为,在我们的视频存储中,没有必要存储全部颜色信号。我们可以把更多带宽留给黑—白信号(被称作“亮度”),将稍少的带宽留给彩色信号(被称作“色度”)。于是,就有了YUV。
视频相关专业术语
(1)视频:
连续的图象变化每秒超过24帧(Frame)画面以上时,根据视觉暂留原理,人眼无法辨别单幅的静态画面,看上去是平滑连续的视觉效果,这样连续的画面叫做视频。
(2)帧(Frame):
是影像中常用的最小单位,相当于电影中胶片的每一格镜头,一帧就是一副静止的画面,连续的帧就形成了视频。
(3)帧速率(FPS):
每秒钟所传输图片的个数,也可以理解为处理器每秒刷新的次数,通常用FPS标识,当然帧数越高,画面也就越流畅。
(4)转码 :
指将一段多媒体包括音频、视频或者其他的内容从一种编码格式转换成为另外一种编码格式。
(原视频 – 解码 – 像素数据 – 编码 – 目标视频)
(原音频 – 解码 – 音频数据 – 编码 – 目标音频)
(5)视频编码:
讲到视频编码,大家可能都会问为什么视频要编码?
— 要知道,采集的原始音视频信号体积都非常大,里面有很多相同的、眼看不到的、耳听不到的内容,比如,如果视频不经过压缩编码的话,体积通常是非常大的,一部电影可能就要上百G的空间。
(6)视频解码:
有了编码,当然也需要有解码。
因为压缩(编码)过的内容无法直接使用,使用(观看)时必须解压缩,还原为原始的信号(比如视频中某个点的颜色等),这就是“解码“或者”解压缩“。
(7)采样频率:
指录音设备在一秒钟内对声音信号的采样次数,它用赫兹(Hz)来表示,比如44.1KHz采样率的声音就是要花费44000个数据点来描述1秒钟的声音波形。原则上采样率越高,声音质量越好。
(8)比特率(码率):
表示单位时间(1秒)内传送的比特数,一般我们用的单位是kbps,其英文是 Kilobits per second,意即“千位每秒”(根据发音亦译作“千比特每秒”),意思是说每过一秒钟,有多少千比特的数据流过,因此码率也经常被称为“比特率”。