MioStream: a peer-to-peer distributed live media streaming on the edge

  • Servio PalaciosEmail author
  • Victor Santos
  • Edgardo Barsallo
  • Bharat Bhargava


The typical centralized cloud model is poorly suited to latency-sensitive applications requiring low-latency and high-throughput. This paper proposes an integrity-preserving serverless framework for live-video streaming that runs on the edge of the network. We present the design, implementation, and evaluation of a novel P2P service based on WebRTC (web browsers with Real-Time Communications) called MioStream. MioStream is an open-source alternative for distributed media streaming that runs on the edge of the network without incurring in costly and extensive CDN infrastructure. We contribute a unique mix of algorithms using WebRTC data channels. For instance, under network degradation and high-churn environments, MioStream restructures the topology dynamically. MioStream provides authentication, privacy, and integrity of video chunks. This paper exposes a set of micro-benchmarks to measure the quality of service under network degradation and high churn environment (inducing failures). The Mesh topology offers the highest goodput per peer; the stalled playback on a node equals 1.8% of the total video play. Our results show the feasibility of this proof of concept under high-churn environments. The total stream interruptions in the topology are not longer than one second under a binomial distributed series of failures. The integrity check applied to each package includes a considerable overhead and impact the quality of service.


Edge computing Event-driven model Media streaming Peer-to-Peer WebRTC 



  1. 1.
  2. 2.
    Datagram Transport Layer Security (DTLS),
  3. 3.
  4. 4.
    Ferreira R, Jagannathan S, Grama A (2006) Locality in structured peer-to-peer networks. J Parallel Distrib Comput 66(2):257–273. CrossRefGoogle Scholar
  5. 5.
    Garcia B, Lopez L, Gortzar F, Gallego M, Carella GA (2017) NUBOMEDIA: The first open source WebRTC PaaS. In: Proceedings of the 2017 ACM multimedia conference, pp 1205–1208.
  6. 6.
    Grigorik I (2013) High performance browser networking. O’Reilly Media, SebastopolGoogle Scholar
  7. 7.
    Habib A, Xu D, Atallah M, Bhargava B (2005) Verifying data integrity in peer-to-peer video streaming. CERIAS.
  8. 8.
    Hefeeda M, Habib A, Botev B, Xu D, Bhargava B (2003) PROMISE: peer-to-peer media streaming using collectcast. In: Proceedings of the 2003 ACM multimedia conference.
  9. 9.
    Hefeeda M, Habib A, Botev B, Xu D, Bhargava B (2005) CollectCast: a peer-to-peer service for media streaming. In: Proceedings of the 11th ACM international conference on multimedia, vol 11, no 1, pp 68–81.
  10. 10.
  11. 11.
  12. 12.
    JavaScript Session Establishment Protocol (JSEP),
  13. 13.
    Lopez L, Paris M, Carot S, Garcia B, Gallego M, Gortazar F, Benitez R, Santos J, Fernandez D, Vlad RT, Gracia I, Lopez FJ (2016) Kurento: The WebRTC modular media server. In: Proceedings of the 2016 ACM multimedia conference, pp 1187–1191.
  14. 14.
    Loreto S, Pietro RS (2014) Real-time communication with webRTC: Peer-to-peer in the browser. O’Reilly Media, SebastopolGoogle Scholar
  15. 15.
    Media Source Extensions,
  16. 16.
  17. 17.
    Modadugu N, Rescorla E (2004) The design and implementation of datagram TLS. In: Proceedings of The 2004 Network and Distributed System Security Symposium (NDSS). Scholar
  18. 18.
    Node Package Manager (NPM),
  19. 19.
    NodeJS Crypto Library,
  20. 20.
  21. 21.
    Ratnasamy S, Francis P, Handley M, Karp R, Shenker S (2001) A scalable content-addressable network. In: Proceedings of the 2001 conference on Applications, technologies, architectures, and protocols for computer communications.
  22. 22.
    Rhinow F, Veloso PP, Puyelo C, Barrett S, Nuallain EO (2014) P2P Live Video Streaming in WebRTC. In: World Congress on Computer Applications and Information Systems (WCCAIS).
  23. 23.
    Roverso R, El-Ansary S, Haridi S (2012) Peer2View: A peer-to-peer HTTP-live streaming platform. In: IEEE 12th international conference on peer-to-peer computing.
  24. 24.
    Rowstron A, Druschel P (2001) Pastry: scalable, decentralized object location, and routing for large-scale peer-to-peer systems. In: Proceedings of the 18th IFIP/ACM international conference on distributed systems platforms (Middleware), pp 329–350.
  25. 25.
    Session Description Protocol (SDP),
  26. 26.
    Session Traversal Utilities for NAT (STUN),
  27. 27.,
  28. 28.
    Stream Control Transmission Protocol (SCTP),
  29. 29.
    Stoica I, Morris R, Karger D, Kaashoek MF, Balakrishnan H (2001) Chord: a scalable peer-to-peer lookup service for internet applications. In: Conference on Applications, technologies, architectures, and protocols for computer communications (SIGCOMM).
  30. 30.
    The WebSocket Protocol RFC6455,
  31. 31.
    The Secure Real-time Transport Protocol (SRTP),
  32. 32.
    Traversal Using Relays around NAT (TURN),
  33. 33.
    Vogt C, Werner MJ, Schmidt TC (2013) Leveraging WebRTC for P2P content distribution in web browsers. In: Proceedings of the International Conference on Network Protocols (ICNP).
  34. 34.
  35. 35.
  36. 36.
  37. 37.
  38. 38.
    Wichtlhuber M, Rückert J, Stingl D, Schulz M, Hausheer D (2012) Energy-efficient mobile P2P video streaming. In: Proceedings of the IEEE 12th International Conference on Peer-to-Peer Computing (P2P).

Copyright information

© Springer Science+Business Media, LLC, part of Springer Nature 2019

Authors and Affiliations

  1. 1.Computer Science DepartmentPurdue UniversityWest LafayetteUSA

Personalised recommendations