[FFmpeg-user] MPEG DASH with Audio Only Adaptive Streaming

Ronak ronak2121 at yahoo.com
Wed Aug 1 19:03:28 EEST 2018


Hi all,

I'd like to generate an MPEG DASH stream that would include all of the Representations/AdaptationSets inside of my mp4. I've mapped 5 separate audio streams into my input mp4.

However, no matter what I do with the command line arguments, I'm always only getting one Adaptation Set.

This is command I've tried:

a45e60e46a79:input ronakp$ ffmpeg -i output.mp4 -codec copy -f dash -single_file_name output.m4s -seg_duration 9.75238095238095 output.mpd
ffmpeg version git-2018-06-23-b86c575 Copyright (c) 2000-2018 the FFmpeg developers
  built with Apple LLVM version 9.1.0 (clang-902.0.39.2)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/HEAD-b86c575 --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-gpl --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-librubberband --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-opencl --enable-videotoolbox --disable-lzma --enable-nonfree
  libavutil      56. 18.102 / 56. 18.102
  libavcodec     58. 20.103 / 58. 20.103
  libavformat    58. 17.101 / 58. 17.101
  libavdevice    58.  4.101 / 58.  4.101
  libavfilter     7. 25.100 /  7. 25.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  2.100 /  5.  2.100
  libswresample   3.  2.100 /  3.  2.100
  libpostproc    55.  2.100 / 55.  2.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'output.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2mp41
    encoder         : Lavf58.17.101
  Duration: 00:09:44.78, start: 0.000000, bitrate: 810 kb/s
    Stream #0:0(und): Audio: aac (HE-AACv2) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 32 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
    Stream #0:1(und): Audio: aac (HE-AACv2) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 64 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
    Stream #0:2(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
    Stream #0:3(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 256 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
    Stream #0:4(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 320 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
[dash @ 0x7fe19309ac00] Opening 'output.m4s' for writing
Output #0, dash, to 'output.mpd':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2mp41
    encoder         : Lavf58.17.101
    Stream #0:0(und): Audio: aac (HE-AACv2) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 32 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
Press [q] to stop, [?] for help


I've tried other commands like:

ffmpeg -i output.mp4 -codec copy -f dash -single_file_name output.m4s -seg_duration 9.75238095238095 -adaptation_sets "id=0,streams=a" -hls_playlist 1 output.mpd

But it doesn't seem to generate an MPEG DASH stream for all input streams either.

What is the correct command line I should be using for this? If this doesn't work, I'll file an issue to ffmpeg for this, and try to figure out how to fix this.

Thanks,

Ronak




More information about the ffmpeg-user mailing list