Search code examples
ffmpegmpeg-dash

What does 'dash' option in ffmpeg command do?


What is the effect or meaning of the -dash option in a ffmpeg command (extracting a track for DASH streaming) ? E.g this one :

ffmpeg -i in.video -vn -acodec libvorbis -ab 128k -dash 1 audio.webm

I can't find anything about it in the ffmpeg documentation.


Solution

  • It's an option to the webm muxer to tell it to pruduce files that can be used with DASH streaming or not.

    To see in detail what that means you probably have to consult the ffmpeg source code https://github.com/FFmpeg/FFmpeg/blob/master/libavformat/matroskaenc.c search for is_dash.

    $ ffmpeg -help muxer=webm
    Muxer webm [WebM]:
        Common extensions: webm.
        Mime type: video/webm.
        Default video codec: vp9.
        Default audio codec: opus.
        Default subtitle codec: webvtt.
    webm muxer AVOptions:
      -reserve_index_space <int>        E........ Reserve a given amount of space (in bytes) at the beginning of the file for the index (cues). (from 0 to INT_MAX) (default 0)
      -cluster_size_limit <int>        E........ Store at most the provided amount of bytes in a cluster.  (from -1 to INT_MAX) (default -1)
      -cluster_time_limit <int64>      E........ Store at most the provided number of milliseconds in a cluster. (from -1 to I64_MAX) (default -1)
      -dash              <boolean>    E........ Create a WebM file conforming to WebM DASH specification (default false)
      -dash_track_number <int>        E........ Track number for the DASH stream (from 0 to 127) (default 1)
      -live              <boolean>    E........ Write files assuming it is a live stream. (default false)
      -allow_raw_vfw     <boolean>    E........ allow RAW VFW mode (default false)
      -write_crc32       <boolean>    E........ write a CRC32 element inside every Level 1 element (default true)