Opened 2 months ago

Closed 4 weeks ago

#10878 closed defect (fixed)

Muxing PCM_S24LE Audio Into MP4 Incorrectly Marked as 16-Bit

Reported by: HyperStryker Owned by:
Priority: important Component: undetermined
Version: git-master Keywords: pcm_s24le mp4 wav mov muxing ipcm
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description (last modified by HyperStryker)

Summary of the bug:
When muxing an H264-encoded video in a .MOV container with a .WAV file containing PCM_S24LE audio to an .MP4 container (discarding original video audio), the resulting file purportedly contains PCM_S24LE audio, but is incorrectly marked as 16-bit when checking the resulting .MP4 file in Mediainfo:

Audio
ID                                       : 2
Format                                   : PCM
Format settings                          : Little / Signed
Codec ID                                 : ipcm
Duration                                 : 56 min 5 s
Bit rate mode                            : Constant
Bit rate                                 : 1 536 kb/s
Maximum bit rate                         : 2 304 kb/s
Channel(s)                               : 2 channels
Channel layout                           : L R
Sampling rate                            : 48.0 kHz
Bit depth                                : 16 bits
Stream size                              : 924 MiB (8%)
Default                                  : Yes
Alternate group                          : 1

FFmpeg in the command line shows the resulting audio still in the PCM_S24LE format when muxing (using an PCM_S24LE audio-only .MOV file instead of .WAV, made no practical difference):

Stream #0:1(eng): Audio: pcm_s24le (ipcm / 0x6D637069), 48000 Hz, stereo, s32 (24 bit), 2304 kb/s (default)
      Metadata:
        creation_time   : 2024-02-21T04:54:45.000000Z
        handler_name    : Apple Sound Media Handler
        vendor_id       :
        timecode        : 00:00:00:00

Further, to verify it was FFmpeg and not Mediainfo, when extracting/stream-copying the audio from the .MP4 file back into a .WAV file, FFmpeg notes:

[wav @ 000002532f935a80] requested bits_per_coded_sample (16) and actually stored (24) differ

This lined up with me checking the same .MP4 file in Adobe Audition, which reported the file as containing 24-bit audio instead of 16-bit.

How to reproduce:
Muxing .MOV and .WAV to .MP4

ffmpeg -i in1.mov -i in2.wav -map 0:v -map 1:a -c copy out.mp4

Stream copying back to .WAV

ffmpeg -i out.mp4 -map 0:a -c copy out2.wav

Change History (5)

comment:1 by HyperStryker, 2 months ago

Description: modified (diff)

comment:2 by Gyan, 2 months ago

Which ffmpeg version?

in reply to:  2 comment:3 by HyperStryker, 2 months ago

Replying to Gyan:

Which ffmpeg version?

ffmpeg version 2024-02-15-git-a2cfd6062c-full_build-www.gyan.dev

comment:5 by Marton Balint, 4 weeks ago

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.