[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