For our dataset we developed a new content generation tool – on top of GPAC’s MP4Box – for DASH video on demand content called DASHEncoder.
The DASHEncoder steps are depicted here:
DASHEncoder generates the desired representations (quality/bitrate levels), fragmented MP4 files, and MPD file based on a given config file or by command line parameters respectively. Given the set of parameters the user has a wide range of possibilities for the content generation, including the variation of the segment size, bitrate, resolution, encoding settings, URL , etc., which is shown by the example of a DASHEncoder config file in the git repository of DASHEncoder.
The DASHEncoder is available as open source with the aim that other developers will join this project. The content generated by DASHEncoder is compatible with our DASH VLC plugin which can be used as a decoder and player respectively.
Current features and restrictions:
- Generation of video only, audio only or audio+video DASH content
- h.264 encoding based on x264: Constant and variable bitrate encoding
- Supported profile: urn:mpeg:dash:profile:isoff-main:2011
- PSNR logging and MySQL interface for storing in a database(only for common resoltution representations)
- There are currently problems with the playback of the content containing Audio with the DASH VLC plugin
You can find the git repository here: https://github.com/slederer/DASHEncoder
For compilation just read the “DASHEncoder-howto.txt” of the git repository. Alternatively follow this instructions:
- x264: use a version with scaling enabled. To be sure, get the latest version from the x264 git repository and compile it by your own.
- MP4Box: use the actual version from the SVN repository of GPAC (this will support dash multiplexing)
- ffmepg (optional): if you use other input source formats than YUV, may use ffmpeg for the pipe to x264
- Install to mysql client libraries (may needs some changes in the make file of DASHEncoder because of the paths)
- Get the actual version from the git repository
- run: make
- Edit the paramters of the example config file
- run: ./DASHEncoder
About Citation of DASHEncoder:
We kindly ask you to refer the following paper in any publication mentioning DASHEncoder:
Stefan Lederer, Christopher Müller and Christian Timmerer, “Dynamic Adaptive Streaming over HTTP Dataset”, In Proceedings of the ACM Multimedia Systems Conference 2012, Chapel Hill, North Carolina, February 22-24, 2012. [pdf]