[FFmpeg-trac] #8754(undetermined:new): Dash manifest: Conflicting stream par values in Adaptation Set

FFmpeg trac at avcodec.org
Wed Jun 24 13:55:54 EEST 2020


#8754: Dash manifest: Conflicting stream par values in Adaptation Set
-------------------------------------+-------------------------------------
             Reporter:  cars10       |                     Type:  defect
               Status:  new          |                 Priority:  normal
            Component:               |                  Version:
  undetermined                       |  unspecified
             Keywords:               |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
 Summary of the bug:

 We use ffmpeg to generate dash and hls manifest from four different
 inputs:

 * audio-only m4a file
 * video-only 480p mp4 file
 * video-only 720p mp4 file
 * video-only 1080p mp4 file

 This works perfectly with ffmpeg 4.2.x but fails on 4.3 with "Conflicting
 stream par values in Adaptation Set".

 How to reproduce:

 We use the following command to create the manifests and stream files:
 {{{
 % ffmpeg -y -i audio_only.m4a  -i 480p_video_only.mp4  -i
 720p_video_only.mp4  -i 1080p_video_only.mp4 -c copy -map 0:a:0 -map 1:v:0
 -map 2:v:0 -map 3:v:0 -f dash -single_file 1 -single_file_name
 stream-\$RepresentationID\$.m4s -hls_playlist 1 -adaptation_sets
 "id=0,streams=0 id=1,streams=1,2,3" manifest.mpd

 ffmpeg version 4.3-static https://johnvansickle.com/ffmpeg/  Copyright (c)
 2000-2020 the FFmpeg developers
   built with gcc 8 (Debian 8.3.0-6)
   configuration: --enable-gpl --enable-version3 --enable-static --disable-
 debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio
 --cc=gcc --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gmp
 --enable-libgme --enable-gray --enable-libaom --enable-libfribidi
 --enable-libass --enable-libvmaf --enable-libfreetype --enable-libmp3lame
 --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg
 --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libsrt
 --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab
 --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264
 --enable-libx265 --enable-libxml2 --enable-libdav1d --enable-libxvid
 --enable-libzvbi --enable-libzimg
   libavutil      56. 51.100 / 56. 51.100
   libavcodec     58. 91.100 / 58. 91.100
   libavformat    58. 45.100 / 58. 45.100
   libavdevice    58. 10.100 / 58. 10.100
   libavfilter     7. 85.100 /  7. 85.100
   libswscale      5.  7.100 /  5.  7.100
   libswresample   3.  7.100 /  3.  7.100
   libpostproc    55.  7.100 / 55.  7.100
 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'audio_only.m4a':
   Metadata:
     major_brand     : M4A
     minor_version   : 512
     compatible_brands: M4A isomiso2
     encoder         : Lavf58.45.100
   Duration: 00:36:38.36, start: 0.000000, bitrate: 195 kb/s
     Stream #0:0(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz,
 stereo, fltp, 194 kb/s (default)
     Metadata:
       handler_name    : L-SMASH Audio Handler
 Input #1, mov,mp4,m4a,3gp,3g2,mj2, from '480p_video_only.mp4':
   Metadata:
     major_brand     : isom
     minor_version   : 512
     compatible_brands: isomiso2avc1mp41
     encoder         : Lavf58.45.100
   Duration: 00:36:38.32, start: 0.000000, bitrate: 338 kb/s
     Stream #1:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p,
 852x480, 335 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)
     Metadata:
       handler_name    : L-SMASH Video Handler
 Input #2, mov,mp4,m4a,3gp,3g2,mj2, from '720p_video_only.mp4':
   Metadata:
     major_brand     : isom
     minor_version   : 512
     compatible_brands: isomiso2avc1mp41
     encoder         : Lavf58.45.100
   Duration: 00:36:38.32, start: 0.000000, bitrate: 1365 kb/s
     Stream #2:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p,
 1280x720, 1362 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)
     Metadata:
       handler_name    : L-SMASH Video Handler
 Input #3, mov,mp4,m4a,3gp,3g2,mj2, from '1080p_video_only.mp4':
   Metadata:
     major_brand     : isom
     minor_version   : 512
     compatible_brands: isomiso2avc1mp41
     encoder         : Lavf58.45.100
   Duration: 00:36:38.32, start: 0.000000, bitrate: 5131 kb/s
     Stream #3:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p,
 1920x1080, 5129 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)
     Metadata:
       handler_name    : L-SMASH Video Handler
 [dash @ 0x6c94cc0] Conflicting stream par values in Adaptation Set 2
 Could not write header for output file #0 (incorrect codec parameters ?):
 Invalid argument
 Stream mapping:
   Stream #0:0 -> #0:0 (copy)
   Stream #1:0 -> #0:1 (copy)
   Stream #2:0 -> #0:2 (copy)
   Stream #3:0 -> #0:3 (copy)
     Last message repeated 1 times

 }}}

 We tried to change the adaptation sets to "id=0,streams=a id=1,streams=v"
 but that did not help either. Neither the error message nor the source
 code helped us in understanding what is wrong, so we believe this could be
 a bug.

--
Ticket URL: <https://trac.ffmpeg.org/ticket/8754>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list