视频采集以及播放的流程

视频直播的流程可以分为如下几步: 
采集 —>处理—>编码和封装—>推流到服务器—>服务器流分发—>解协议->解封装->解码视音频>视音频同步

一、采集

  1.音频采集:主要通过设备将环境中的模拟信号采集成 PCM 编码的原始数据,然后编码压缩成 MP3 等格式的数据分发出去。常见的音频压缩格式有:MP3AAC,HE-AAC,Opus,FLACVorbis (Ogg),Speex 和 AMR等

        2.图像采集 :图像的采集过程主要由摄像头等设备拍摄成 YUV 编码的原始数据,然后经过编码压缩成 H.264 等格式的数据分发出去。常见的视频封装格式有:MP4、3GP、AVI、MKV、WMV、MPG、VOB、FLV、SWF、MOV、RMVB 和 WebM 等。 

二、视频处理

  分为音频和视频处理,音频处理中具体包含混音、降噪和声音特效等处理,视频处理中包含美颜、水印、以及各种自定义滤镜等处理。

三、编码和封装

  1.编码的意义:原始视频数据占用存储空间很大,通过编码压缩形式来使存储空间变小

  2.编码的核心:就是去除冗余信息

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

  3.编码器的选择

   下面是一些常见的视频编码器: 
   1)H.264/AVC 
           2)HEVC/H.265 
           3)VP8 
           4)VP9 
           5)FFmpeg 
           注:音频编码器有Mp3, AAC等。

  4.封装 

    封装的含义:封装就是媒体的容器

    下面是几种常见的封装格式: 
    1)AVI 格式(后缀为 .avi) 
    2)DV-AVI 格式(后缀为 .avi) 
    3)QuickTime File Format 格式(后缀为 .mov) 
    4)MPEG 格式(文件后缀可以是 .mpg .mpeg .mpe .dat .vob .asf .3gp .mp4等) 
    5)WMV 格式(后缀为.wmv .asf) 
    6)Real Video 格式(后缀为 .rm .rmvb) 
    7)Flash Video 格式(后缀为 .flv) 
    8)Matroska 格式(后缀为 .mkv) 
    9)MPEG2-TS 格式 (后缀为 .ts) 

目前,我们在流媒体传输,尤其是直播中主要采用的就是 FLV 和 MPEG2-TS 格式,分别用于 RTMP/HTTP-FLV 和 HLS 协议。

四、推流到服务器

五、服务器流分发

六、解协议

七、解封装

  含义:将输入的封装格式的数据,分离成为音频流压缩编码数据和视频流压缩编码数据

  封装格式种类很多,例如MP4,MKV,RMVB,TS,FLV,AVI。例如,FLV格式的数据,经过解封装操作后,输出H.264编码的视频码流和AAC编码的音频码流。

八、解码视音频

  含义:就是将视频/音频压缩编码数据,解码成为非压缩的视频/音频原始数据

  视频的原始数据是YUV420或者是RGB,音频的原始数据是PCM

九、视音频同步

       同步解码出来的视频和音频数据,并将视频音频数据送至系统的显卡和声卡播放出来。

猜你喜欢

转载自www.cnblogs.com/liunx1109/p/9217580.html
今日推荐