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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM