[FFmpeg-trac] #10878(undetermined:new): Muxing PCM_S24LE Audio Into MP4 Incorrectly Marked as 16-Bit

FFmpeg trac at avcodec.org
Wed Feb 21 14:19:16 EET 2024


#10878: Muxing PCM_S24LE Audio Into MP4 Incorrectly Marked as 16-Bit
-------------------------------------+-------------------------------------
             Reporter:               |                     Type:  defect
  HyperStryker                       |
               Status:  new          |                 Priority:  important
            Component:               |                  Version:  git-
  undetermined                       |  master
             Keywords:  pcm_s24le    |               Blocked By:
  mp4 wav mov muxing ipcm            |
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
 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, 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
 }}}
-- 
Ticket URL: <https://trac.ffmpeg.org/ticket/10878>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list