Medsenger — это платформа для удаленного мониторинга пациентов и телемедицины. Нашей задачей было запустить стабильную видеосвязь и обмен данными в регионах, где у большинства пациентов мобильный интернет работает на скоростях 3G или даже Edge.
Главные вызовы и ограничения
- Нестабильное соединение на стороне пациента (потеря пакетов до 30%)
- Необходимость строгого шифрования медицинских данных (ФЗ-152)
- Простота интерфейса — приложением должны пользоваться пожилые люди
- Жесткий дедлайн — 4 месяца до пилотного запуска в клиниках
Как мы это реализовали
Вместо использования тяжелых готовых решений мы подняли собственный WebRTC-сервер (SFU-медиасервер) с автоматической адаптацией битрейта под пропускную способность сети пациента. Если связь падает до критической, приложение переключается в режим «только аудио» или передает ключевые показатели в виде коротких JSON-пакетов.
WebRTC адаптация битрейта
// WebRTC adaptive quality logic
interface ConnectionQuality {
rtt: number;
packetLoss: number;
}
function adjustQuality(stats: ConnectionQuality) {
if (stats.packetLoss > 0.25 || stats.rtt > 400) {
return 'audio-only';
}
return 'video-adaptive';
}Поделиться: