Opened 4 years ago

Closed 3 months ago

Last modified 3 months ago

#7256 closed defect (invalid)

Mux TrueHD and Atmos to mp4 container

Reported by: johnesz Owned by:
Priority: normal Component: undetermined
Version: unspecified Keywords:
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no


Summary of the bug:
In preparation for tvOS12 which will support Dolby Atmos, I was updating my ffmpeg based tools to mux TrueHD/Atmos tracks to mp4 containers. After short testing I found that they are not supported in mp4.

For the source I used a sample from, this one to be precise:

How to reproduce:

% ffmpeg -i Dolby_Bit_Harvest_Lossless-thedigitaltheater.mkv -y -stats -map 0:0 -map 0:1 -c copy -f mp4 truehd.mp4
ffmpeg version 4.0 Copyright (c) 2000-2018 the FFmpeg developers
  built with Apple LLVM version 9.1.0 (clang-902.0.39.1)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/4.0 --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-gpl --enable-libmp3lame --enable-libx264 --enable-libxvid --enable-opencl --enable-videotoolbox --disable-lzma
  libavutil      56. 14.100 / 56. 14.100
  libavcodec     58. 18.100 / 58. 18.100
  libavformat    58. 12.100 / 58. 12.100
  libavdevice    58.  3.100 / 58.  3.100
  libavfilter     7. 16.100 /  7. 16.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  1.100 /  5.  1.100
  libswresample   3.  1.100 /  3.  1.100
  libpostproc    55.  1.100 / 55.  1.100
Input #0, matroska,webm, from '/Users/jkis/Downloads/Dolby_Bit_Harvest_Lossless-thedigitaltheater.mkv':
    encoder         : libmakemkv v1.9.5 (1.3.0/1.4.1) win(x64-release)
    creation_time   : 2015-08-29T18:56:26.000000Z
  Duration: 00:00:11.01, start: 0.000000, bitrate: 12615 kb/s
    Stream #0:0(eng): Video: h264 (High), yuv420p(progressive), 1920x1080, SAR 1:1 DAR 16:9, 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc
    Stream #0:1(eng): Audio: truehd, 48000 Hz, 7.1, s32 (24 bit) (default)
      title           : Surround 7.1
[mp4 @ 0x7fcc22800400] Could not find tag for codec truehd in stream #1, codec not currently supported in container
Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (copy)
    Last message repeated 1 times

Patches should be submitted to the ffmpeg-devel mailing list and not this bug tracker.

Change History (10)

comment:1 by johnesz, 4 years ago

The situation is the same with Atmos as well. Sample file:

comment:2 by Hendrik, 4 years ago

Are you sure Dolby TrueHD is supposed to be supported in MP4? The page with trailers you linked does not have a single example of that. All TrueHD is in MKV.

Unless there is a specification how to pack TrueHD into MP4, we can't do that either.

comment:3 by Carl Eugen Hoyos, 4 years ago

Resolution: needs_more_info
Status: newclosed

Please reopen this ticket if you find a mov/mp4 file containing TrueHD that plays with tvOS12 (or a specification).

comment:4 by Kyle Rove, 4 years ago

Dolby's website has a mp4 file with an embedded eac3/atmos audio track.

comment:5 by Mista_D, 4 years ago

Resolution: needs_more_info
Status: closedreopened

comment:6 by Carl Eugen Hoyos, 4 years ago

Resolution: needs_more_info
Status: reopenedclosed

comment:7 by Jacob, 4 years ago

Cc: added

comment:8 by mohd-akram, 3 months ago

Resolution: needs_more_info
Status: closedreopened
Summary: Mux TrueHD and Atmos to mp4 containerMux Dolby Atmos to mp4 container

Is there any update on this? There are a number of samples here -

Dolby also provides a reference muxer -

Last edited 3 months ago by mohd-akram (previous) (diff)

comment:9 by Elon Musk, 3 months ago

Resolution: invalid
Status: reopenedclosed

comment:10 by Balling, 3 months ago

Summary: Mux Dolby Atmos to mp4 containerMux TrueHD and Atmos to mp4 container

-c copy -strict -2 is needed for truehd in MP4 support, and it works. Truehd in mp4 is long since supported.

Last edited 3 months ago by Balling (previous) (diff)
Note: See TracTickets for help on using tickets.