视音频基础知识

来源:互联网 发布:炫踪网络李化亮 编辑:程序博客网 时间:2024/05/01 07:02

        时间过得好快,转眼半年就过去了,半年里感觉自己好像并没有学到太多的东西。主要是学习了雷宵骅老师的视频和殷文杰老师的视频,我之前完全没有接触过FFmpeg,而且都没有听说过,起初是听雷宵骅老师的视频,也是偶然间才知道他的遭遇,感觉很难过,只能说天妒英才,刚开始我有点无法接受这个消息,对我来说,他是我在FFmpeg方面的启蒙老师。雷宵骅老师的课程很基础,特别适合我们这些从来没有接触过FFmpeg的人学习,他是从最底层的知识讲起,包括FFmpeg的使用,以及平时会用到的一些工具,编解码的原理,都有给出。里面还涉及了SDL视频显示库的内容。 我在后面听殷文杰老师的课,项目的环境配置也都是按照雷宵骅老师的方法来配置的。殷文杰老师的课是很基础的使用FFmpeg编程的教程,逐语句的教大家编程,但是没有涉及太多原理上的东西。下面是我平时做的一些笔记,很凌乱,因为我也还没有学的很系统,以后如果有机会继续深入的学习,我会再做整理。(在这里给出雷宵骅老师的博客这部分的链接,博客里有对各方面知识更详细的介绍  http://blog.csdn.net/leixiaohua1020/article/details/15811977/)

      1、各种格式文件后缀名:

               封装格式:MP4、RMVB、TS、FLV、AVI

              视频编码数据:H.264、MPEG2、VC-1

              音频编码数据:AAC、MP3、AC-3

              视频像素数据:YUV420P、RGB

              音频采样数据:PCM

      2、视频播放流程:

                 

        3、MPEG-TS 封装格式和FLV封装格式:

                  (1)MPEG-TS 封装格式

                               

                                MPEG-TS 封装格式没有头,主要用于数字电视,可以从任意地方开始播放,即打开电视可以随时播放。TS Package的长度固定,为188字节。如果前面或者                   后面的单元破坏了,中间的可以正常播放。

                     (2)FLV封装格式

                             

                             有头部结构,有一个个的Tag单元组成,Tag单元的大小不固定。如果头部坏了整个文件便不可以在播放。

       4、H.264码流分析:

                   SODB(原始数据比特流)     RBSD(原始数据字节流)     NALU单元

                   SODB+RBSP trailing bits(RBSP尾部填充)=RBSP

                   NAL header+RBSP=NALU单元

                   start code prefix(起始编码前缀)+NALU=H.264

      5、RGB和YUV

           (1)RGB:  Red   Green   Blue  三色混合

                    存储方式:存储屏幕上每一个像素点的RGB信息,如下图

                                

            (2)YUV :  Y表示亮度信息   UV表示两个色度信息

                     存储方式:显存整个屏幕的Y信息,再存整个屏幕的U信息,最后存V信息。对UV色度信息压缩的更狠一些,UV的信息量在横轴和纵轴上都是Y的一半。

                   




0 0
原创粉丝点击