DASH over ICN/CCN Introduction
The following implementation is based on the Adaptive Streaming over ICN approach presented in this input draft of the ICN Research Group within IETF: http://trac.tools.ietf.org/group/irtf/trac/attachment/wiki/icnrg/draft-video-streaming-over-ICN-00.txt and http://www.ietf.org/proceedings/87/slides/slides-87-icnrg-5.pdf
Here we offer our implementation of Dynamic Adaptive Streaming over Content Centric Networks (DASC áka DASH over CCN), which implements MPEG Dynamic Adaptive Streaming over HTTP (DASH) utilizing a Content Centric Networking (CCN) naming scheme to identify content segments in a CCN network. Therefore, the Content Centric Networking concept of Jacobson et al. and the CCNx implementation (www.ccnx.org) of PARC is used. In particular, video segments formatted according to MPEG-DASH are available in different quality levels but instead of HTTP, CCN is used for referencing and delivery. More information on this ca be found in our paper Dynamic Adaptive Streaming over CCN: A Caching and Overhead Analysis.
Build Instructions DASH over CCN libdash Version
The DASH over ICN/CCN-enabled version of libdash can be found in a seperate development branch of the libdash repository: https://github.com/bitmovin/libdash/blob/CCN
Follow the steps described in the README.md to get DASH over CCN-version of libdash running. There you can also find instructions for streaming DASH content via CCN from (1) a local repository and (2) from the public available CCN Node ccn.bitmovin.net.
Build Instructions DASH over CCN VLC Plugin
The DASH over CCN DASH plugin is based on the DASH VLC plugin, which is officially part of VLC and could be checked out through the VLC GIT repository. Patches are provided to add the DASH over CCN support to the DASH VLC plugin. These patches can be found here and in our download section. Follow this steps to get DASH over CCN running in VLC:
- Install CCNx on your system: www.ccnx.org
- Checkout the latest VLC source code: git clone git://git.videolan.org/vlc.git
- Instructions on how to compile VLC properly could be found here
- Apply the DASH over CCN VLC plugin patches (via git am)
- Compile everything
We provide a CCN test repository with some of the DASH-content from our DASH dataset (Details here).
This CCN repository contains 14 representations of the Big Buck Bunny content at 14 different representations, ranging from 100 kbps to 4500 kbps. Each representation has the same resolution of 854×480. Segments are encoded and segmented at a segment length of 2 seconds. The content is imported in the CCN URI namespace itec1/dash/bunny/*. The included MPD in the download package references this URI in the BaseURL element (the http is replaced in the plugin).
You can download the CCN repository (zip-compressed) here and in our download section
You can easily try out the DASH over CCN VLC plugin and the test repository using the following evaluation setup:
- Attach our CCN test repository of the zip archive to your origin server’s/node’s ccnd. This can be done via the command ccnr in the directory of the CCN test repository.
- If the playback node (client) and the origin node (server) are different machines: Add the “itec1/dash/bunny/” route to the CCN nodes.
- Copy the MPD of the zip-archive to the node where the VLC is running (playback node/client)
- Play the content via the command: “vlc bunny_full.mpd”
Public CCN Node at ccn.bitmovin.net
We have also a public available CCN node up and running at ccn.bitmovin.net (126.96.36.199), containing the DASH content of the previously mentioned repository. More Information on this can be found in the libdash ReadMe.md
Citation of DASH over CCN
We kindly ask you to refer the following paper in any publication mentioning our DASH over CCN work:
Stefan Lederer, Christopher Müller, Benjamin Rainer, Christian Timmerer, and Hermann Hellwagner, “An Experimental Analysis of Dynamic Adaptive Streaming over HTTP in Content Centric Networks”, in Proceedings of the IEEE International Conference on Multimedia and Expo 2013, San Jose, USA, July, 2013
Yaning Liu, Joost Geurts, Jean-Charles Point, Stefan Lederer, Benjamin Rainer, Christopher Mueller, Chrstian Timmerer and Hermann Hellwagner, “Dynamic Adaptive Streaming over CCN: A Caching and Overhead Analysis”, in Proceedings of the IEEE international Conference on Communication (ICC) 2013 – Next-Generation Networking Symposium, Budapest, Hungary, June, 2013.
Stefan Lederer, Christopher Müller, Benjamin Rainer, Christian Timmerer, and Hermann Hellwagner, “Adaptive Streaming over Content Centric Networks in Mobile Networks using Multiple Links”, in Proceedings of the IEEE International Workshop on Immersive & Interactive Multimedia Communications over the Future Internet, Budapest, Hungary, June, 2013.