SDP文件描述
发表于|更新于|音频
|浏览量:
SDP文件描述
SDP 中常见的 payload type(PT)值
有些编码有静态 payload type 值,比如:
| Payload Type | 编码格式 | 采样率 | 说明 |
|---|---|---|---|
| 0 | PCMU (G.711 μ-law) | 8000 | 默认支持 |
| 3 | GSM | 8000 | 较老的移动语音编码 |
| 8 | PCMA (G.711 A-law) | 8000 | 和 PT 0 一样常用 |
| 9 | G.722 | 16000 | 宽带语音,高质量 |
| 13 | CN (Comfort Noise) | 8000 | 背景噪声填充 |
| 14 | MPA (MPEG Audio) | - | 音乐编码 |
| 107 | OPUS | - | 音乐编码 |
| 96~127 | 动态编码 | - | 用于协商的动态 payload type |
文章作者: Fleming Chen
文章链接: https://flemingme.github.io/2025/07/24/%E9%9F%B3%E9%A2%91/SDP%E6%96%87%E4%BB%B6%E6%8F%8F%E8%BF%B0/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Fleming's Blog!
相关推荐
2025-07-16
AudioTrack和Oboe的关系
AudioTrack和Oboe的关系AudioTrack 不会直接调用 Oboe 的 API。AudioTrack 和 Oboe 是两个独立的音频处理方案,它们在 Android 系统中处于不同的层级并且服务于不同的目的。 AudioTrack 层次:AudioTrack 是 Android Java API 的一部分,提供了一个高层接口来播放 PCM 音频数据。 实现:它通过 Java 层调用底层的 Android 音频系统服务来完成音频播放任务。这些服务最终可能会使用 OpenSL ES 或 AAudio 来与硬件通信,但这是在 Android 系统内部实现细节的一部分,并不是 AudioTrack 直接调用这些 API。 Oboe 层次:Oboe 是一个基于 C++ 的库,设计用于 NDK(Native Development Kit)层面,提供了对 AAudio 和 OpenSL ES 的封装。 实现:Oboe 为开发者提供了一个更易于使用的接口来访问这些底层音频 API,从而能够实现低延迟和高性能的音频应用。 关系说明尽管 AudioTrack 和 Oboe 最终都...
2025-07-16
AAudio和Oboe的关系
AAudio和Oboe的关系AAudio 是由 Google 提供的一个底层音频 API,旨在为 Android 应用提供高性能和低延迟的音频输入输出功能。它直接与 Android 操作系统的音频层交互,提供了比之前的 API(如 OpenSL ES)更优秀的性能。 Oboe 则是一个构建在 AAudio 和 OpenSL ES 之上的 C++ 封装库。Oboe 的设计目的是简化 Android 上的实时音频应用开发,同时确保这些应用能够尽可能地利用 AAudio 带来的性能优势。如果设备不支持 AAudio 或者在某些情况下 AAudio 不适用时,Oboe 可以自动回退到使用 OpenSL ES,从而保证了良好的兼容性。 Oboe 的主要特点 简化API:Oboe 提供了一个更加简洁和易于使用的 API 来处理音频流,隐藏了直接使用 AAudio 或 OpenSL ES 的复杂性。 跨平台兼容性:尽管 Oboe 主要针对 Android 开发,它的设计也考虑到了跨平台的可移植性。 性能优化:通过尽量使用 AAudio,Oboe 能够实现更低的延迟和更高的效率。 使用 Obo...
2025-08-20
音频领域基本概念
音频领域基本概念 概念 作用 常见值 采样率 决定频率范围 44.1kHz, 48kHz 位深度 决定动态范围 16bit, 24bit 比特率 决定数据量与音质 128kbps, 320kbps, 无损 编码方式 压缩算法(有损/无损) MP3, AAC, FLAC 声道数 空间感与沉浸感 单声道、立体声、5.1 容器格式 文件封装方式 MP4, MKV, WAV, FLAC 编解码器 实现压缩与播放 LAME(MP3)、FDK AAC 元数据 文件信息管理 ID3、Vorbis Comment 延迟与抖动 影响实时性与音质 低延迟 < 10ms 响度标准化 统一播放音量 LUFS, ReplayGain 1. 采样率(Sample Rate)定义:采样率是指每秒钟对声音信号进行采样的次数,单位是赫兹(Hz)或千赫兹(kHz)。它决定了音频能还原的频率范围。 原理:根据奈奎斯特定理(Nyquist Theorem),采样率必须至少是声音最高频率的两倍,才能准确还原原始声音。 常见采样率: 8 kHz:电话音质,...
2025-07-21
FFmpeg默认解码
FFmpeg默认解码FFmpeg 默认支持大量的解码器,这些解码器覆盖了广泛的多媒体格式。以下是部分 FFmpeg 默认支持的音频和视频解码器列表。请注意,实际支持的解码器可能会根据你编译 FFmpeg 时的选择(如是否启用了某些外部库)有所不同。 默认支持的部分音频解码器 AAC (aac) - 高级音频编码。 AC3 (ac3, eac3) - Dolby Digital音频格式。 FLAC (flac) - 无损音频压缩编码。 MP3 (mp3, mp3float) - MPEG-1、MPEG-2 Audio Layer III。 Opus (opus) - Opus 是一个开源的、有损声音编码格式,设计用于互联网上的实时应用。 PCM (pcm_s16le, pcm_u8, 等) - 脉冲编码调制,直接表示模拟信号的样本值。 Vorbis (vorbis) - 常见于Ogg容器中的音频格式。 WMA (wmav1, wmav2) - Windows Media Audio。 G.722 (g722) - ITU-T G.722标准定义的宽频语音编码。 u-law, A-l...
2026-01-16
音频流处理过程
音频数据通过解码后播放的过程涉及多个步骤,从原始编码的音频流到最终通过声卡输出声音。以下是这一过程的基本步骤: 1. 获取编码音频数据首先,你需要从源(例如网络组播流、文件等)获取编码的音频数据。这通常是一个压缩格式的数据流,比如AAC、MP3等。 2. 解码音频数据使用适当的解码器将编码的音频数据转换为未压缩的PCM(脉冲编码调制)格式。Android提供了MediaCodec API来实现这一功能,也可以使用第三方库如FFmpeg进行更复杂的解码需求。 输入:编码的音频数据流。 处理:根据音频编码格式选择合适的解码器,并将数据流传递给解码器进行解码。 输出:解码后的PCM音频数据。 3. 音频数据缓冲与处理一旦获得了PCM数据,它需要被适当地缓冲和处理,以便能够平滑地传输到音频硬件进行播放。这包括调整采样率、声道数以及样本位深度等参数以匹配目标设备的要求。 4. 使用AAudio或AudioTrack播放音频接下来,你可以使用AAudio或AudioTrack API将PCM数据发送到音频硬件进行播放。 AAudio: 对于低延迟要求的应用场景,可以创建一个AAudio...
2026-01-06
AOIP和VOIP
AOIP和VOIP都是与网络通信相关的技术,但它们的应用领域和功能有所不同。以下是两者的详细对比: 1. VOIP(Voice over Internet Protocol)定义:VOIP 是一种通过互联网协议(IP)网络传输语音通信的技术。它将语音信号转换为数字数据包,并通过互联网或局域网进行传输,从而实现语音通话。 应用场景: 网络电话(如Skype、Zoom、Google Voice) 企业电话系统(IP PBX) 在线客服系统 视频会议中的语音部分 工作原理:VOIP 将模拟语音信号数字化并压缩成数据包,然后通过IP网络传输到接收端。接收端再将这些数据包解码并还原为语音信号。 优点: 成本低:使用现有互联网连接,节省传统电话线路费用。 灵活性高:支持多方通话、视频通话、消息传递等多功能集成。 易于扩展:适合远程办公和分布式团队。 缺点: 依赖网络质量:网络延迟、抖动或带宽不足会影响通话质量。 安全性问题:需要额外措施防止窃听或数据泄露。 2. AOIP(Audio over Internet Protocol)定义:AOIP 是一种通过IP网络...
公告
Welcome to my blog!

