Opened 5 years ago

Last modified 3 years ago

#7717 new defect

-disposition is broken for mka containers

Reported by: hicksel Owned by:
Priority: normal Component: ffmpeg
Version: git-master Keywords: disposition, mka
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Summary of the bug:
The -disposition command does not work for mka containers. I initially wanted to set a stream as "-disposition:v:1 attached_pic". But as that did not work I tried other disposition tags. But none worked. The following is a simple example repacking a flac into a mka container but DISPOSITION:original=1 is not set.
How to reproduce:
Original File:

./ffprobe -show_streams Ironic.flac
ffprobe version N-48056-g2e2b44baba-static https://johnvansickle.com/ffmpeg/  Copyright (c) 2007-2019 the FFmpeg developers
  built with gcc 6.3.0 (Debian 6.3.0-18+deb9u1) 20170516
  configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc-6 --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gmp --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-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. 26.100 / 56. 26.100
  libavcodec     58. 46.100 / 58. 46.100
  libavformat    58. 26.100 / 58. 26.100
  libavdevice    58.  6.101 / 58.  6.101
  libavfilter     7. 48.100 /  7. 48.100
  libswscale      5.  4.100 /  5.  4.100
  libswresample   3.  4.100 /  3.  4.100
  libpostproc    55.  4.100 / 55.  4.100
Input #0, flac, from 'Ironic.flac':
  Metadata:
    SOURCE          : Deezer
    SOURCEID        : 789250
    TITLE           : Ironic
    ALBUM           : The Collection (Standard Edition)
    GENRE           : Pop
    album_artist    : Alanis Morissette
    ARTIST          : Alanis Morissette
    track           : 6
    TRACKTOTAL      : 19
    TOTALTRACKS     : 19
    disc            : 1
    DISCTOTAL       : 1
    TOTALDISCS      : 1
    LABEL           : Maverick
    LENGTH          : 225
    ISRC            : USMV20500296
    BARCODE         : 093624949060
    MEDIA           : Digital Media
    COMPILATION     : 0
    EXPLICIT        : 0
    RELEASETYPE     : Album
    ARTISTS         : Alanis Morissette
    AUTHOR          : Alanis Morissette;Glen Ballard
    LYRICS          : An old man turned ninety-eight 
                    : He won the lottery and died the next day 
                    : It's a black fly in your Chardonnay 
                    : It's a death row pardon two minutes too late 
                    : Isn't it ironic, don't you think 
                    :  
                    : It's like rain on your wedding day 
                    : It's a free ride when you've already paid 
                    : It's the good advice that you just didn't take 
                    : Who would've thought, it figures 
                    :  
                    : Mr. Play It Safe was afraid to fly 
                    : He packed his suitcase and kissed his kids good-bye 
                    : He waited his whole damn life to take that flight 
                    : And as the plane crashed down he thought 
                    : "Well, isn't this nice." 
                    : And isn't it ironic,l don't you think 
                    :  
                    : It's like rain on your wedding day 
                    : It's a free ride when you've already paid 
                    : It's the good advice that you just didn't take 
                    : Who would've thought, it figures 
                    :  
                    : Well, life has a funny way of sneaking up on you 
                    : When you think everything's okay and everything's going right 
                    : And life has a funny way of helping you out when 
                    : You think everything's gone wrong and everything blows up 
                    : In your face 
                    :  
                    : A traffic jam when you're already late 
                    : A no-smoking sign on your cigarette break 
                    : It's like ten thousand spoons when all you need is a knife 
                    : It's meeting the man of my dreams 
                    : And then meeting his beautiful wife 
                    : And isn't it ironic, don't you think 
                    : A little too ironic, and yeah I really do think 
                    :  
                    : It's like rain on your wedding day 
                    : It's a free ride when you've already paid 
                    : It's the good advice that you just didn't take 
                    : Who would've thought, it figures 
                    :  
                    : Well, life has a funny way of sneaking up on you 
                    : And life has a funny way of helping you out 
                    : Helping you out.
    YEAR            : 2005
    DATE            : 2005-11-11
  Duration: 00:03:45.93, start: 0.000000, bitrate: 972 kb/s
    Stream #0:0: Audio: flac, 44100 Hz, stereo, s16
    Stream #0:1: Video: mjpeg (Progressive), yuvj420p(pc, bt470bg/unknown/unknown), 1400x1400 [SAR 1:1 DAR 1:1], 90k tbr, 90k tbn, 90k tbc
    Metadata:
      comment         : Cover (front)
