Tool to generated DASH content
C++ Makefile
Switch branches/tags
Nothing to show
Clone or download
Latest commit 241f1f9 Jul 22, 2016

README.md

Welcome to DASHEncoder

We (http://dash.itec.aau.at and http://www.bitmovin.com) have developed a new content generation tool – on top of GPAC’s MP4Box and x264 – for MPEG-DASH content generation, called DASHEncoder.

Alternatively, it is possible to generate MPEG-DASH and Apple HLS content with the cloud based transcoding service Bitmovin. Visit www.bitmovin.com and experience easy access to MPEG-DASH and Apple HLS video transcoding with $ 25 of transcoding credits for free.

Bitmovin

How does it work?

The DASHEncoder steps are depicted here: DASHEncoder generates the desired representations (quality/bitrate levels), fragmented MP4 files, and a 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
  • PSNR logging and MySQL interface for storing in a database (only for common resolution representations)
  • There are currently problems with the playback of the content containing Audio with the DASH VLC plugin

Compilation and installation

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:

Installation:

  • Get the actual version from the git repository
  • run: make
  • Finished!

Run:

  • Edit the parameters of the example config file
  • run: ./DASHEncoder

If you're using the GitHub for Mac, simply sync your repository and you'll see the new branch.

Dependencies

  • x264: use a version with scaling enabled. To be sure, get the latest version from the x264 git repository and compile it on your own.
  • MP4Box: use the actual version from the SVN repository of GPAC (this will support dash multiplexing) http://gpac.wp.institut-telecom.fr/2011/04/20/compiling-gpac-on-ubuntu/
  • FFmpeg (optional): if you use other input source formats than YUV, may use FFmpeg for the pipe to x264
  • MySQL (optional) client libraries (may needs some changes in the make file of DASHEncoder because of the paths)

Authors and Contributors

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]

Support or Contact

Having trouble? Check out the documentation at http://dash.itec.aau.at. We also offer professional services via www.bitmovin.com/support, so you are warmly invited to contact sales@bitmovin.com and we’ll get in touch with you.