AF
Asterisk Forum
обсуждения телефонии, VoIP и IP-PBX
12разделов
5 423тем
34 385сообщений
← К списку тем

Транскодинг в ast11

Asterisk IP PBX 1 сообщений -
#1

Ни черта не понимаю.
Собрал, поставил в стороночку asterisk-11.2-cert1
Наполняю и тестирую

Первый же тест транскодинга даёт.

Код:
CLI> core show translation recalc 100
Recalculating Codec Translation (number of sample seconds: 100)

Translation times between formats (in microseconds) for one second of data
Source Format (Rows) Destination Format (Columns)

g723 gsm ulaw alaw g726 adpcm slin lpc10 g729 ilbc g726aal2 g722 slin16 testlaw slin12 slin24 slin32 slin44 slin48 slin96 slin192
g723 - 15000 15000 15000 15000 15000 9000 15000 15000 15000 15000 17250 17000 15000 17000 17000 17000 17000 17000 17000 17000
gsm 15000 - 15000 15000 15000 15000 9000 15000 15000 15000 15000 17250 17000 15000 17000 17000 17000 17000 17000 17000 17000
ulaw 15000 15000 - 9150 15000 15000 9000 15000 15000 15000 15000 17250 17000 15000 17000 17000 17000 17000 17000 17000 17000
alaw 15000 15000 9150 - 15000 15000 9000 15000 15000 15000 15000 17250 17000 15000 17000 17000 17000 17000 17000 17000 17000
g726 15000 15000 15000 15000 - 15000 9000 15000 15000 15000 15000 17250 17000 15000 17000 17000 17000 17000 17000 17000 17000
adpcm 15000 15000 15000 15000 15000 - 9000 15000 15000 15000 15000 17250 17000 15000 17000 17000 17000 17000 17000 17000 17000
slin 6000 6000 6000 6000 6000 6000 - 6000 6000 6000 6000 8250 8000 6000 8000 8000 8000 8000 8000 8000 8000
lpc10 15000 15000 15000 15000 15000 15000 9000 - 15000 15000 15000 17250 17000 15000 17000 17000 17000 17000 17000 17000 17000
g729 15000 15000 15000 15000 15000 15000 9000 15000 - 15000 15000 17250 17000 15000 17000 17000 17000 17000 17000 17000 17000
ilbc 15000 15000 15000 15000 15000 15000 9000 15000 15000 - 15000 17250 17000 15000 17000 17000 17000 17000 17000 17000 17000
g726aal2 15000 15000 15000 15000 15000 15000 9000 15000 15000 15000 - 17250 17000 15000 17000 17000 17000 17000 17000 17000 17000
g722 15600 15600 15600 15600 15600 15600 9600 15600 15600 15600 15600 - 9000 15600 17500 17000 17000 17000 17000 17000 17000
slin16 14500 14500 14500 14500 14500 14500 8500 14500 14500 14500 14500 6000 - 14500 8500 8000 8000 8000 8000 8000 8000
testlaw 15000 15000 15000 15000 15000 15000 9000 15000 15000 15000 15000 17250 17000 - 17000 17000 17000 17000 17000 17000 17000
slin12 14500 14500 14500 14500 14500 14500 8500 14500 14500 14500 14500 14000 8000 14500 - 8000 8000 8000 8000 8000 8000
slin24 14500 14500 14500 14500 14500 14500 8500 14500 14500 14500 14500 14500 8500 14500 8500 - 8000 8000 8000 8000 8000
slin32 14500 14500 14500 14500 14500 14500 8500 14500 14500 14500 14500 14500 8500 14500 8500 8500 - 8000 8000 8000 8000
slin44 14500 14500 14500 14500 14500 14500 8500 14500 14500 14500 14500 14500 8500 14500 8500 8500 8500 - 8000 8000 8000
slin48 14500 14500 14500 14500 14500 14500 8500 14500 14500 14500 14500 14500 8500 14500 8500 8500 8500 8500 - 8000 8000
slin96 14500 14500 14500 14500 14500 14500 8500 14500 14500 14500 14500 14500 8500 14500 8500 8500 8500 8500 8500 - 8000
slin192 14500 14500 14500 14500 14500 14500 8500 14500 14500 14500 14500 14500 8500 14500 8500 8500 8500 8500 8500 8500 -


а для
asterisk-1.6.2.20

Код:
CLI> core show translation recalc 100
Recalculating Codec Translation (number of sample seconds: 100)

Translation times between formats (in microseconds) for one second of data
Source Format (Rows) Destination Format (Columns)

g723 gsm ulaw alaw g726aal2 adpcm slin lpc10 g729 speex ilbc g726 g722 siren7 siren14 slin16
g723 - 1760 281 281 2440 520 280 2240 3160 - - 2440 960 - - 2040
gsm 5360 - 441 441 2600 680 440 2400 3320 - - 2600 1120 - - 2200
ulaw 4960 1520 - 1 2200 280 40 2000 2920 - - 2200 720 - - 1800
alaw 4960 1520 1 - 2200 280 40 2000 2920 - - 2200 720 - - 1800
g726aal2 5880 2440 961 961 - 1200 960 2920 3840 - - 3120 1640 - - 2720
adpcm 5080 1640 161 161 2320 - 160 2120 3040 - - 2320 840 - - 1920
slin 4920 1480 1 1 2160 240 - 1960 2880 - - 2160 680 - - 1760
lpc10 6440 3000 1521 1521 3680 1760 1520 - 4400 - - 3680 2200 - - 3280
g729 5760 2320 841 841 3000 1080 840 2800 - - - 3000 1520 - - 2600
speex - - - - - - - - - - - - - - - -
ilbc - - - - - - - - - - - - - - - -
g726 5880 2440 961 961 3120 1200 960 2920 3840 - - - 1640 - - 2720
g722 5840 2400 921 921 3080 1160 920 2880 3800 - - 3080 - - - 1080
siren7 - - - - - - - - - - - - - - - -
siren14 - - - - - - - - - - - - - - - -
slin16 7120 3680 2201 2201 4360 2440 2200 4160 5080 - - 4360 1280 -

ставлю разные g72x и не вижу никакой разницы в таблице вообще.

Судя по таблице получается, что астер 110 кодирует g729 в 4 раза медленнее.
И при том кодирует в g729 БЫСТРЕЕ, чем раскодирует, что противоречит применяемой там арифметике.
Кроме того судя по ровным числам они эти числа берёт разве что с потолка.
Собирал астер без дебага -O3


Он что, и в правду такой тормозной стал после внедрения id кодировки вместо битовой маски?

Added after 1 hours 22 minutes:

Разобрался.

Разработчики лажанулись.
Несмотря на оставшуюся надпись "Translation times between formats (in microseconds) for one second of data"
это не время трансляции 1 сек данных между форматами, а значение из таблицы / 100.

Таблица в enum ast_trans_cost_table и фактически это веса качества преобразования.
Вот и получается, что перегнать любой беспотерьный формат в потерьный имеет "цену" преобразования
AST_TRANS_COST_LY_LL_ORIGSAMP = 900000

на реальное время преобразования все забили.

И как теперь подбирать уже собранные кодеки g72x не понятно.

Ещё обнаружилось, что во время, учитываемое в преобразование засчитывается время выделения и освобождения буферов.
Такой подход свои помехи тоже вносил.

_________________
Свежак chan_dongle тут https://github.com/bg111/asterisk-chan-dongle/
Читайте, дополняйте wiki http://wiki.e1550.mobi/
Смена IMEI Huawei E1550 E173 E1752 K3765 http://www.e1550.mobi/ от $1,521 за IMEI