音视频基础

最近在做一款PC的录屏,Android手机端直播的软件.遇到了非常多问题,分析缘由最重要的还是对音视频方面的知识缺乏.特地补补基础.同时知识容易忘,这方面也吃了不少亏.在此记录方便复习

音频

1.原始编码:PCM编码

 通过对我们发出的声音进行最基本的 采样,量化,编码 形成数字编码,即 PCM编码. 

采样率:1秒种采样的次数,人耳能识别的最高频率为20KHZ. 即每秒1/20KHZ 个波, 而一个波至少需要两次采样才能复原. 因此要满足高质量的音频效果,需要至少达到采样率40KHZ以               上,目前普遍是22.05KHZ,44.1KHZ,48KHZ, 一般普通用户44.1KHZ的采样率绝对够用了.

比特率: 通常有16bit,32bit ,  所谓16bit就是把某个采样点的振幅分成2^16,分的越高,复原的波形也就越精确

2.对PCM进行编码压缩,减少体积,常见的编码有:MP3(有损),AAC,AMR等.

3.音频的处理过程: 1.获取PCM编码的音频流 2.进行进一步的压缩编码,传输 3.到达地点进行解码还原成PCM.进行播放

 视频

 1.原始数据:一幅幅的连续图像,快速播放

 2.常见的编码有:mpeg,Divx,H264等

 3.视频的处理过程 1.录制连续的图像 2,进行视频编码处理,传输  3.到达地点进行解码成一张张bitmap,进行快速播放


区别概念: 视频文件格式与视频编码方式

视频文件格式:MP4,3PG,AVI,MOV等常见格式,视频文件格式是规定一种音频和视频存储方式,即对音频和视频进行复用. 一个媒体播放器若能识别这种视频文件格式,就能进行解复用,分离视频和音频,然后再播放.

编码方式则是视频流的压缩方式.


   

  

内容概要:本文档主要展示了C语言中关于字符串处理、指针操作以及动态内存分配的相关代码示例。首先介绍了如何实现键值对(“key=value”)字符串的解析,包括去除多余空格和根据键获取对应值的功能,并提供了相应的测试用例。接着演示了从给定字符串中分离出奇偶位置字符的方法,并将结果分别存储到两个不同的缓冲区中。此外,还探讨了常量(const)修饰符在变量和指针中的应用规则,解释了不同类型指针的区别及其使用场景。最后,详细讲解了如何动态分配二维字符数组,并实现了对这类数组的排序与释放操作。 适合人群:具有C语言基础的程序员或计算机科学相关专业的学生,尤其是那些希望深入理解字符串处理、指针操作以及动态内存管理机制的学习者。 使用场景及目标:①掌握如何高效地解析键值对字符串并去除其中的空白字符;②学会编写能够正确处理奇偶索引字符的函数;③理解const修饰符的作用范围及其对程序逻辑的影响;④熟悉动态分配二维字符数组的技术,并能对其进行有效的排序和清理。 阅读建议:由于本资源涉及较多底层概念和技术细节,建议读者先复习C语言基础知识,特别是指针和内存管理部分。在学习过程中,可以尝试动手编写类似的代码片段,以便更好地理解和掌握文中所介绍的各种技巧。同时,注意观察代码注释,它们对于理解复杂逻辑非常有帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值