OakStreaming: A Peer-to-Peer Video Streaming Library
Keywords:
Web Engineering, Video Streaming, Peer-to-Peer, WebRTC, WebTorrentAbstract
Multimedia platforms dealing with movie streaming and video-based short messages have increased the global Internet video traffic substantially in the last couple of years. Over the same period, multimedia on the Web has been standardized in terms of codecs and browserbased JavaScript APIs. However, today the technological challenges concerning the distribution of large video files are mainly tackled by scaling up capacities in cloud data centers, or relying on content delivery networks. Both approaches favor financially strong, large companies, while independent video providers with highly demanded videos are disadvantaged. Peer-to-peer streaming provides an alternative by shifting the data streams to the clients. In this article, we conceptualize different methods to move video delivery from centralized cloud infrastructures to end user devices.We discuss their strengths & weaknesses and present design considerations. To exemplify a particular approach, we showcase the implementation and evaluation of OakStreaming, our system that streams videos peer-to-peer via WebTorrent in HTML5. Particularly, we offer Web video providers a library that has various parameters, for instance to limit the bandwidth available for peer-topeer uploads. The resulting library is available as open source software on GitHub.
Downloads
References
Adam Bergkvist, Daniel C. Burnett, Cullen Jennings, Anant
Narayanan, Bernard Aboba, Taylor Brandstetter, and Jan-Ivar
Bruaroey. WebRTC 1.0: Real-time Communication Between
Browsers: W3C Candidate Recommendation 27 September 2018.
Rajkumar Buyya, Mukaddim Pathan, and Athena Vakali. Content
Delivery Networks, volume 9 of Lecture notes in electrical
engineering. Springer-Verlag, Berlin, 2008.
Cisco Systems. The Zettabyte Era: Trends and Analysis: June
Andrea Gallidabino and Cesare Pautasso. Maturity Model for
Liquid Web Architectures. In Jordi Cabot, Roberto de Virgilio,
and Riccardo Torlone, editors, Web Engineering, volume 10360,
pages 206–224, Cham, 2017. Springer International Publishing.
Yonghao Hu, Zhaohui Chen, Xiaojun Liu, Fei Huang, and
Jinyuan Jia. WebTorrent Based Fine-grained P2PTransmission of
Large-scale WebVR Indoor Scenes. In Matt Adcock and Tomasz
Bednarz, editors, Proceedings of the 22nd International Conference
on 3D Web Technology – Web3D ’17, pages 1–8, New York,
USA, 2017. ACM Press.
B. Li, S. Xie, Y. Qu, G. Y. Keung, C. Lin, J. Liu, and X. Zhang.
Inside the New Coolstreaming: Principles, Measurements and
Performance Implications. In IEEE Conference on Computer
Communications, pages 1031–1039. IEEE, 2008.
Bo Li and Hao Yin. Peer-to-Peer Live Video Streaming on the
Internet: Issues, Existing Approaches, and Challenges. Communications
Magazine, IEEE, 45(6):94–99, 2007.
A. J. Meyn. Browser to browser media streaming with HTML5:
Master’s thesis. Aalto University, 2012.
Microsoft. Object RTC API, 2017.
Christian Mossner and Dennis Herhausen. Video: the New Rules
of Communication. Marketing Review St. Gallen, 34(2):36–44,
Mohamed Moulay and Vincenzo Mancuso. Experimental Performance
Evaluation of WebRTC Video Services over Mobile
Networks. In 2018 IEEE Conference on Computer Communications
Workshops (INFOCOM WKSHPS), pages 541–546. IEEE,
04.2018–19.04.2018.
Fl´avio Ribeiro Nogueira Barbosa and Luiz Fernando Gomes
Soares. Towards theApplication ofWebRTC Peer-to-Peer to Scale
Live Video Streaming over the Internet. In Simposio Brasileiro
de Redes de Computadores (SBRC), 2014.
Jukka K. Nurminen,Antony J. R. Meyn, Eetu Jalonen,Yrjo Raivio,
and Ra´ul Garcıa Marrero. P2P Media Streaming with HTML5
and WebRTC. In 2013 IEEE Conference on Computer Communications
Workshops (INFOCOM WKSHPS), pages 63–64,
Panagiotis Papadopoulos, Panagiotis Ilia, Michalis Polychronakis,
Evangelos P. Markatos, Sotiris Ioannidis, and Giorgos Vasiliadis.
Master ofWeb Puppets: AbusingWeb Browsers for Persistent and
Stealthy Computation. CoRR, abs/1810.00464, 2018.
Konstantina Papagiannaki, Krishna Gummadi, Craig Partridge,
Mingchen Zhao, Paarijaat Aditya, Ang Chen, Yin Lin, Andreas
Haeberlen, Peter Druschel, Bruce Maggs, Bill Wishon, and
Miroslav Ponec. Peer-assisted content distribution in Akamai
netsession. In IMC ’13 Proceedings of the 2013 conference on
Internet measurement conference, pages 31–42. 2013.
Andreas Reiter and Alexander Marsalek. WebRTC: Your Privacy
is at Risk. In Proceedings of the Symposium on Applied
Computing, pages 664–669. ACM, Marrakech, Morocco, 2017.
Eric Rescorla. Introduction to Distributed Hash Tables, 2006.
Florian Rhinow, Pablo Porto Veloso, Carlos Puyelo, Stephen
Barrett, and Eamonn O. Nuallain. P2P live video streaming in
WebRTC. In 2014 World Congress on Computer Applications
and Information Systems (WCCAIS), pages 1–6, 2014.
Roberto Roverso and Mikael Hogqvist. Hive.js: Browser-Based
Distributed Caching for Adaptive Video Streaming. In IEEE
International Symposium on Multimedia, pages 143–146, 2014.
Mahadev Satyanarayanan, Pieter Simoens, Yu Xiao, Padmanabhan
Pillai, Zhuo Chen, Kiryong Ha, Wenlu Hu, and Brandon
Amos. Edge Analytics in the Internet of Things. IEEE Pervasive
Computing, 14(2):24–31, 2015.
Thomas Stockhammer. Dynamic adaptive streaming over
HTTP – Standards and Design Principles. In Ali C. Begen and
Ketan Mayer-Patel, editors, Proceedings of the second annual
ACM conference on Multimedia systems – MMSys ’11, page 133,
New York, USA, 2011. ACM Press.
I. Stoica, R. Morris, D. Liben-Nowell, D. R. Karger, M. F.
Kaashoek, F. Dabek, and H. Balakrishnan. Chord: a scalable
peer-to-peer lookup protocol for internet applications. IEEE/ACM
Transactions on Networking, 11(1):17–32, 2003.
Masayuki Sugawara, Seo-Young Choi, and David Wood. Ultra-
High-Definition Television (Rec. ITU-R BT.2020): A Generational
Leap in the Evolution of Television [Standards in a
Nutshell]. IEEE Signal Processing Magazine, 31(3):170–174,
Yevgeniya Sulema, Noam Amram, Oleksii Aleshchenko, and
Olena Sivak. Quality of Experience Estimation for WebRTCbased
Video Streaming. In European Wireless 2018; 24th
European Wireless Conference. [VDE Verlag GmbH], [Berlin],
Matthew Wolenetz, Jerry Smith, Mark Watson, Aaron Colwell,
and Adrian Bateman. Media Source Extensions: W3C Candidate
Recommendation 12 November 2015, 2015.