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.
Similar content being viewed by others
Notes
We refer the reader to this useful books. You will find a detailed explanation of WebSockets and WebRTC
Extending our library to include Elliptic Curve Cryptography is straightforward.
In this paper, we use the terms nodes, vertices, and peers interchangeably.
Our future work will include a Certification Authority to deal with digital signatures, public keys, and tokens.
The threshold represents the probability of the integrity analysis of a video chunk.
References
Chromium, https://www.chromium.org
Datagram Transport Layer Security (DTLS), https://tools.ietf.org/html/rfc4347
Electron, http://electron.atom.io
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
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
Grigorik I (2013) High performance browser networking. O’Reilly Media, Sebastopol
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
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
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
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
ICE, https://tools.ietf.org/id/draft-ietf-ice-rfc5245bis-13.html
JavaScript Session Establishment Protocol (JSEP), https://tools.ietf.org/html/draft-ietf-rtcweb-jsep-24
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
Loreto S, Pietro RS (2014) Real-time communication with webRTC: Peer-to-peer in the browser. O’Reilly Media, Sebastopol
Media Source Extensions, https://w3c.github.io/media-source
MioStream, https://github.com/maverick-zhn/miostream
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
Node Package Manager (NPM), https://www.npmjs.com/
NodeJS Crypto Library, https://nodejs.org/api/crypto.html
PeerJS, http://peerjs.com/
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
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
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
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
Session Description Protocol (SDP), https://tools.ietf.org/html/rfc4566
Session Traversal Utilities for NAT (STUN), https://tools.ietf.org/html/rfc5389
SocketCluster.io, http://socketcluster.io
Stream Control Transmission Protocol (SCTP), https://tools.ietf.org/html/rfc4960
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
The WebSocket Protocol RFC6455, https://tools.ietf.org/html/rfc6455
The Secure Real-time Transport Protocol (SRTP), https://www.ietf.org/rfc/rfc3711.txt
Traversal Using Relays around NAT (TURN), https://tools.ietf.org/html/rfc5766
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
WebRTC, https://webrtc.org
WebRTC use cases, https://tools.ietf.org/html/rfc7478
WebSockets, https://www.websocket.org/
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
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher’s note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
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
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11042-018-6940-2