音视频一基础

基础
原文 https://mp.weixin.qq.com/s?__biz=MzU3NTA3MDU1OQ==&mid=2247484757&idx=1&sn=95f860dd70ad41dd99896802de646846&chksm=fd298d65ca5e0473c1594b0af2ee04415c614c6b50b70e440fb0e993dabf77b8f5a25f9f7846&scene=21#wechat_redirect

视频编码

视频编码指的是通过特定的压缩技术,将某个视频文件格式转换为另一种视频格式文件的方式。

  • M-JPEG 用jpeg压缩每一帧
  • MPEG 系列标准
    MPEG 标准主要有五个:MPEG-1、MPEG-2、MPEG-4、MPEG-7 及 MPEG-21 等,MPEG 标准的视频压缩编码技术主要利用了具有运动补偿的帧间压缩编码技术以减小时间冗余度,利用 DCT 技术以减小图像的空间冗余度,利用熵编码则在信息表示方面减小了统计冗余度。这几种技术的综合运用,大大增强了压缩性能。
  • 国际电联(ITU-T)的 H.261、H.263、H.264等
    H.264:显然264是前面几个的进阶版,H.264则是由两个组织 ISO 和 ITU-T 联合组建的联合视频组(JVT)共同制定的新数字视频编码标准,所以它既是 ITU-T 的H.264,又是 ISO/IEC 的 MPEG-4 高级视频编码(Advanced Video Coding,AVC)的第 10 部分,因此,不论是MPEG-4 AVC、MPEG-4 Part 10,还是 ISO/IEC 14496-10,都是指 H.264,H.264 是基于传统框架的混合编码系统,做了局部优化,注重编码效率和可靠性。H.264 在具有高压缩比的同时还拥有高质量流畅的图像,经过 H.264 压缩的视频数据,在网络传输过程中所需要的带宽更少,是目前压缩率最高的视频压缩标准

Android多媒体组件

Android 多媒体播放组件包含 MediaPlayer、MediaCodec、OMX 、StageFright、AudioTrack 等,具体如下:
MediaPlayer:为应用层提供的播放控制接口

MediaCodec:提供访问底层媒体编解码器的接口

OpenMAX :多媒体引擎,Open Media Acceleration,又缩写为 OMX,开放多媒体加速层,是一个多媒体应用程序标准,Android 主要的多媒体引擎StageFright 是透过 IBinder 使用 OpenMax,用于编解码处理。

StageFright:Android 2.2 开始引入用来替换预设的媒体播放引擎 OpenCORE,Stagefright 是位于 Native 层的媒体播放引擎,内置了基于软件的编解码器,且适用于热门媒体格式,其编解码功能是利用OpenMAX 框架,引入的是 OpenCORE 的 omx-component 部分,在 Android 中是以共享库的形式存在,对应 libstagefright.so。

AudioTrack:管理和播放单个音频资源,仅支持 PCM 流,如大多数的 WAV 格式的音频文件就是就是 PCM 流,这类音频文件支持 AudioTrack 直接进行播放。

第三方处理库

常见的多媒体框架及解决方案有 VLC 、 FFmpeg 、 GStream 等,具体如下:
VLC :即 Video LAN Client,是一款自由、开源的跨平台多媒体播放器及框架 。

FFmpeg:多媒体解决方案,不是多媒体框架,广泛用于音视频开发中。

GStreamer :一套构建流媒体应用的开源多媒体框架 。

