Titulo Estágio
03_2018 Plataforma de conferências WebRTC multiparticipante
Áreas de especialidade
Engenharia de Software
Comunicações, Serviços e Infraestruturas
Local do Estágio
Aveiro
Enquadramento
WebRTC tem-se afirmado como a tecnologia preferencial de comunicações em tempo real através de browsers, dispositivos móveis e para Internet of Things (IoT). Desta forma, numerosas soluções têm surgido usando esta tecnologia, desde Google Hangouts, Jitsi Meet, entre outras.
Apesar de originalmente este standard ter sido desenhado para comunicações ponto-a-ponto, esta topologia tem-se mostrado ineficiente em termos de comunicações multiparticipante, uma vez que delega aos intervenientes da sessão o envio dos streams de áudio/vídeo/dados para cada um dos restantes intervenientes. Esta abordagem não é muito escalável com o aumento de número de participantes, visto que por cada novo participante na rede, cada dispositivo tem de ser capaz de enviar mais um stream de cada tipo que está a emitir (áudio, vídeo e/ou dados) assim como processar e renderizar os streams de todos os outros participantes.
Uma das abordagens utilizadas para resolver em termos de escalabilidade as conferências multiparticipante consiste em topologias de sistemas baseadas em Multipoint Conferencing Unit (MCU). Esta topologia consiste na utilização de uma unidade de controlo centralizada, responsável pela receção dos vários streams de áudio/vídeo/dados dos vários participantes e envio para cada um deles de um stream composto/processado a partir dos vários streams recebidos.
Relativamente ao MCU, este pode assumir diversas responsabilidades na comunicação, desde (1) transcoding para os encodings suportados pelos vários intervenientes; (2) composição de streams de áudio e vídeo, consiste na agregação de vários streams num só; (3) transrating.
Esta proposta de projeto incide em dois componentes de uma solução WebRTC: (1) estudo e desenvolvimento de um MCU (baseado em FreeSwitch, visto que esta é a tecnologia utilizada pela plataforma de telefonia da GoTelecom) com base em otimizações relativamente ao tipo e número de dispositivos ligados e condições de rede; e (2) desenvolvimento de uma aplicação web suportado por dispositivos móveis para conferências multiparticipante.
Objetivo
Esta proposta de projeto incide em dois componentes de uma solução WebRTC: (1) estudo e desenvolvimento de um MCU com base em otimizações relativamente ao tipo e número de dispositivos ligados e condições de rede; e (2) desenvolvimento de uma aplicação web suportado por dispositivos móveis para conferências multiparticipante.
Objectivos e resultados esperados:
Os principais objetivos deste projeto são:
• Estudo do estado da arte em WebRTC, topologias para RTC, configurações e FreeSwitch.
• Desenvolvimento e otimização de um MCU baseado em FreeSwitch para sessões multiparticipante
• Desenvolvimento de uma Web App de videoconferência com suporte a vários participantes na mesma sessão, através de desktop e/ou dispositivos móveis, com capacidade de moderação de uma sessão.
• Desenvolvimento de uma API para possibilitar a configuração dinâmica das configurações do MCU.
Aspectos inovadores da proposta:
O módulo de MCU é um componente chave na topologia de um sistema para WebRTC. Neste projeto são abordados problemas chave relativamente a este componente como que tipo de otimizações devem ser feitas, desde o número de streams de vídeo que podem ser enviados para cada dispositivo, qual a qualidade do vídeo a enviar em determinadas condições, como suportar um número elevado de utilizadores na mesma sessão.
Plano de Trabalhos - Semestre 1
1º SEMESTRE- FASE A:
No primeiro semestre, é esperado que o aluno estudo o estado de arte em WebRTC, topologias para RTC, configurações e no FreeSwitch, incluindo o seu módulo para WebRTC denominado Verto.
Adicionalmente, é esperado que o aluno seja capaz nesta fase de implementar a base do projeto, nomeadamente uma Web App rudimentar e um MCU sem qualquer tipo de otimização.
Plano de Trabalhos - Semestre 2
2º SEMESTRE FASE B:
Testes e otimização do módulo MCU.
Desenvolvimento da API de configuração do MCU.
Melhoria da Web App para suportar as várias funcionalidades desenvolvidas no MCU.
Escrita da dissertação.
Condições
Integrado na Bolsa de Investigação da Inova-Ria - Programa GENIUS - Integração numa equipa de I&D
Os alunos interessados deverão enviar para genius@inova-ria.pt
• Curriculum Vitae;
• Disciplinas realizadas até ao momento com médias ; simples documento eletrónico, que poderá obter no portal académico .
• média prevista de 13,5 - 14 valores (média linear entre licenciatura e mestrado);
• Indicação deáreas de interesse.
Processo de Selecção: Entrevista Inova-Ria - PROGRAMA GENIUS na qual fará parte o Orientador do projeto.
Observações
Referências bibliográficas:
] Mozilla, “WebRTC API”, Jun. 2017. [Online]. Available: https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API.
[2] A. Johnston and D. Burnett, “WebRTC: APIs and RTCWEB Protocols of the HTML5 Real-Time Web”, Second Edition, 2013, Digital Codex LLC, isbn: 978-0-9859788-5-3.
[3] B. Jansen, “Performance Analysis of WebRTC-based Video Conferencing”, 2016, Faculty of Electrical Engineering, Mathematics and Computer Science, Delft University of Technology.
[4] Mozilla, “The evolution of WebRTC 1.0”, Jun. 2017. [Online]. Available: https://blog.mozilla.org/webrtc/the-evolution-of-webrtc/.
[5] A. Bergkvist, D. C. Burnett, C. Jennings, A. Narayanan, and B. Aboba, “Webrtc 1.0: Real-time communication between browsers”. [Online]. Available: http://www.w3.org/TR/webrtc/.
[6] A. Roach, “WebRTC Video Processing and Codec Requirements”, 2016, IETF, DOI: 10.17487/RFC7742, Available: https://tools.ietf.org/html/rfc7742.
[7] J. Bankoski, J. Koleszar, L. Quillio, J. Salonen, P. Wilkins and Y. Xu, “VP8 Data Format and Decoding Guide”, 2011, IETF, DOI: 10.17487/RFC6386, Available: https://tools.ietf.org/html/rfc6386.
[8] ITU-T, “Advanced video coding for generic audiovisual services (V9)”, ITU-T Recommendation H.264, 2014, Available: http://www.itu.int/rec/T-REC-H.264.
[9] J. Valin and C. Bran, “WebRTC Audio Codec and Processing Requirements”, 2016, IETF, DOI: 10.17487/RFC7874, Available: https://tools.ietf.org/html/rfc7874.
[10] J. Valin, K. Vos and T. Terriberry, “Definition of the Opus Audio Codec”, 2012, IETF, DOI: 10.17487/RFC6716, Available: https://tools.ietf.org/html/rfc6716.
[11] M. Perumal, D. Wing, R. Ravindranath, T. Reddy and M. Thomson, “Session Traversal Utilities for NAT (STUN) Usage for Consent Freshness”, 2015, IETF, DOI: 10.17487/RFC7675, Available: https://tools.ietf.org/html/rfc7675.
[12] J. Rosenberg, “Interactive Connectivity Establishment (ICE): A Protocol for Network Address Translator (NAT) Traversal for Offer/Answer Protocols”, 2010, IETF, DOI: 10.17487/RFC5245, Available: https://tools.ietf.org/html/rfc524.
[13] "Is WebRTC ready yet?". [Online]. Available: http://iswebrtcreadyyet.com/legacy.html [Accessed 20th June 2017].
[14] Y. Fablet, “Announcing WebRTC and Media Capture”, 2017. [Online]. Available: https://webkit.org/blog/7726/announcing-webrtc-and-media-capture/.
[15] A. Bergkvist, D. Burnett, C. Jennings, A. Narayanan, B. Aboba and T. Brandstetter, “WebRTC 1.0: Real-time Communication Between Browsers”, 2017, W3C, Available: https://www.w3.org/TR/webrtc/.
[16] J. Rosenberg, R. Mahy, P. Matthews and D. Wing, “Session Traversal Utilities for NAT (STUN)”, 2008, IETF, DOI: 10.17487/RFC5389, Available: https://tools.ietf.org/html/rfc5389.
[17] D. Burnett, A. Bergkvist, C. Jennings, A. Narayanan and B. Aboba, “Media Capture and Streams”, 2017, W3C, Available: https://www.w3.org/TR/mediacapture-streams/.
[18] M. Casas-Sanchez, “MediaStream Recording”, 2017, W3C, Available: https://www.w3.org/TR/mediastream-recording/.
[19] J. Rosenberg, A. Keranen, B. Lowekamp and A. Roach, “TCP Candidates with Interactive Connectivity Establishment (ICE)”, 2012, IETF, Available: https://tools.ietf.org/html/rfc6544.
[20] R. Mahy, P. Matthews and J. Rosenberg, “Traversal Using Relays around NAT (TURN): Relay Extensions to Session Traversal Utilities for NAT (STUN), 2010, IETF, Available: https://tools.ietf.org/html/rfc5766.
[21] “Market Share Statistics for Internet Technologies”, Net MarketShare. [Online], 2017, Available: https://netmarketshare.com/browser-market-share.aspx.
[22] "Say hello to WebRTC in IE and Safari”, Temasys Skylink, 2017, Available: https://skylink.io/plugin/.
[23] “WebRTC Architecture”, WebRTC, 2017. [Online], Available: https://webrtc.org/architecture/.
[24] Y. Liao, Z. Wang and Y. Luo, “The design and implementation of a WebRTC based online video teaching system”, IEEE Advanced Information Management, Communicates, Electronic and Automation Control Conference (IMCEC), 2016, IEEE.
[25] H. Gan and D. Pan, “Research and Design of Online Teaching Platform based on Html5 and Flex RIA”, International Conference on Sustainable Energy, Environment and Information Engineering (SEEIE), 2016.
[26] S. Jaouhari, A. Bouabdallah, J. Bonnin and T. Lemlouma, “Toward a Smart Health-Care Architecture Using WebRTC and WoT”, World Conference on Information Systems and Technologies (WorldCIST), 2017, Springer.
[27] P. Pierleoni, L. Pernini, L. Palma, A. Belli, S. Valenti, L. Maurizi, L. Sabbatini, A. Marroni, “An innovative WebRTC solution for e-Health services”, 18th International Conference on e-Health Networking, Applications and Services (Healthcom), 2016, IEEE.
[28] K. Singh, “user Reachability in Islands of WebRTC Communication Apps”, International Journal of Semantic Computing, Vol. 10, No. 1, 2016, World Scientific Publishing Company, DOI: 10.1142/S1793351X16400043.
Orientador
Carlos André Marques Viana Ferreira
cviana@gocontact.pt 📩