音视频开发必备基本基础知识(1)_音视频开发需要学习哪些知识-程序员宅基地

技术标签: 音视频  

最近收到了朋友邮寄过来的一本书,刚拿回来就趁机学习了一波音视频开发的知识。现就音视频开发的一些基本知识做一个总结。如下:

1.视频编码

通过特定的压缩技术,将视频格式文件转换成另一种视频格式文件的方法。

视频编码主要分为2个系列,分别如下:

MPEG系列:ISO下属的MPEG,VCD(MPEG1),DVD(MPEG2)等

H.26X系列:ITU(国际电传视讯联盟),侧重网络传输。

2.音频编码

AAC:专为声音数据设计的文件压缩格式。有损压缩格式

MP3:是一种音频压缩技术。只保留能听到的低频部分。

AC3:有损音频编码格式,环绕声系统由5个全频域声道和1个超低音声道组成,称为5.1声道。

3.多媒体播放组件

Android多媒体:

MediaPlayer:播放控制

MediaCodec:音视频编解码

OMX:多媒体的编解码标准

StageFright:主要做了一层OMX层,以共享库.so形式存在,其中的module播放音视频。

AudioTrack:音频播放

IOS多媒体:

VideoToolBox:底层框架,提供对硬件编码器和解码器的直接访问。提供视频压缩和解压缩服务。

AudioToolBox:这个框架将比较短的声音注册到System Sound服务上,必须满足以下3个条件。

        (1)播放时间不能超过30s。

        (2)数据必须是PCM或者IMA4流格式。

        (3)必须被打包成3种格式之一:.caf,.wav,.aiff。

AVPlayer:可用来播放音频和视频。使用时,导入AVFoundation.framework框架,引入.h头文件。

4.常见的多媒体框架及解决方案:

VLC:Video LAN Client,是一种自由、开源的跨平台多媒体播放器及框架。

FFmpeg:多媒体解决方案。不是框架。

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

专业术语:

帧率:显示帧数的量度,简称fps。表示图形处理器处理时每秒能够更新的次数。

分辨率:视频成像产品所形成的图像大小或尺寸。

刷新率:屏幕每秒画面被刷新的次数,分为垂直和水平刷新率。刷新率高,图像稳定,清晰。

编码格式:编码的目的是压缩数据量。2种格式:MPEG,H.26X。

封装格式:编码后封装到一个容器。封装格式:MKV、AVI、TS等。

码率:也就是比特率。单位时间播放连续的媒体的比特数量。文件大小=码率*时长。

画质:视频质量与码率、编码算法都有关系。

DTS:读入内存中的比特流何时送入解码器解码。

PTS:度量解码后的视频帧何时被显示出来。

YUV:Y代表亮度、UV代表色差。

RGB:R红、G绿、B蓝相互叠加得到各种颜色。

量化精度:将模拟信号分为多少个等级。量化精度越高,越接近原音乐。

采样率:每秒音频采样点个数。

常见的视频帧:I、P、B帧。

I 帧:关键帧,一帧画面的完整保留。解码只需要本帧数据。

P帧:表示这一帧和之前的一个关键帧的差别

B帧:双向差别帧,B帧记录的本帧与前后帧的差别

常见音频帧:PCM、AMR、MP3。

PCM:未经编码的音频数据,根据采样率和采样精度就可播放。

AMR:规定每20ms音频是1帧,每一帧都是独立的。

MP3:比较复杂,包含采样率、比特率等参数。音频数据帧个数由文件大小和帧长决定。每一帧分为帧头和数据两部分。

5.声道:

声音在录制或播放时在不同空间位置采集或回收的相互独立的音频信号。声道数就是扬声器数量。

单声道:设置一个扬声器。

立体声道:单声道扩展为左右对称的2个扬声器。

4声道:4个发音点,前左、前右、后左、后右。

5.1声道:左环绕和右环绕,中央位置增加重低音效果。

7.1声道:5.1基础上增加了中左和中右两个发音点。前后相对平衡的声场。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/liwenjie0/article/details/120873908

智能推荐

每天一个linux命令(7):rmdir命令-程序员宅基地

文章浏览阅读47次。版权声明更新:2017-05-11博主:LuckyAlan联系:[email protected]声明:吃水不忘挖井人,转载请注明出处!1 文章介绍本文介绍了Linux下面的rmdir命令。2、开发平台Linux系统3、阅读须知无4 文章正文rmdir/rd命令是删除一个空目录,一个目录被删除之前必须是空的。rmdir只能移除空文件夹。若要递归...

Qt实现仿QQ截图,带绘图,撤回功能!_qt 仿qq截图-程序员宅基地

文章浏览阅读1.2w次,点赞50次,收藏25次。Qt实现仿QQ截图想自己用Qt做个东西玩玩,偶然间看到小猪老师做的仿qq截图文章做的很棒,但是看到最后没有发现绘图功能,然后百度了各种用qt制作的截图软件,大部分都不带绘图功能,有的带的绘图功能也不合人意,于是我便打算在小猪老师代码的基础上,添加绘图功能,并且模仿qq截图的工具栏先看效果图窗口移动窗口移动,以及绘制窗口信息,放大图来自于小猪老师的代码绘图及撤回在他的基础上,添加了绘..._qt 仿qq截图

智能温控风扇、DS18B20、原理图、PROTEUS仿真图、PCB图_温控风扇电路图-程序员宅基地

文章浏览阅读1.9w次,点赞40次,收藏314次。【智能温控风扇】一、设计任务设计内容以单片机作为核心控制器件,选取DS18B20温度传感器作为数字温度计,实时测量并反应实际温度,编写程序,采集实时温度并通过数码管显示当前温度,通过按键设置的温度上、下限,将其与实际温度的比较结果,作为控制风扇的开关及档位的依据:当实际温度低于所设温度下限时,风扇关闭,为0档;当实际温度高于温度下限,低于温度上限时,风扇转速一般,为1档;当温度高于温度上限时,风扇转速最快,为2档;设计目的完成基于单片机的温控风扇的课程设计作品,通过课程设计中对原理图、PC_温控风扇电路图

python内置函数调整_python内置函数-程序员宅基地

文章浏览阅读121次。为什么说 Python 内置函数并不是万能的?本文出自“Python为什么”系列,请查看全部文章在Python猫的上一篇文章中,我们对比了两种创建列表的方法,即字面量用法 [] 与内置类型用法 list(),进而分析出它们在运行速度上的差异。在分析为什么 list() 会更慢的时候,文中说到它需要经过名称查找与函数调用两个步骤,那么,这就...文章python猫2020-10-18199浏览量Py..._内置函数是 python 的一大特色,用极简的语法实现很多常用的操作。

uniapp 微信小程序 getPhoneNumber 获取手机号 提示 appid没有权限_uni.getphonenumber is not a function-程序员宅基地

文章浏览阅读4.3k次。appid没有权限问题出现原因,当前小程序账号没有进行“微信认证”登录微信小程序后台,可以查看到当前小程序的基本信息。微信小程序授权获取手机号接口因为需要用户主动触发才能发起获取手机号接口,所以该功能不由 API 来调用,需用 组件的点击来触发。注意:目前该接口针对非个人开发者,且完成了认证的小程序开放(不包含海外主体)。需谨慎使用,若用户举报较多或被发现在不必要场景下使用,微信有权永久回收该小程序的该接口权限。使用获取手机号接口的小程序需要“微信认证”通过的可以使用接口调用_uni.getphonenumber is not a function

随便推点

ES Java API - 获取索引历史更新数据_es api 查看最新更新的索引-程序员宅基地

文章浏览阅读1.6k次。承接上一篇中获取client实例 /** * 聚合查询 分桶信息 * @param index */ public static String getHistoryDateCounts(String index){ //SearchRequestBuilder sbuilder = client.prepareSearch(index)._es api 查看最新更新的索引

计组头哥实验 实验三 MIPS寄存器实验_实验三 寄存器实验 1 实验目的 1.熟悉并掌握mips计算机中寄存器堆的原理和设计方-程序员宅基地

文章浏览阅读2.5k次。了解 MIPS 寄存器文件基本概念,进一步熟悉多路选择器、译码器、解复用器等 Logisim 组件的使用,并利用相关组件构建 MIPS 寄存器文件。_实验三 寄存器实验 1 实验目的 1.熟悉并掌握mips计算机中寄存器堆的原理和设计方

PTA基础题目集 7-19 支票面额 (15 分)_7-19 支票面额 score 15-程序员宅基地

文章浏览阅读673次。一个采购员去银行兑换一张y元f分的支票,结果出纳员错给了f元y分。采购员用去了n分之后才发觉有错,于是清点了余额尚有2y元2f分,问该支票面额是多少?输入格式:输入在一行中给出小于100的正整数n。输出格式:在一行中按格式y.f输出该支票的原始面额。如果无解,则输出No Solution。输入样例1:23输出样例1:25.51输入样例2:22输出样例2:No Solution在最开始的思路中,我把2y2f与n和之前的钱数列了方程解出两个等式,但是尝_7-19 支票面额 score 15

Kafka性能篇:为何Kafka这么“快“?_kafka的性能为什么快-程序员宅基地

文章浏览阅读103次。先预告一下 Kafka 系列文章,大家敬请期待哦:以讲解性能作为 Kafka 之旅的开篇之作,让我们一起来深入了解 Kafka “快”的内部秘密。你不仅可以学习到 Kafka 性能优化的各种手段,也可以提炼出各种性能优化的方法论,这些方法论也可以应用到我们自己的项目之中,助力我们写出高性能的项目。关公战秦琼“65: Redis 和 Kafka 完全是不同作用的中间件,有比较性吗?”是的,所以此文讲的不是《分布式缓存的选型》,也不是《分布式中间件对比》。我们聚焦于这两个不同领域的项目对性能的优化_kafka的性能为什么快

常见的神经网络模型-程序员宅基地

文章浏览阅读359次。在同一层的神经元之间是相互独立的,而在不同的网络层之间的神经元是相互连接的(双向连接)。具体的表现形式为网络会对前面的信息进行记忆并应用于当前输出的计算中,即隐藏层之间的节点不再无连接而是有连接的,并且隐藏层的输入不仅包括输入层的输出还包括上一时刻隐藏层的输出。)是⼀种简单的神经⽹络,也被称为多层感知机(multi-layer perceptron,简称MLP),其中不同的神经元属于不同的层,由输⼊层-隐藏层-输出层构成,信号从输⼊层往输出层单向传递,中间无反馈,其目的是为了拟合某个函数,由⼀个。_神经网络模型

粤港澳中医药读《乡村振兴战略下传统村落文化旅游设计》农业科学辉少许-程序员宅基地

文章浏览阅读132次。粤港澳中医药读《乡村振兴战略下传统村落文化旅游设计》农业科学辉少许。粤港澳中医药读《乡村振兴战略下传统村落文化旅游设计》农业科学辉少许。

推荐文章

热门文章

相关标签