ffmpeg编解码opus注意事项

  1. opus采样率可以是:8000、12000、16000、24000、或48000

  2. opus支持单双通道,但如果使用webrtc则必须双通道

  3. 采样格式可以是:AV_SAMPLE_FMT_S16,AV_SAMPLE_FMT_FLT

  4. 获取输入音频编码的数据大小,假如输入是实时流,接受的每帧音频不够readSize大小的话,需要收到readSize大小的数据再送去编码,直接读取pcm文件可以不要这么考虑,pcm转aac也是这样的,需要注意

  5. opus的封装格式是ogg,但如果要保存成opus文件格式,需要写入头信息

  6. 音频帧的大小不应仅仅依赖 AVCodecContext 的 frame_size 来确定。一种更可靠的方法是通过解码后的 AVFrame 对象的 nb_samples 字段来获取解码后音频帧的实际样本数,并根据音频编码的参数(如 sample_rate 和 channels)计算音频帧的大小

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-12 14:14:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-12 14:14:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-12 14:14:01       82 阅读
  4. Python语言-面向对象

    2024-04-12 14:14:01       91 阅读

热门阅读

  1. 计算机网络——MAC地址和IP地址

    2024-04-12 14:14:01       37 阅读
  2. 汽车传动轴原理?

    2024-04-12 14:14:01       37 阅读
  3. RabbitMQ介绍

    2024-04-12 14:14:01       46 阅读
  4. 技术提升实战:打造个人博客系统

    2024-04-12 14:14:01       42 阅读
  5. vue中nextTick使用以及原理

    2024-04-12 14:14:01       38 阅读
  6. 2024认证杯数学建模B题思路模型代码

    2024-04-12 14:14:01       33 阅读
  7. 【SwiftUI】SwiftUI工程中如何引入DoKit

    2024-04-12 14:14:01       41 阅读
  8. Flink命令行启动Job任务

    2024-04-12 14:14:01       36 阅读
  9. 李白打酒加强版 -- 题解 c++

    2024-04-12 14:14:01       37 阅读
  10. ABAP CALL TRANSACTION 跳转

    2024-04-12 14:14:01       35 阅读