opus采样率帧长约束

1、采样率约束:

输入信号的采样率(Hz),必须是8000、12000、16000、24000、或48000。
OpusEncoder* opus_encoder_create(opus_int32 Fs, int channels, int application, int *error);
 函数参数中的Fs就是采样率。

2、帧长约束:
opus为了对一个帧进行编码,必须正确地用音频数据的帧(2.5, 5, 10, 20, 40 or 60 ms)来调用opus_encode()或opus_encode_float()函数。

比如,在48kHz的采样率下,opus_encode()参数中的合法的frame_size(单通道的帧大小)值只有:120, 240, 480, 960, 1920, 2880。即:
    frame_size = 采样率 * 帧时间。


因为需要满足帧时间长度为10,20,40,60ms这些才能编码opus,因而需要对输入数据进行缓冲裁剪

3、兼容opus的容器格式:
     有ogg,ts,mkv。但ts无法播放,mkv只能foobar播放,ogg能用foobar,vlc播放。因而不再考虑opus合成到ts

posted @ 2019-05-06 15:20  oi蒟蒻技术咸鱼  阅读(2776)  评论(0编辑  收藏  举报