视频特性

  • 帧率
    注意目前跟常见的是30fps,不是24fps,高的帧率可以得到更流畅、更逼真的动画,一般来说 30fps 就是可以接受的但是将性能提升至 60fps 则可以明显提升交互感和逼真感,但是一般来说超过 75fps 一般就不容易察觉到有明显的流畅度提升了,如果帧率超过屏幕刷新率只会浪费图形处理的能力,因为监视器不能以这么快的速度更新,这样超过刷新率的帧率就浪费掉了。

  • 分辨率
    视频分辨率是指视频成像产品所形成的图像大小或尺寸,常见的 1080P、4K 等有代表什么呢,P 本身的含义是逐行扫描,表示视频像素的总行数,1080P 表示总共有 1080 行的像素数,而 K 表示视频像素的总列数,4K 表示有 4000 列的像素数,通常来说,1080P 就是指 1080 x 1920 的分辨率,4 k 指 3840 x 2160 的分辨率。

  • 刷新率
    注意区分刷新率和帧率,刷新率是屏幕的,显然两者不同,最终效果取取决于两者之间的小的一个
    刷新率就是屏幕每秒画面被刷新的次数,刷新率分为垂直刷新率和水平刷新率,一般提到的刷新率通常指垂直刷新率,垂直刷新率表示屏幕的图象每秒钟重绘多少次,也就是每秒钟屏幕刷新的次数,以 Hz(赫兹)为单位,刷新率越高越好,图象就越稳定,图像显示就越自然清晰,对眼睛的影响也越小,刷新频率越低,图像闪烁和抖动的就越厉害,眼睛疲劳得就越快,一般来说,如能达到 80Hz 以上的刷新频率就可完全消除图像闪烁和抖动感,眼睛也不会太容易疲劳。

  • 颜色空间
    YUV:一种颜色编码方法,一般使用在在影像处理组件中,YUV 在对照片或视频编码时,考虑到人类的感知能力,允许降低色度的带宽,其中 Y 表示明亮度、U 表示色度、V 表示浓度,Y′UV、YUV、YCbCr、YPbPr 所指涉的范围,常有混淆或重叠的情况。从历史的演变来说,其中 YUV 和 Y’UV 通常用来编码电视的模拟信号,而 YCbCr 则是用来描述数字的影像信号,适合视频与图片压缩以及传输,例如 MPEG、JPEG,现在 YUV 通常已经在电脑系统上广泛使用。
    RGB:原色光模式,又称 RGB 颜色模型或红绿蓝颜色模型,是一种加色模型,将红(Red)、绿(Green)、[蓝(Blue)三原色的色光以不同的比例相加,以合成产生各种色彩光,目前的大多数显示器都采用 RGB 这种颜色标准。
    YUV 主要用于优化彩色视频信号的传输,使其向后相容老式黑白电视,与 RGB 视频信号传输相比,它最大的优点在于只需占用极少的带宽。

  • 码率
    码率,也就是比特率(Bit rate),指单位时间内传输或处理的比特的数量,单位为 bps(bit per second)也可表示为 b/s,比特率越高,单位时间传送的数据量(位数)越大,多媒体行业在指音频或视频在单位时间内的数据传输率时通常使用码率,单位是 kbps,一般来说,如果是 1M 的宽带,在网上只能看码流不超过 125kbps 的视频,超过 125kbps 的视频只能等视频缓冲才能顺利观看。
    码率一般分为固定码率和可变码率
    码率的高低与视频质量和文件提交成正比,但当码率超过一定数值后,对视频质量没有影响。

  • 采样率
    采样率,表示每秒从连续信号中提取并组成离散信号的采样个数,用赫兹(Hz)来表示,采样率是指将模拟信号转换成数字信号时的采样频率,人耳能听到的声音一般在 20Hz~20KHz 之间,根据采样定理,采样频率大于信号中最高频率的 2 倍时,采样之后的数字信号便能完整的反应真实信号,常见的采样率如下:
    8000 Hz:电话所用采样率, 对于人的说话已经足够
    11025 Hz:AM调幅广播所用采样率
    22050 Hz 和 24,000 Hz:FM调频广播所用采样率
    44100Hz:音频CD,常用于 MPEG-1 音频(VCD,SVCD,MP3)所用采样率
    47,250 Hz:商用 PCM 录音机所用采样率
    48,000 Hz:miniDV、数字电视、DVD、DAT、电影和专业音频所用的数字声音所用采样率
    CD 音乐的标准采样频率为 44.1KHz,这也是目前声卡与计算机作业间最常用的采样频率,目前比较盛行的蓝光的采样率就相当的高,达到了 192kHz。而目前的声卡,绝大多数都可以支持 44.1kHz、48kHz、96kHz,高端产品可支持 192kHz 甚至更高,总之,采样率越高,获得的声音文件质量越好,占用存储空间也就越大。

  • 量化精度
    简单的说,就是竖直方向的采样率
    声波在转换为数字信号的过程中不只有采样率影响原始声音的完整性,还有一个重要影响因素是量化精度,采样频率针对的是每秒钟所采样的数量,而量化精度则是对于声波的振幅进行切割,切割的数量是以最大振幅切成 2 的 n 次方计算,n 就是 bit 数,而 bit 数就是音频分辨率。
    另外,bit 的数目还决定了声波振幅的范围(即动态范围,最大音量与最小音量的差距),如果这个位数越大,则能够表示的数值越大,描述波形更精确,每一个 Bit 的数据可以记录约等于 6dB 动态的信号,一般来说,16Bit 可以提供最大 96dB 的动态范围(加高频颤动后 只有 92dB),据此可以推断出 20Bit 可以达到 120dB 的动态范围,动态范围大了,会有什么好处呢?动态范围是指系统的输出噪音功率和最大不失真音量功率的比值,这个值越大,则系统可以承受很高的动态。

  • 声道
    声道指声音在录制或播放时在不同空间位置采集或回放的相互独立的音频信号,所以声道数也就是声音录制时的音源数量或回放时相应的扬声器数量,应该是放到多个音轨上,常见声道有单声道、立体声道、4 声道、5.1 声道、7.1 声道等 ,具体如下:
    单声道:设置一个扬声器。

立体声道:把单声道一个扬声器扩展为左右对称的两个扬声器,声音在录制过程中被分配到两个独立的声道,从而达到了很好的声音定位效果,这种技术在音乐欣赏中显得尤为有用,听众可以清晰地分辨出各种乐器来自何方,从而使音乐更富想象力,更加接近临场感受。立体声技术广泛应用于自 Sound Blaster Pro 以后的大量声卡,成为了
影响深远的音频标准。

4 声道:4 声道环绕规定了 4 个发音点,分别是前左、前右、后左、后右,听众则被包围在中间,同时还建议增加一个低音音箱,以加强对低频信号的回放处理,这也就是如今 4.1 声道音箱系统广泛流行的原因,就整体效果而言,4 声道系统可以为听众带来来自多个不 同方向的声音环绕,可以获得身 临各种不同环境的昕觉感受,给用户以全新的体验。

5.1 声道:其实 5.1 声道系统来源于 4.1 声道系统,将环绕声道一分为二,分为左环绕和右环绕,中央位置增加重低音效果。

7.1 声道:7.1 声道系统在 5.1 声道系统的基础上又增加了中左和中右两个发音点,简单来说就是在听者的周围建立起一套前后相对平衡的声场,增加了 后中声场声道。

  • 区分采样率,帧率,刷新率,码率
    这个就是一个典型数据流程中的各个环节的指标,获取数据,存储数据,展示数据,处理数据
    采样率是指从原始信号源采样的频率,每秒采样多少次单位数据,帧率,是指存储的每秒存了多少单位数据,刷新率是指每秒展示多少单位数据,码率是指数据在各个流程中处理单位数据的频率,每秒处理多少个单位数据。
    最后展现出的效果当然是取决于各个指标中最小的一个

    帧率再高,显示器跟不上,刷新率低是不行的。

帧编码顺序相关,I帧、P帧、B帧、GOP、IDR 和PTS, DTS之间的关系

I帧 = 关键帧,只需要这一帧的数据就可以解码
P帧=prexxx,前向帧,需要结合前一帧的数据才能解码
B帧=between, biward?,双向帧,前一帧+后一帧的数据才能解码

GOP

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值