[✔️]音视频基础知识

简介: [✔️]音视频基础知识
int av_samples_alloc_array_and_samples(
    uint8_t ***audio_data, // 通道,data[0]代表左声道,data[1]代表右声道
    int *linesize, // 采样个数的最大大小字节空间
    int nb_channels,
    int nb_samples,
    enum AVSampleFormat sample_fmt, int align
);


采样频率 nb_samples


采样频率是指计算机单位时间内能够采集多少个信号样本,比如对于波形记录而言,此时采样频率可以是描述波形的质量标准。


采样频率越高,即采样的间隔时间越短,则在单位时间内计算机得到的样本数据就越多,对信号波形的表示也越精确。


Hz 是频率的单位,频率是指电脉冲,交流电波形,电磁波,声波和机械的振动周期循环时,1秒钟重复的次数。1Hz代表每秒钟周期震动1次,60Hz代表每秒周期震动60次。


对于一帧音频的采样个数,AAC固定一帧采样1024个,MP3格式则为1152。


采样位数


通常使用16bit(2字节),也就是2的16次方,共有65536个不同的度量值,这样采样位数越高,音频度量化的就越精细,音质同样也就越高


声道数量:channels


声道格式:channel_layout


对音频的声道格式进行转换的处理,例如立体声转换为单声道


声道指的是声音在录制时,在不同的空间位置采集的音频信号,一个声道就是一个音频信号。


声道 解释
单声道 只记录了一个音频信号
双声道 记录了2个音频信号
立体声 记录了左右2个音频信号,带有空间位置的双声道

如果只有一个麦克风在录制声音,但选择了立体声道,听起来还是单声道的效果,因为两个声道的数据是一样的,只有使用双传声器的麦克风或者2个麦克风同时录制,出来的效果才是立体声,


轨道


声音信号在磁盘上的存储空间,轨道数量≠声道数量


通道


用来描述信号的路径,声道一般针对音频,通道一般针对视频


采用精度


声音的范围


1 一帧音频的大小(字节)  = 通道数 x 采样个数 x 采样位数


音频帧是FLTP格式的PCM数据,


那么就是aac,所以一帧中包含1024个采样个数,并且是双声道的话,那么该音频帧包含的数据量是 2 x 1024 x 4 = 8192字节。


音频帧是AV_SAMPLE_FMT的PCM数据 那么采样位数是64位8字节,数据量为 2 x 1024 x 8 = 16384字节。


目录
相关文章
|
消息中间件 物联网 网络安全
MQTT常见问题之调用.net sdk 报“不知道这样的主机”如何解决
MQTT(Message Queuing Telemetry Transport)是一个轻量级的、基于发布/订阅模式的消息协议,广泛用于物联网(IoT)中设备间的通信。以下是MQTT使用过程中可能遇到的一些常见问题及其答案的汇总:
|
数据可视化 数据挖掘 开发者
import有什么用,python中怎么使用import
import有什么用,python中怎么使用import
1918 1
|
6月前
|
人工智能 自然语言处理 语音技术
深度解析:AI语音客服系统如何重塑客户服务体验与主流解决方案探析
在数字化浪潮下,AI语音客服凭借高效、便捷、24小时在线的优势,成为企业提升服务效率、优化体验的重要工具。本文详解其核心技术、应用价值、选型要点及市场主流方案,如阿里云通义晓蜜、合力亿捷等,助力企业智能化升级。
499 1
|
11月前
|
人工智能 JavaScript 测试技术
如何在云效中使用DeepSeek等大模型实现AI智能评审
本文介绍了一种基于云效平台和DeepSeek的AI智能代码评审解决方案。通过云效代码管理Codeup、流水线Flow和DeepSeek大模型,企业可快速实现自动化代码评审。具体步骤包括:创建云效组织并获取API令牌、配置百炼APIKey、开发自定义Flow步骤调用大模型、创建示例代码库和流水线,并通过合并请求触发智能评审。最终,评审结果将自动回写到Codeup中,帮助开发者提升代码质量。
1940 11
如何在云效中使用DeepSeek等大模型实现AI智能评审
|
10月前
|
存储 人工智能 Cloud Native
【云故事探索】NO.13:全链路「长」在阿里云上!极氪汽车全速打造智能出行好体验
本文探讨了极氪汽车从创立到快速发展的背后,数字化体系对其成功的支撑作用。极氪通过与阿里云合作,利用云计算、PaaS服务及AI大模型等技术,实现了敏捷高效的用户体验和业务迭代。文章还分析了极氪在车联网安全、数据处理以及智能化座舱方面的技术突破,并指出全栈上云已成为智能电动车企业的必然选择,助力其在全球化与智能化趋势中脱颖而出。极氪的成功不仅源于产品定位,更得益于其对先进技术的深度应用。
|
9月前
|
SQL 人工智能 自然语言处理
Text2SQL圣经:从0到1精通Text2Sql(Chat2Sql)的原理,以及Text2Sql开源项目的使用
Text2SQL圣经:从0到1精通Text2Sql(Chat2Sql)的原理,以及Text2Sql开源项目的使用
Text2SQL圣经:从0到1精通Text2Sql(Chat2Sql)的原理,以及Text2Sql开源项目的使用
|
存储 缓存 数据库
【万字长文】微服务整合Shiro+Jwt,源码分析鉴权实战
介绍如何整合Spring Boot、Shiro和Jwt,以实现一个支持RBAC的无状态认证系统。通过生成JWT token,实现用户无状态登录,并能根据用户角色动态鉴权,而非使用Shiro提供的注解,将角色和权限信息硬编码。此外,文章还探讨了如何对Shiro的异常进行统一捕获和处理。作为应届生,笔者在学习Shiro的过程中进行了一些源码分析,尽管可能存在不足和Bug,但希望能为同样需要实现权限管理的开发者提供参考,并欢迎各位大佬指正完善。
725 65
【万字长文】微服务整合Shiro+Jwt,源码分析鉴权实战
|
9月前
|
人工智能 自然语言处理 运维
让搜索引擎“更懂你”:AI × Elasticsearch MCP Server 开源实战
本文介绍基于Model Context Protocol (MCP)标准的Elasticsearch MCP Server,它为AI助手(如Claude、Cursor等)提供与Elasticsearch数据源交互的能力。文章涵盖MCP概念、Elasticsearch MCP Server的功能特性及实际应用场景,例如数据探索、开发辅助。通过自然语言处理,用户无需掌握复杂查询语法即可操作Elasticsearch,显著降低使用门槛并提升效率。项目开源地址:<https://github.com/awesimon/elasticsearch-mcp>,欢迎体验与反馈。
2339 1
|
Python
使用pycharm 开发streamlit的项目启动
要在 PyCharm 中配置 Streamlit 环境并调试应用,请按以下步骤操作:1. 确保 PyCharm 配置了 Python 解释器并安装 Streamlit 包(File -> Settings -> Project -> Python Interpreter)。2. 配置调试运行设置(Run -> Edit Configurations,添加 Python 配置并命名)。3. 选择新配置并点击调试按钮启动应用。
1423 23
|
存储 C++ 索引
【C++打怪之路Lv9】-- vector
【C++打怪之路Lv9】-- vector
286 1