Added Compatibility with the Dataset to the VLC DASH Plugin

A new set of patches is now available which make the plugin fully compatible with the dataset from our website and a part of the actual standard. A zip package with the patches could be found here.

The profile used in the dataset is the isoffmain which is also part of the actual DASH standard that has recently been ratified as IS. Backwards compatibility with the basiccm profile is also given. The dataset could be found here. Furthermore the plugin also supports now HTTP byte range requests and the DASH mediaRange and range attributes of the init segment and the segment.

Description of the Patches:

  1. Patch 001: Parsing and management of the isoffmain profile
  2. Patch 002: Added byte range requests
  3. Patch 003: Due to the fact that resolution switching works not smooth in VLC we have introduced two user values where the user can define his/her preferred resolution. After that the plugin will only switch between the same resolutions that fit best to this preferences:

This entry was posted in DASH. Bookmark the permalink.

20 Responses to Added Compatibility with the Dataset to the VLC DASH Plugin

  1. Yacov says:

    nice work!

    how can i update my VLC with this new patches?

  2. Suzie says:

    Finally! Has Dash encoder updated accordingly?

    • slederer says:

      Hi suzie,
      what do you mean? the VLC plugin wasn’t working with the recent version of the IS … DASHEncoder already generates MPDs for the recent IS as well as for the cm-profile.
      Best Regards
      Stefan

  3. John says:

    Does vlc latest builds have this patches?

  4. John says:

    DO I understand correctly that after these changes applied, finally vlc will be able to play dash content generated by MP4Box?

    also does DASHENcoder m4s files differ from m4s files generated by only MP4Box?
    I ask because I see in examples 2 types of mpd files to the same content

    • slederer says:

      Hi,
      MP4Box has been updated in the last two weeks to the recent IS and development still goes on according to the SVN commits. The generated MPDs of MP4Box(current version, rev. 3884) have to be modified slightly because there is the abolute path instead of a URL inside it, then they are compatible.
      The m4s files of MP4Box are used by DASHEncoder (it’s only a wrapper for MP4Box).
      Which mpd example files do you mean? Dataset or Download section? In the dataset there are compatible MPDs for the IS and the previous version of DASH (basic-cm profile). After the recent patches of Christopher the vlc plugin is now able to play also the MPDs in the IS version.
      Best Regards
      Stefan

  5. John says:

    So m4s files generated by MP4Box and DASEncoder can be played by vlc, the only difference is that DASHEncoder can make 2 versions of mpd file like in that example:
    http://www-itec.uni-klu.ac.at/ftp/datasets/mmsys12/RedBullPlayStreets/redbull_1s/

    RedBullPlayStreets_1s_DASH_VLC_Compatible.mpd plays in vlc,
    RedBullPlayStreets_1s_act_Standard.mpd doesn’t play in vlc but both refer to the same video files

    I hope that vlc team will include that patch soon :)
    also I noticed that osmo4 player can play mpd files generated by MP4Box

    • slederer says:

      Exactly

      Did you apply the patches mentioned in the post? To play RedBullPlayStreets_1s_act_Standard.mpd you would have to apply the patches or those christopher submitted on the vlc mailing list.

      Yes, the gpac suite (including osmo4) is also able to play DASH-mpds.

      Best Regards
      Stefan

  6. Mark says:

    Intresting conversation

    Could you guys tell me please, that m4a files, aren’t just made from splited one m4s file?
    I ask because I read that presentation : http://tech.ebu.ch/docs/events/webinar043-mpeg-dash/presentations/ebu_mpeg-dash_webinar043.pdf
    and from what I understand such one m4s file have additional information that normal one mp4 file dosen’t have. It’s because the need of fragments so diffrent quality can be choosen by the player etc.

    I know that maybe I ask stupid question but I am new in that technology and try to understand everything properly.

    • cmueller says:

      No it is not possible to split a mp4 file simply into segments as you suggested there is more information needed in the segments. The structure of a segmented mp4 is completely different to a normal mp4 that only consist of one mdat box and an index at the beginning. Take a look at Annex C.7 of the ISOBMFF standard it describes the construction of fragmented movies.

  7. Tom says:

    I’m sorry that I can’t find the patches from the link. I have download the latest version of vlc in windows and ubuntu, which don’t contain these patches. I will be grateful if you can provide me the patches by email or any ways convenient for you.

  8. Christopher Mueller says:

    Simply download the nightlys for your system from nigthlies or checkout vlc through git. The patches are already in the offcial git repo. In our video section is also a video which shows that it works.

  9. SD says:

    hi there

    I’m working on my rate adaptation algorithm in ubuntu.

    is there any dash plugin src code in linux which solves resolution switching problem ?

    My vlc is vlc-2.1.0-2012 11/02 version(from nightly)

    and it seems that it can only play the same resolution media

    thank you!

  10. cris says:

    hello,
    i works in ubuntu enironnement,
    i want to show video with mpeg-dash and it’s performance, for this
    i do :
    1) git clone git://git.videolan.org/vlc.git
    2)cd vlc
    3)./bootstrap
    4)./configure
    5) make ( in this case i show error :
    avio.c:441:9: attention : ‘av_url_read_pause’ is deprecated (declared at /usr/include/libavformat/avio.h:238) [-Wdeprecated-declarations]
    cc1: some warnings being treated as errors
    make[5]: *** [libaccess_avio_plugin_la-avio.lo] Erreur 1
    make[5]: quittant le répertoire « /home/rabah/vlc/modules/access »
    make[4]: *** [all-recursive] Erreur 1
    make[4]: quittant le répertoire « /home/rabah/vlc/modules/access »
    make[3]: *** [all] Erreur 2
    make[3]: quittant le répertoire « /home/rabah/vlc/modules/access »
    make[2]: *** [all-recursive] Erreur 1
    make[2]: quittant le répertoire « /home/rabah/vlc/modules »
    make[1]: *** [all-recursive] Erreur 1
    make[1]: quittant le répertoire « /home/rabah/vlc »
    make: *** [all] Erreur 2
    )
    can you help me please ?

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>