Смешивание двух или более потоков G.711 - PullRequest
0 голосов
/ 04 июля 2018

Я пытаюсь в реальном времени смешивать несколько необработанных потоков RTP G.711 (каждый пакет RTP содержит 160 байтов необработанной полезной нагрузки G.711 A / U), и все потоки синхронизированы по времени .

Я попытался взять среднее значение для каждого байта во всех потоках и создать новый массив одинакового размера (160), но его значения являются средними значениями исходных потоков, но при воспроизведении аудио я также нахожу его шумный.

Я попытался также взять Макс и Мин, смешанный вывод лучше, но все еще шумно ..

Как правильно смешать 2 или более потоков G.711?

Если у меня в конференции 3 телефона, каждый интервал пакетирования (скажем, 20 мс), мне нужно смешать два RTP-пакета с двух телефонов в один RTP-пакет и передать его на третий, и т. Д.

BR, Moatassem

1 Ответ

0 голосов
/ 03 августа 2019

Я уже нашел решение. Мне пришлось декодировать потоки в 16-битные выборки PCM, затем выполнить нормальное среднее, а затем перекодировать результирующий

.
...