[STREAM]
index=0
codec_name=flac
codec_long_name=FLAC (Free Lossless Audio Codec)
profile=unknown
codec_type=audio
codec_time_base=1/44100
codec_tag_string=[0][0][0][0]
codec_tag=0x0000
sample_fmt=s16
sample_rate=44100
channels=2
channel_layout=stereo
bits_per_sample=0
id=N/A
r_frame_rate=0/0
avg_frame_rate=0/0
time_base=1/44100
start_pts=0
start_time=0.000000
duration_ts=9963660
duration=225.933333
bit_rate=N/A
max_bit_rate=N/A
bits_per_raw_sample=16
nb_frames=N/A
nb_read_frames=N/A
nb_read_packets=N/A
DISPOSITION:default=0
DISPOSITION:dub=0
DISPOSITION:original=0
DISPOSITION:comment=0
DISPOSITION:lyrics=0
DISPOSITION:karaoke=0
DISPOSITION:forced=0
DISPOSITION:hearing_impaired=0
DISPOSITION:visual_impaired=0
DISPOSITION:clean_effects=0
DISPOSITION:attached_pic=0
DISPOSITION:timed_thumbnails=0
[/STREAM]
[STREAM]
index=1
codec_name=mjpeg
codec_long_name=Motion JPEG
profile=Progressive
codec_type=video
codec_time_base=0/1
codec_tag_string=[0][0][0][0]
codec_tag=0x0000
width=1400
height=1400
coded_width=1400
coded_height=1400
has_b_frames=0
sample_aspect_ratio=1:1
display_aspect_ratio=1:1
pix_fmt=yuvj420p
level=-99
color_range=pc
color_space=bt470bg
color_transfer=unknown
color_primaries=unknown
chroma_location=center
field_order=unknown
timecode=N/A
refs=1
id=N/A
r_frame_rate=90000/1
avg_frame_rate=0/0
time_base=1/90000
start_pts=0
start_time=0.000000
duration_ts=20334000
duration=225.933333
bit_rate=N/A
max_bit_rate=N/A
bits_per_raw_sample=8
nb_frames=N/A
nb_read_frames=N/A
nb_read_packets=N/A
DISPOSITION:default=0
DISPOSITION:dub=0
DISPOSITION:original=0
DISPOSITION:comment=0
DISPOSITION:lyrics=0
DISPOSITION:karaoke=0
DISPOSITION:forced=0
DISPOSITION:hearing_impaired=0
DISPOSITION:visual_impaired=0
DISPOSITION:clean_effects=0
DISPOSITION:attached_pic=1
DISPOSITION:timed_thumbnails=0
TAG:comment=Cover (front)
[/STREAM]

ffmpeg run:

./ffmpeg -i Ironic.flac -c copy -disposition original Ironic-nodisposition.mka
ffmpeg version N-48056-g2e2b44baba-static https://johnvansickle.com/ffmpeg/  Copyright (c) 2000-2019 the FFmpeg developers
  built with gcc 6.3.0 (Debian 6.3.0-18+deb9u1) 20170516
  configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc-6 --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gmp --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-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. 26.100 / 56. 26.100
  libavcodec     58. 46.100 / 58. 46.100
  libavformat    58. 26.100 / 58. 26.100
  libavdevice    58.  6.101 / 58.  6.101
  libavfilter     7. 48.100 /  7. 48.100
  libswscale      5.  4.100 /  5.  4.100
  libswresample   3.  4.100 /  3.  4.100
  libpostproc    55.  4.100 / 55.  4.100
