Ð£Ð´Ð°Ð»ÐµÐ½Ð½Ð°Ñ ÑƒÑтановка наÑтроек в мобильный клиент VM SDK
При интеграции VM SDK в Ñвои Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ñ‡Ð°Ñто возникает задача передавать наÑтройки VM SDK в разрабатываемое приложение так, как Ñто Ñделано на Ñервере VideoMost. Ð¡Ñ‚Ð°Ñ‚ÑŒÑ Ð½Ð¸Ð¶Ðµ именно об Ñтом Ñлучае. ЕÑли приложение не иÑпользует Ñервер VideoMost, то можно также загрузить наÑтройки Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ профилей (Ñм. Ñтатью "Загрузка наÑтроек в мобильный клиент VM SDK Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ профилей").
Ð”Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð½Ð°Ñтроек Ñервера, необходимо в коде мобильного клиента Ñделать GET-Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð¿Ð¾ адреÑу http://<servername>/service/ext/settings_a
Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð°Ð¼Ð¸:
confid
- id конференции, string
confpass
- пароль конференции, string
lang
– Ñзык на котором будет возвращено Ñообщение о ошибке(ru|en) (опционально)
sid
– session id Ð´Ð»Ñ Ð·Ð°Ð»Ð¾Ð³Ð¸Ð½ÐµÐ½Ð½Ð¾Ð³Ð¾ учаÑтника. ВозвращаетÑÑ Ð²Ñ‹Ð·Ð¾Ð²Ð¾Ð¼ Login XML-RPC поле sessionkey (опционально)
Пример Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð·Ð°Ð¿Ñ€Ð¾Ñа конÑольной утилитой wget:
wget -O- "http://go.videomost.com/service/ext/settings_a?confid=533931&confpass=0197&lang=ru"
Ответом на Ñтот Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð±ÑƒÐ´ÐµÑ‚ json Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð°Ð¼Ð¸:
cm
– ÑпиÑок параметров Ð´Ð»Ñ Ð¡Ðœ (как раз требуемые параметры)
global
– параметры наÑтройки Ñервера (только те, что могут пригодитьÑÑ Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸ÑŽ)
confinfo
– параметры конфернции
XMPPserver
– Ð°Ð´Ñ€ÐµÑ XMPP Ñервера
login
– jid Ð´Ð»Ñ ÐºÐ»Ð¸ÐµÐ½Ñ‚Ð° предлагаемый Ñервером
confjid
– jid конференции
version
–верÑÐ¸Ñ Ñервера
Из них нам нужен параметр "cm"
:
"cm":{
"view.name":"1",
"view.rating":"1",
"view.stat":"0",
"view.aspect":"16:9",
"video.maxparticipants":4,
"video.speaker-selector":"0",
"voice.bitrate":"10000",
"voice.framelength":"60",
"voice.ars.enabled":1,
"voice.ars.bitrate":"{7;34}",
"voice.fec":"none",
"voice.fec.request":"none",
"voice.rd.enabled":"1",
"voice.rd.auto":"1",
"voice.rd.mode":"fd",
"voice.rd.echopath":"0",
"voice.rd.nlp":"1",
"voice.rd.cng":"1",
"voice.rd.ns":"1",
"voice.rd.agc":"1",
"voice.encoder.cn":1,
"voice.encoder.ssvad":"1",
"video.size":"{640;360}",
"video.encoder.bitrate":270,
"video.framerate":12,
"video.encoder.keyperiod":"0",
"video.ars.enabled":"1",
"video.ars.bitrate":"{30;384}",
"video.ars.framerate":"{3;20}",
"video.autofec":"1",
"video.fec":"none",
"video.fec.request":"none",
"video.rtx-jb-delay":"1500",
"video.rtx-time":"3000",
"vnc.client.bitrate":"normal",
"vnc.client.scaling":100,
"log.level":"full",
"log.brtp":"0",
"transport.use_tls":"1",
"transport.tunnel.port":"80",
"transport.proxy.usetype":"use",
"transport.console.show":"0",
"transport.disable_detect_best_channel":1,
"transport.srtp.enabled":"0",
"transport.srtp.crypto":"",
"transport.tcprelay.servers":"videomost.com:444",
"transport.udprelay.servers":"videomost.com:7000",
"transport.stun.servers":"videomost.com",
"video.bitrate":"384",
"global.reduced_rtcp":1,
"global.sync_streams":1
}
Параметры могут быть другими и их может быть любое количеÑтво.
ПрименÑÑ‚ÑŒ параметры нужно до вызова Login()
.
Чтобы применить параметр, иÑпользуйте метод SetOption
, например:
CallManager.SetOption("video.bitrate", 0, "384");