'Converting a spesific audio sream and copy the rest

Is it possible to convert one of the audio tracks in a video file to a different format while copying/remuxing the other audio tracks in the file with FFmpeg?

More specifically, is it possible to do this without explicitly specify all the audio tracks you want to keep?

I have tried using the -map function,

ffmpeg -i INPUT -c:v copy -c:a libfdk_aac -map 1:a:2 OUTPUT.mkv

but this only encodes the first audio track and excludes the rest. I know I can probably explicitly tell FFmpeg to mux all the rest of the audio tracks, but this is really tedious. It means I will have to count every audio track and write e considerably longer command.

Is there not a way to tell FFmpeg "convert audio track X and copy the rest"?

Here is the MediaInfo of the file. Note that there are over 10 audio tracks but I have excluded them in this example to keep it simple.

Video
ID                                       : 4113 (0x1011)
Menu ID                                  : 1 (0x1)
Format                                   : HEVC
Format/Info                              : High Efficiency Video Coding
Format profile                           : Main [email protected]@High
HDR format                               : SMPTE ST 2086, HDR10 compatible
Codec ID                                 : 36
Duration                                 : 2 h 30 min
Width                                    : 3 840 pixels
Height                                   : 2 160 pixels
Display aspect ratio                     : 16:9
Frame rate                               : 23.976 (24000/1001) FPS
Color space                              : YUV
Chroma subsampling                       : 4:2:0 (Type 2)
Bit depth                                : 10 bits
Color range                              : Limited
Color primaries                          : BT.2020
Transfer characteristics                 : PQ
Matrix coefficients                      : BT.2020 non-constant
Mastering display color primaries        : Display P3
Mastering display luminance              : min: 0.0050 cd/m2, max: 4000 cd/m2
Maximum Content Light Level              : 349 cd/m2
Maximum Frame-Average Light Level        : 86 cd/m2

Audio #1
ID                                       : 4352 (0x1100)
Menu ID                                  : 1 (0x1)
Format                                   : DTS XLL
Format/Info                              : Digital Theater Systems
Commercial name                          : DTS-HD Master Audio
Muxing mode                              : Stream extension
Codec ID                                 : 134
Duration                                 : 2 h 30 min
Bit rate mode                            : Variable
Channel(s)                               : 6 channels
Channel layout                           : C L R Ls Rs LFE
Sampling rate                            : 48.0 kHz
Frame rate                               : 93.750 FPS (512 SPF)
Bit depth                                : 24 bits
Compression mode                         : Lossless

Audio #2
ID                                       : 4353 (0x1101)
Menu ID                                  : 1 (0x1)
Format                                   : AC-3
Format/Info                              : Audio Coding 3
Commercial name                          : Dolby Digital
Codec ID                                 : 129
Duration                                 : 2 h 30 min
Bit rate mode                            : Constant
Bit rate                                 : 640 kb/s
Channel(s)                               : 6 channels
Channel layout                           : L R C LFE Ls Rs
Sampling rate                            : 48.0 kHz
Frame rate                               : 31.250 FPS (1536 SPF)
Bit depth                                : 16 bits
Compression mode                         : Lossy
Delay relative to video                  : -9 ms
Stream size                              : 687 MiB (1%)
Service kind                             : Complete Main

Audio #3
ID                                       : 4354 (0x1102)
Menu ID                                  : 1 (0x1)
Format                                   : AC-3
Format/Info                              : Audio Coding 3
Commercial name                          : Dolby Digital
Codec ID                                 : 129
Duration                                 : 2 h 30 min
Bit rate mode                            : Constant
Bit rate                                 : 448 kb/s
Channel(s)                               : 6 channels
Channel layout                           : L R C LFE Ls Rs
Sampling rate                            : 48.0 kHz
Frame rate                               : 31.250 FPS (1536 SPF)
Bit depth                                : 16 bits
Compression mode                         : Lossy
Delay relative to video                  : -9 ms
Stream size                              : 481 MiB (1%)
Service kind                             : Complete Main


Solution 1:[1]

Try:

ffmpeg -i INPUT -map 0 -c copy -c:a:2 libfdk_aac OUTPUT.mkv
  • -map 0 to map all streams (video/audio/subtitle/etc.) of the input #0
  • -c copy sets default operation to be copy
  • -c:a:2 customizes the 3rd output audio stream to be reencoded.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 kesh