Input #0, flac, from 'Ironic.flac':
  Metadata:
    SOURCE          : Deezer
    SOURCEID        : 789250
    TITLE           : Ironic
    ALBUM           : The Collection (Standard Edition)
    GENRE           : Pop
    album_artist    : Alanis Morissette
    ARTIST          : Alanis Morissette
    track           : 6
    TRACKTOTAL      : 19
    TOTALTRACKS     : 19
    disc            : 1
    DISCTOTAL       : 1
    TOTALDISCS      : 1
    LABEL           : Maverick
    LENGTH          : 225
    ISRC            : USMV20500296
    BARCODE         : 093624949060
    MEDIA           : Digital Media
    COMPILATION     : 0
    EXPLICIT        : 0
    RELEASETYPE     : Album
    ARTISTS         : Alanis Morissette
    AUTHOR          : Alanis Morissette;Glen Ballard
    LYRICS          : An old man turned ninety-eight 
                    : He won the lottery and died the next day 
                    : It's a black fly in your Chardonnay 
                    : It's a death row pardon two minutes too late 
                    : Isn't it ironic, don't you think 
                    :  
                    : It's like rain on your wedding day 
                    : It's a free ride when you've already paid 
                    : It's the good advice that you just didn't take 
                    : Who would've thought, it figures 
                    :  
                    : Mr. Play It Safe was afraid to fly 
                    : He packed his suitcase and kissed his kids good-bye 
                    : He waited his whole damn life to take that flight 
                    : And as the plane crashed down he thought 
                    : "Well, isn't this nice." 
                    : And isn't it ironic,l don't you think 
                    :  
                    : It's like rain on your wedding day 
                    : It's a free ride when you've already paid 
                    : It's the good advice that you just didn't take 
                    : Who would've thought, it figures 
                    :  
                    : Well, life has a funny way of sneaking up on you 
                    : When you think everything's okay and everything's going right 
                    : And life has a funny way of helping you out when 
                    : You think everything's gone wrong and everything blows up 
                    : In your face 
                    :  
                    : A traffic jam when you're already late 
                    : A no-smoking sign on your cigarette break 
                    : It's like ten thousand spoons when all you need is a knife 
                    : It's meeting the man of my dreams 
                    : And then meeting his beautiful wife 
                    : And isn't it ironic, don't you think 
                    : A little too ironic, and yeah I really do think 
                    :  
                    : It's like rain on your wedding day 
                    : It's a free ride when you've already paid 
                    : It's the good advice that you just didn't take 
                    : Who would've thought, it figures 
                    :  
                    : Well, life has a funny way of sneaking up on you 
                    : And life has a funny way of helping you out 
                    : Helping you out.
    YEAR            : 2005
    DATE            : 2005-11-11
  Duration: 00:03:45.93, start: 0.000000, bitrate: 972 kb/s
    Stream #0:0: Audio: flac, 44100 Hz, stereo, s16
    Stream #0:1: Video: mjpeg (Progressive), yuvj420p(pc, bt470bg/unknown/unknown), 1400x1400 [SAR 1:1 DAR 1:1], 90k tbr, 90k tbn, 90k tbc
    Metadata:
      comment         : Cover (front)
Output #0, matroska, to 'Ironic-nodisposition.mka':
  Metadata:
    SOURCE          : Deezer
    SOURCEID        : 789250
    TITLE           : Ironic
    ALBUM           : The Collection (Standard Edition)
    GENRE           : Pop
    album_artist    : Alanis Morissette
    ARTIST          : Alanis Morissette
    PART_NUMBER     : 6
    TRACKTOTAL      : 19
    TOTALTRACKS     : 19
    disc            : 1
    DISCTOTAL       : 1
    TOTALDISCS      : 1
    LABEL           : Maverick
    LENGTH          : 225
    ISRC            : USMV20500296
    BARCODE         : 093624949060
    MEDIA           : Digital Media
    COMPILATION     : 0
    EXPLICIT        : 0
    RELEASETYPE     : Album
    ARTISTS         : Alanis Morissette
    AUTHOR          : Alanis Morissette;Glen Ballard
    LYRICS          : An old man turned ninety-eight 
                    : He won the lottery and died the next day 
                    : It's a black fly in your Chardonnay 
                    : It's a death row pardon two minutes too late 
                    : Isn't it ironic, don't you think 
                    :  
                    : It's like rain on your wedding day 
                    : It's a free ride when you've already paid 
                    : It's the good advice that you just didn't take 
                    : Who would've thought, it figures 
                    :  
                    : Mr. Play It Safe was afraid to fly 
                    : He packed his suitcase and kissed his kids good-bye 
                    : He waited his whole damn life to take that flight 
                    : And as the plane crashed down he thought 
                    : "Well, isn't this nice." 
                    : And isn't it ironic,l don't you think 
                    :  
                    : It's like rain on your wedding day 
                    : It's a free ride when you've already paid 
                    : It's the good advice that you just didn't take 
                    : Who would've thought, it figures 
                    :  
                    : Well, life has a funny way of sneaking up on you 
                    : When you think everything's okay and everything's going right 
                    : And life has a funny way of helping you out when 
                    : You think everything's gone wrong and everything blows up 
                    : In your face 
                    :  
                    : A traffic jam when you're already late 
                    : A no-smoking sign on your cigarette break 
                    : It's like ten thousand spoons when all you need is a knife 
                    : It's meeting the man of my dreams 
                    : And then meeting his beautiful wife 
                    : And isn't it ironic, don't you think 
                    : A little too ironic, and yeah I really do think 
                    :  
                    : It's like rain on your wedding day 
                    : It's a free ride when you've already paid 
                    : It's the good advice that you just didn't take 
                    : Who would've thought, it figures 
                    :  
                    : Well, life has a funny way of sneaking up on you 
                    : And life has a funny way of helping you out 
                    : Helping you out.
    YEAR            : 2005
    DATE            : 2005-11-11
    encoder         : Lavf58.26.100
    Stream #0:0: Audio: flac ([172][241][0][0] / 0xF1AC), 44100 Hz, stereo, s16 (original)
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
Press [q] to stop, [?] for help
size=   26372kB time=00:03:45.88 bitrate= 956.4kbits/s speed=1.08e+03x    
video:0kB audio:26351kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.078178%

output file:

./ffprobe -show_streams Ironic-nodisposition.mka
ffprobe version N-48056-g2e2b44baba-static https://johnvansickle.com/ffmpeg/  Copyright (c) 2007-2019 the FFmpeg developers
  built with gcc 6.3.0 (Debian 6.3.0-18+deb9u1) 20170516
  configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc-6 --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gmp --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-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. 26.100 / 56. 26.100
  libavcodec     58. 46.100 / 58. 46.100
  libavformat    58. 26.100 / 58. 26.100
  libavdevice    58.  6.101 / 58.  6.101
  libavfilter     7. 48.100 /  7. 48.100
  libswscale      5.  4.100 /  5.  4.100
  libswresample   3.  4.100 /  3.  4.100
  libpostproc    55.  4.100 / 55.  4.100
Input #0, matroska,webm, from 'Ironic-nodisposition.mka':
  Metadata:
    title           : Ironic
    DATE            : 2005-11-11
    SOURCE          : Deezer
    SOURCEID        : 789250
    ALBUM           : The Collection (Standard Edition)
    GENRE           : Pop
    ALBUM_ARTIST    : Alanis Morissette
    ARTIST          : Alanis Morissette
    track           : 6
    TRACKTOTAL      : 19
    TOTALTRACKS     : 19
    DISC            : 1
    DISCTOTAL       : 1
    TOTALDISCS      : 1
    LABEL           : Maverick
    LENGTH          : 225
    ISRC            : USMV20500296
    BARCODE         : 093624949060
    MEDIA           : Digital Media
    COMPILATION     : 0
    EXPLICIT        : 0
    RELEASETYPE     : Album
    ARTISTS         : Alanis Morissette
    AUTHOR          : Alanis Morissette;Glen Ballard
    LYRICS          : An old man turned ninety-eight 
                    : He won the lottery and died the next day 
                    : It's a black fly in your Chardonnay 
                    : It's a death row pardon two minutes too late 
                    : Isn't it ironic, don't you think 
                    :  
                    : It's like rain on your wedding day 
                    : It's a free ride when you've already paid 
                    : It's the good advice that you just didn't take 
                    : Who would've thought, it figures 
                    :  
                    : Mr. Play It Safe was afraid to fly 
                    : He packed his suitcase and kissed his kids good-bye 
                    : He waited his whole damn life to take that flight 
                    : And as the plane crashed down he thought 
                    : "Well, isn't this nice." 
                    : And isn't it ironic,l don't you think 
                    :  
                    : It's like rain on your wedding day 
                    : It's a free ride when you've already paid 
                    : It's the good advice that you just didn't take 
                    : Who would've thought, it figures 
                    :  
                    : Well, life has a funny way of sneaking up on you 
                    : When you think everything's okay and everything's going right 
                    : And life has a funny way of helping you out when 
                    : You think everything's gone wrong and everything blows up 
                    : In your face 
                    :  
                    : A traffic jam when you're already late 
                    : A no-smoking sign on your cigarette break 
                    : It's like ten thousand spoons when all you need is a knife 
                    : It's meeting the man of my dreams 
                    : And then meeting his beautiful wife 
                    : And isn't it ironic, don't you think 
                    : A little too ironic, and yeah I really do think 
                    :  
                    : It's like rain on your wedding day 
                    : It's a free ride when you've already paid 
                    : It's the good advice that you just didn't take 
                    : Who would've thought, it figures 
                    :  
                    : Well, life has a funny way of sneaking up on you 
                    : And life has a funny way of helping you out 
                    : Helping you out.
    YEAR            : 2005
    ENCODER         : Lavf58.26.100
  Duration: 00:03:45.93, start: 0.000000, bitrate: 956 kb/s
    Stream #0:0: Audio: flac, 44100 Hz, stereo, s16 (default)
    Metadata:
      DURATION        : 00:03:45.934000000
