ВидеоКонф(ВКС)  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

G.729 для Freeswitch

Использование и настройка других открытых VoIP PBX

Модераторы: april22, Zavr2008

G.729 для Freeswitch

Сообщение Raice » 05 июн 2013, 18:45

Поискал в интернетах - не нашел. Пришлось собрать самому. Может кому пригодится данная информация.

CentOS 6.4, x64, FS 1.2.9
FS у нас из пакетов, поэтому пришлось скачать исходники
Код: выделить все
wget http://files.freeswitch.org/freeswitch-1.2.9.tar.bz2

Распаковываем куда удобно, я распаковал в /usr/src/freeswitch-1.2.9

Ставим все необходимые инструменты
Код: выделить все
yum groupinstall "Development Tools"
yum install libuuid-devel


Это нам потребуется чтобы сработало ./configure для исходников freeswitch
Код: выделить все
yum install zlib-devel
yum install libjpeg-devel


Качаем и ставим Intel IPP. Ссылка наверное будет бесполезна, т.к. все равно надо регистрироваться и получать лицензию, которую придется активировать.
http://registrationcenter-download.inte ... ntel64.tgz

Качаем исходники fsg729
Код: выделить все
svn checkout http://fsg729.googlecode.com/svn/trunk/ fsg729-read-only


Основная проблема - модуль делали под IPP6. Поэтому если скомпилировать без правок - то он не запустится. Поэтому нам нужно заменить функцию ippsSynthesisFilter_G729_16s на
ippsSynthesisFilter_NR_16s_Sfs в файле decg729.c
Так же в правках нуждается Makefile.
Для удобства приложил оба два

Основные моменты в Makefile:
FSBASE - папка, куда распаковали исходники FS
/usr/lib64/libfreeswitch.so - я думаю понятно

Так же перед компиляцией нужно проделать в папке с исходниками FS следующее:
1. Запустить ./configure
2. Скопировать libs/stfu/stfu.h в src/include

Теперь можно и make запустить

После этого копируем модуль в /usr/lib64/freeswitch/mod заменяя старый (его можно забэкапить в потайное место) и перезагружаем модуль.
Если кто потестирует на нормальной нагрузке будет здорово

Очень сильно помогла информация отсюда - http://abhisheksingh.info/g-729-codec-freeswitch/
Вложения
fsg729.7z
(10.66 KIB) Скачиваний: 518
Raice
 
Сообщений: 11
Зарегистрирован: 16 апр 2011, 15:46

Re: G.729 для Freeswitch

Сообщение jugatsu » 06 июн 2013, 09:59

jugatsu
 
Сообщений: 298
Зарегистрирован: 31 май 2011, 15:56

Re: G.729 для Freeswitch

Сообщение Vlad1983 » 06 июн 2013, 13:31

Raice писал(а):2. Скопировать libs/stfu/stfu.h в src/include
в место этого в строку INCLUDE= в Makefile добавить в конце -I$(FSBASE)/libs/stfu
ЛС: @rostel
Vlad1983
 
Сообщений: 4251
Зарегистрирован: 09 авг 2011, 11:51

Re: G.729 для Freeswitch

Сообщение Raice » 06 июн 2013, 14:07



Это собственно его исходники и есть. Но просто так они под 1.2.9 не соберутся
Raice
 
Сообщений: 11
Зарегистрирован: 16 апр 2011, 15:46

Re: G.729 для Freeswitch

Сообщение Raice » 06 июн 2013, 14:08

Vlad1983 писал(а):
Raice писал(а):2. Скопировать libs/stfu/stfu.h в src/include
в место этого в строку INCLUDE= в Makefile добавить в конце -I$(FSBASE)/libs/stfu

А ничего, что включение stfu.h происходит в другом *.h из исходников FS? Я просто в этих делах индеец тот еще.
Raice
 
Сообщений: 11
Зарегистрирован: 16 апр 2011, 15:46

Re: G.729 для Freeswitch

Сообщение jugatsu » 06 июн 2013, 14:09

Нет это не те исходники. Под 1.2.5.3 собираются только влёт, поправил Makefile, make. Сегодня проверял.
jugatsu
 
Сообщений: 298
Зарегистрирован: 31 май 2011, 15:56

Re: G.729 для Freeswitch

Сообщение jugatsu » 06 июн 2013, 14:09

Raice писал(а):
Vlad1983 писал(а):
Raice писал(а):2. Скопировать libs/stfu/stfu.h в src/include
в место этого в строку INCLUDE= в Makefile добавить в конце -I$(FSBASE)/libs/stfu

А ничего, что включение stfu.h происходит в другом *.h из исходников FS? Я просто в этих делах индеец тот еще.


Надо лишь Makefile поправить.
jugatsu
 
Сообщений: 298
Зарегистрирован: 31 май 2011, 15:56

Re: G.729 для Freeswitch

Сообщение Vlad1983 » 06 июн 2013, 14:26

тоже собралось
FreeSWITCH Version 1.5.1b+git~20130415T194750Z~be248879ae

правда это сделал
Raice писал(а):Основная проблема - модуль делали под IPP6. Поэтому если скомпилировать без правок - то он не запустится. Поэтому нам нужно заменить функцию ippsSynthesisFilter_G729_16s на
ippsSynthesisFilter_NR_16s_Sfs в файле decg729.c
ЛС: @rostel
Vlad1983
 
Сообщений: 4251
Зарегистрирован: 09 авг 2011, 11:51

Re: G.729 для Freeswitch

Сообщение Raice » 06 июн 2013, 14:29

Я немного не правильно сказал. Собраться соберется, но по 1.2.9 он не запустился у меня. Пришлось полезть в исходники и изменить одну функцию, после этого все взлетело.
Но то что ты дал ссылку - оно без IPP собирается, значит другое действительно. Прошу прощения.

Если в Make заглянуть, то будет
FSBASE=/home/krivushinme/soft/freeswitch/fssvn
:) автор один и тот же
Raice
 
Сообщений: 11
Зарегистрирован: 16 апр 2011, 15:46

Re: G.729 для Freeswitch

Сообщение Vlad1983 » 06 июн 2013, 14:31

ITU-шный скорей всего больше грузить CPU при той же нагрузке
ЛС: @rostel
Vlad1983
 
Сообщений: 4251
Зарегистрирован: 09 авг 2011, 11:51

След.

Вернуться в FreeSwitch, SER, Yate и другие

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9

© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH