音视频概念

  • 音频

    • 1、采样率

      • 是指在每个声道上的采样速率,而不是所有声道的采样速率
      • 例如:16000Hz 表示1s中在连续信号中采集16000次,每一次叫做一个采样点
    • 2、采样位宽(位数)

      • 例如:16bit 表示每一个采样点采集2个byte的数据,也就是2个字节
    • 3、声道

      • 常见的声道有单声道与立体声
      • 立体声有L,R两个声道组成,我们可以在L,R中分别填充相同的数据或者不同的数据,以达到更强的音质和可以同时在L,R听到不同的声音,排列顺序:L,R,L,R,L,R…
      • 声道通常只有一个L,或者R的数据,排列顺序为:L,L,L… R,R,R…
    • 4、音频数据大小计算

    • 例如:采样率为16kHz,采用位宽为16bit,单声道,在1分钟中采集数据的大小为多少?
    •   16000*2*60/1024/1024~=1.83MB
      
    • 5、PCM

      • 声音裸数据,量化格式
  • 视频

    • 1、帧率fps

      • 每秒显示的图像帧数,或者说图形处理器每秒更新的次数
      • 大于等于24fps 电影基本这个帧率
    • 2、码率:

      • 又称比特率,指每秒传送的比特(bit)数,音频也有码率
      • 单位:bps(Bit Per Second),bit单位太小,所以有kbps, Mbps, Gbps…
      • 音视频文件大小计算
        • 文件大小 = bps *dur (bits) /8 (字节数) /1024 (KB) / 1024 (MB)
        • 如时长4分钟,码率为128kpbs的MP3 ,size = 128460/(8*1024) = 3MB , 视频文件大小计算方式一样
    • 3、辨率

      • 8k: 7680×4320
      • 4k: 4096×2160
      • 2k: 2048×1080
      • 1080P: 1920×1080
    • 4、刷新率Hz

      • 垂直刷新率指的是屏幕上的图像每秒重绘的次数,刷新率越高,图像越稳定,越好点,对眼睛越好,不容易疲劳。75Hz以上不易觉察闪烁和抖动
    • 5、YUV颜色空间

      • 是一种颜色编码方法,对于视频帧的裸数据的表示方式,其主要应用于优化彩色视频信号的传输,向后兼容老式黑白电视机。
      • Y:明亮度,UV:色度、饱和度
      • 人对色度相对不敏感,所以视频编码时,会适当降低色度的宽带
  • 音视频几个码

    • 编码(encode)

      • 通过特定的压缩技术,将某个视频的视频流格式转换成另一种视频格式的视频流方式,一种减少字节的算法
      • 1、视频编码:YUV420/422->H264 RGB888->H264(针对图片序列,一张图片的编码是没有意义的)
      • 2、音频编码:PCM(原始)->AAC PCM(原始)->G726 PCM(原始)->G711
    • 解码(decode)

      • 通过特定的解压缩技术,将某个视频格式的视频流转换成另一种视频格式的视频流方式
      • 硬解:依靠硬件进行解码,通过显卡的视频加速功能对视频进行解码,可以理解为有一个专门的电路板来进行视频的解码工作,是依靠GPU,减少CPU消耗
      • 软解:不依赖专门的硬件解码模块,依靠cpu运算来进行解码,因为不是独立模块,所有的程序都在用cpu,所以会增加cpu的运算
    • 转码(transcode)

      • 视频转码技术将视频信号从一种格式转换成另一种格式
      • 视频转码
        • 1、分辨率切换
        • 2、改变帧率(frame rate)
        • 3、改变比特率 等编码参数
      • 音频转码
        • 1、采样率切换:输出和输出采样率发生变化时
        • 2、通道数改变
        • 3、位宽改变
  • 时间戳

    • PTS Decode TimeStamp: 解码时间戳
    • DTS Presentation Time Stamp: 显示时间戳
    • 由于IPB中B帧的存在导致下一帧被解码的时间会比显示的时间提前,导致PTS和DTS输出顺序不一致
  • 扫盲概念

    • 实时流:

      • Real Time stream 实时传输的音视频流
    • 录像回放:

      • 与实时流对应,录下来播放
    • *服务端:

      • 是为客户端服务的,像客户端提供资源,保存客户端数据。
      • 例如:摄像机记录的视频,可能多个ap查看,所以需要将视频保存到一个公共的地方供大家访问
    • 客户端:

      • 也可以称为用户端,与服务器相对应,为客户提供本地服务的程序。
    • 流媒体:

      • 下面这些都叫流媒体业务
      • 转发:

        • 将数据流传输到别的网络中
      • 存储:

        • 将数据存在本地
      • 转码:

    • 推模式:

      • 当通知消息来之时,把所有相关信息都通过参数的形式“推给”观察者。(服务端可客户端推流,如手机拍了视频,放到服务端)
    • 拉模式:

      • 当通知消息来之时,通知的函数不带任何相关的信息,而是要观察者主动去“拉”信息。(客户端直接从某个链接读取数据,如摄像机通过web拉流查看本地视频)
  • 音视频的流概念

    • ES流:

      • 原始流,直接从编码器出来的数据流。
    • PES流:

      • ES形成的分组称为PES分组,是用来传递ES的一种数据布局。
    • TS流:

      • ES形成的分组称为TS分组,是用来传递ES的种数据布局。
    • rtsp流:

      • RTSP(Real Time Streaming Protocol)
      • RFC2326,实时流传输协议,是TCP/IP协议体系中的一个 应用层协议。(摄像机通过web显示)
    • rtmp流:

      • Real Time Messaging Protocol (实时消息传输协议),是adobe公司的协议(网络直播)
    • hls流:

      • HLS 是Apple的动态码率自适应技术。主要用于PC和Apple终端的音视 频服务。包括一个 m3u8索引文件,TS媒体分片文件

封装(mux): 复用,按一定格式组织原视音视频流,加入文件头和文件尾

解封装(demux): 解复用,按一定格式解析出原始音视频流

猜你喜欢

转载自blog.csdn.net/weixin_37921201/article/details/114212806