视频基础知识-1

1.什么是视频

视频是由一帧帧图像组成,如gif图片。一秒钟至少需要16帧画面(一般是30帧)才能不卡顿

假如该视频是一个1280x720分辨率的视频,那么不经过编码一秒钟的大小为:1280x720x60≈843.75M

2.什么是视频编码

采集的原始音视频信号体积都非常大,里面有很多相同的、眼看不到的、耳听不到的内容。为了减小体积便于存储、传输、交流,就有了压缩无用信息和不重要的信息的“压缩处理”,这就叫“编码”。

视频中存在很多冗余信息,比如图像相邻像素之间有较强的相关性,视频序列的相邻图像之间内容相似,人的视觉系统对某些细节不敏感等,对这部分冗余信息进行处理的过程就是视频编码。

这里要补充说明的是“为什么编码那么重要”。这主要是因为通过采集得到的原始的音视频大部分体积很大,按现有的带宽成本,直接不经过压缩而在网络上传输,一方面带宽成本会比较高,另一方面在播放终端的有限带宽上可能会影响播放质量,比如引起视频播放卡顿等。

同时现有的很多音视频的采集设备也带有一定的编码功能,然而不同场景中对于视频的播放效果会有不同要求,比如手机端,受限于终端的屏幕尺寸,当视频清晰度达到一定程度后,再继续提高视频的分辨率,人眼难以获取更高的体验;当视频清晰度继续增高,由于设备能力有限,可能会降低观看体验,比如花屏等。

3.编码流程

压缩?–去除冗余的信息

  • 空间冗余:图像相邻像素之间有较强的相关性(帧内预测)
  • 时间冗余:视频序列的相邻图像之间内容相似(帧间预测)
  • 视觉冗余:人的视觉系统对某些细节不敏感
  • 知识冗余:规律性的结构可由先验知识和背景知识得到
  • 编码冗余:不同像素值出现的概率不同

PS:预测法是最简单和实用的视频压缩方法,压缩编码后传输的并不是像素本身的取样幅值,而是该取样的预测值和实际值之差(就是传输差分值)。

4.编码的类型

  1. 编码的方式有两种
    1)编码冗余:不同像素值出现的概率不同
    2)软编码:使用CPU进行编码,软编码通常使用:ffmpeg+x264
  2. 相应的算法
    1)ffmpeg:是一套开源的、用于对音视频进行编码&解码&转化计算机程序
    2)x264:x264是一种免费的、开源的、具有更优秀算法的H.264/MPEG-4 AVC视频压缩编码方式
  3. 特点
    1)软编码:实现直接、简单,参数调整方便,升级易,但CPU负载重,性能较硬编码低
    2)硬编码:性能高,对CPU没有压力,但是对其他硬件要求较高(如GPU等)

【说明】
文章转自,华为云社区,作者Higeeon,相关版权解释权归原作者所有。https://bbs.huaweicloud.com/blogs/f01878c9fdca11e8bd5a7ca23e93a891

猜你喜欢

转载自blog.csdn.net/megary/article/details/89360414
今日推荐