My end goal is to create a single FFmpeg command that will convert my h264.DTS.mkv files to a format that is compatible with my AppleTV, whilst preserving the original quality.

I'm almost there, however I have not been able to figure out how to disable streams/tracks.

So far I have got:

ffmpeg -i FILE \
 -y -strict experimental \
 -map 0:0 -map 0:1 -map 0:1 -map 0:1 -map 0:2 \
 -c:0 copy -c:1 aac -ac:a 2 -c:2 ac3 -ac:a 6 -c:3 copy -c:4 mov_text \
 OUTPUT

This produces an output file that looks like:

  1. H264 video track (enabled) [copied from original]
  2. AAC 2 channel audio track (enabled)
  3. AC3 6 channel audio track (enabled)
  4. DTS 6 channel audio track (enabled) [copied from original]
  5. subtitle track (enabled)

The problem is I need it to look like:

  1. 1 H264 video track (copied from original) (enabled)
  2. 1 AAC 2 channel audio track (enabled)
  3. 1 AC3 6 channel audio track (disabled)
  4. 1 DTS 6 channel audio track (copied from original) (disabled)
  5. 1 subtitle track (enabled)

Hence I need to know how I can disable the non-1st Audio Streams/Tracks.

From what I have read, this is part of the track header atom at the location "tkhd.flags". But I have not been able to figure out how to set this via command line arguments.

Any help would be greatly appreciated.

Edit
Report