Skip to main content
Log in

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

  • Published:
Multimedia Tools and Applications Aims and scope Submit manuscript

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15

Similar content being viewed by others

Notes

  1. We refer the reader to this useful books. You will find a detailed explanation of WebSockets and WebRTC

  2. Extending our library to include Elliptic Curve Cryptography is straightforward.

  3. In this paper, we use the terms nodes, vertices, and peers interchangeably.

  4. Our future work will include a Certification Authority to deal with digital signatures, public keys, and tokens.

  5. The threshold represents the probability of the integrity analysis of a video chunk.

References

  1. Chromium, https://www.chromium.org

  2. Datagram Transport Layer Security (DTLS), https://tools.ietf.org/html/rfc4347

  3. Electron, http://electron.atom.io

  4. Ferreira R, Jagannathan S, Grama A (2006) Locality in structured peer-to-peer networks. J Parallel Distrib Comput 66(2):257–273. https://doi.org/10.1016/j.jpdc.2005.09.002

    Article  MATH  Google Scholar 

  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. https://doi.org/10.1145/3123266.3129392

  6. Grigorik I (2013) High performance browser networking. O’Reilly Media, Sebastopol

    Google Scholar 

  7. Habib A, Xu D, Atallah M, Bhargava B (2005) Verifying data integrity in peer-to-peer video streaming. CERIAS. https://doi.org/10.1117/12.587201

  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. https://doi.org/10.1145/957013.957022

  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. https://doi.org/10.1007/s00530-005-0191-6

  10. How does HTTP/2 solve the Head of Line blocking (HOL) issue, https://community.akamai.com/customers/s/article/How-does-HTTP-2-solve-the-Head-of-Line-blocking-HOL-issue

  11. ICE, https://tools.ietf.org/id/draft-ietf-ice-rfc5245bis-13.html

  12. JavaScript Session Establishment Protocol (JSEP), https://tools.ietf.org/html/draft-ietf-rtcweb-jsep-24

  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. https://doi.org/10.1145/2964284.2973798

  14. Loreto S, Pietro RS (2014) Real-time communication with webRTC: Peer-to-peer in the browser. O’Reilly Media, Sebastopol

    Google Scholar 

  15. Media Source Extensions, https://w3c.github.io/media-source

  16. MioStream, https://github.com/maverick-zhn/miostream

  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). https://doi.org/10.1.1.74.6613

  18. Node Package Manager (NPM), https://www.npmjs.com/

  19. NodeJS Crypto Library, https://nodejs.org/api/crypto.html

  20. PeerJS, http://peerjs.com/

  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. https://doi.org/10.1145/964723.383072

  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). https://doi.org/10.1109/WCCAIS.2014.6916588

  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. https://doi.org/10.1109/P2P.2012.6335813 https://doi.org/10.1109/P2P.2012.6335813

  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. https://doi.org/10.1007/3-540-45518-3

  25. Session Description Protocol (SDP), https://tools.ietf.org/html/rfc4566

  26. Session Traversal Utilities for NAT (STUN), https://tools.ietf.org/html/rfc5389

  27. SocketCluster.io, http://socketcluster.io

  28. Stream Control Transmission Protocol (SCTP), https://tools.ietf.org/html/rfc4960

  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). https://doi.org/10.1145/383059.383071

  30. The WebSocket Protocol RFC6455, https://tools.ietf.org/html/rfc6455

  31. The Secure Real-time Transport Protocol (SRTP), https://www.ietf.org/rfc/rfc3711.txt

  32. Traversal Using Relays around NAT (TURN), https://tools.ietf.org/html/rfc5766

  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). https://doi.org/10.1109/ICNP.2013.6733637

  34. WebM, http://www.webmproject.org/

  35. WebRTC, https://webrtc.org

  36. WebRTC use cases, https://tools.ietf.org/html/rfc7478

  37. WebSockets, https://www.websocket.org/

  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). https://doi.org/10.1109/P2P.2012.6335812

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Servio Palacios.

Additional information

Publisher’s note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Palacios, S., Santos, V., Barsallo, E. et al. MioStream: a peer-to-peer distributed live media streaming on the edge. Multimed Tools Appl 78, 24657–24680 (2019). https://doi.org/10.1007/s11042-018-6940-2

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11042-018-6940-2

Keywords

Navigation