2016-09-27 1 views
-1

я хочу помочь в OPUS DTXкак использовать опус DTX из открытого кода OPUS демо бинарного

1.Как OPUS DTX работает. 2.how опус кодер и декодер работает для DTX 3.Is там любое представление битов для DTX в OPUS

От RFC Когда DTX включена, только один кадр кодируется каждые 400 миллисекунд, оно не работает для меня с opus_demo двоичный файл. , пожалуйста, помогите с OPUS DTX.

ответ

2

При использовании Opus по сети с использованием протокола, такого как RTP, где пакеты имеют временную метку, DTX может быть включен, если вы хотите уменьшить пакеты, отправленные в периоды отсутствия активности голоса. Пакет все равно будет отправляться каждые 400 мс, обновляя фоновый шум. Используя временные метки пакета, получатель может определить продолжительность любых зазоров и заполнить их фоновым шумом, чтобы он казался естественным.

Включите DTX в кодировщике с использованием opus_encoder_ctl(enc, OPUS_SET_DTX(1)); или с опцией -dtx на opus_demo. Затем просто не отправляйте пакеты, созданные энкодером длиной не более 2 байтов. (Эти «пакеты DTX» представляют собой только фреймы нулевой длины с обычным 1- или 2-байтовым заголовком пакета (TOC) и не содержат никаких аудиоданных.) Пакеты с длиной более 2 байтов должны быть отправлены, как обычно ,

Приемник должен использовать обычное маскирование потери пакетов для обработки отсутствующих пакетов таким же образом, как и для потери пакетов. В частности, он может звонить opus_decode() с data = NULL, len = 0 и frame_size, равным размеру отсутствующего кадра (-ов), и декодер будет генерировать аудиоданные, чтобы скрыть недостающий кадр (ы).

Смежные вопросы