libdash – Simplifies the usage of DASH

libdash is a library that simplifies DASH with the intention to make the usage of DASH streams as simple as the usage of a file. The library handles the whole HTTP connection setup, the xml parsing and the bandwidth adaptation process and with its internal buffer it tries to enable a stable stream for the user of the library. Furthermore the library supports a part of the isoffmain profile, the full basic-cm profile and HTTP byte range requests. Therefore all MPDs from our dataset are now accessible more

Everybody is invited to contribute, to get involved in and exited about DASH! A trac where you can report bugs or request new featurs or contribute is available at: Project Website

DASH in less than 5 Commands

  1. Get a DASHManager Interface from the DLL (Line: 40)
  2. Open the MPD (Line: 41)
  3. Start the Download Process (Line: 42)
  4. Read from the Stream (Line: 43)

This entry was posted in DASH. Bookmark the permalink.

24 Responses to libdash – Simplifies the usage of DASH

  1. cai says:

    Hello cmueller, can you provide a visual studio 2008 project solution please. I just have VS2008 on my computer and can’t open the project with every method I can try.

  2. Yacov says:

    I saw some differences in the code between libdash files and your vlc DASH plugin files
    in particular adding a buffer which is not present in your plugin.

    Are you going to update the plugin as well?
    thank you.

    • cmueller says:

      The patches for the buffer and downloader are already submitted to vlc.

      edit: And now also available here ;)

      • Yacov says:

        Great Work!!

        I wrote my own adaptation logic and i want to test it within your plugin.
        How can i add my files to your plugin?

        • cmueller says:

          This should be very simple just derive a class from AbstractAdaptationLogic and implement the getNextChunk Method. You will get an IMPDManager in the constructor which has a lot of helper methods to simplify the access to a MPD. Then you have to register your class at the AdaptationLogicFactory and choose it in the DASHManager. That’s it!

          Just take a look at the two implemented AdaptionLogics Rate and AlwaysBest this should be self-explanatory.

  3. cmueller says:

    If you insert a new file you have to change the modules file which is trivial. The makefile will be auto generated out of the modules file by vlc.

  4. mojjis says:

    Is there any libdash interface for Linux support ?
    here mentioned one is for Windows.

  5. Christopher Mueller says:

    Hi just checkout the code it is runable on windows and linux -> makefiles are included in the project.


  6. Sri says:

    I tested using sample program using below url is not working

    profile: urn:mpeg:dash:profile:mp2t-main:2011

    • Christopher Mueller says:

      libdash is only compatible with our dataset our MPD’s that are equal to them. But a new version of the library, which will fix that issue, will be released soon probably on Jan 11.

  7. sri says:


    Could you please update when there is release for mpeg2ts support in libdash.

    Thanks in advance.

    • Christopher Mueller says:

      It is nearly finished we are just performing some tests. I think we will release it next Tuesday.

  8. bambitous says:

    I read about adaptive streaming and the mpeg-dash protocol.
    I want to use the libdash library (the sample player especially). However I don’t understand it.
    For example what is LibavDecoder? and what is it’s use ?
    I made an enomous resarch on the internet for a documentation explaining the libdash and I generated the doxygen document in vain.
    Sorry, I am a beginner in this domain.
    Can you please help me?
    thank you

  9. Pingback: MPEG-DASH, libdash

  10. vicky says:

    Hi Christopher,

    Is there a port for Android as well?
    How much work do you think it is to get that working on android?


Leave a Reply

Your email address will not be published. Required fields are marked *



You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>