[STREAM]
index=0
codec_name=flac
codec_long_name=FLAC (Free Lossless Audio Codec)
profile=unknown
codec_type=audio
codec_time_base=1/44100
codec_tag_string=[0][0][0][0]
codec_tag=0x0000
sample_fmt=s16
sample_rate=44100
channels=2
channel_layout=stereo
bits_per_sample=0
id=N/A
r_frame_rate=0/0
avg_frame_rate=0/0
time_base=1/1000
start_pts=0
start_time=0.000000
duration_ts=N/A
duration=N/A
bit_rate=N/A
max_bit_rate=N/A
bits_per_raw_sample=16
nb_frames=N/A
nb_read_frames=N/A
nb_read_packets=N/A
DISPOSITION:default=1
DISPOSITION:dub=0
DISPOSITION:original=0
DISPOSITION:comment=0
DISPOSITION:lyrics=0
DISPOSITION:karaoke=0
DISPOSITION:forced=0
DISPOSITION:hearing_impaired=0
DISPOSITION:visual_impaired=0
DISPOSITION:clean_effects=0
DISPOSITION:attached_pic=0
DISPOSITION:timed_thumbnails=0
TAG:DURATION=00:03:45.934000000
[/STREAM]

I have also reproduced the Bug using the Windows Build 20190131-1e03d60-win64-static.

Attachments (3)

ffmpeg-run.txt (8.6 KB ) - added by hicksel 5 years ago.
ffprobe-original.txt (6.7 KB ) - added by hicksel 5 years ago.
ffprobe-output.txt (5.6 KB ) - added by hicksel 5 years ago.

Download all attachments as: .zip

Change History (6)

by hicksel, 5 years ago

Attachment: ffmpeg-run.txt added

by hicksel, 5 years ago

Attachment: ffprobe-original.txt added

by hicksel, 5 years ago

Attachment: ffprobe-output.txt added

comment:1 by hicksel, 5 years ago

This is somewhat related to comment:8:ticket:4591 since i initially found the problem when trying to set a coverart stream manually as attached_pic.
But apparently all disposition tags for mka and mkv seem to be broken.

comment:2 by droid-xx, 3 years ago

I haven't tried an .mka file, but I can set or remove disposition tags in .mkv files just fine. I think the problem lies with .flac files, in your case you're remuxing into .mka from .flac while trying to set the disposition flag.

But apparently setting disposition flags for streams inside .flac files doesn't work. I just tried setting various flags but it doesn't work (disposition settings are ignored in the output file).

Example command used:

ffmpeg -i input.flac -map 0 -c copy -disposition:a:0 dub output.flac
Last edited 3 years ago by droid-xx (previous) (diff)

comment:3 by droid-xx, 3 years ago

Actually you are partly right: I can only set the Default and Forced disposition types for subtitle and audio streams inside .mkv containers (subs + audio are the ones I checked).

Note: See TracTickets for help on using tickets.