[FFmpeg-trac] #10464(undetermined:new): MP4 muxer: muxing with empty moov fails to signal audio encoder delay

FFmpeg trac at avcodec.org
Tue Jul 11 15:53:11 EEST 2023


#10464: MP4 muxer: muxing with empty moov fails to signal audio encoder delay
-------------------------------------+-------------------------------------
             Reporter:  John Regan   |                     Type:  defect
               Status:  new          |                 Priority:  normal
            Component:               |                  Version:
  undetermined                       |  unspecified
             Keywords:               |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
 When generating an mp4 file using -movflags empty_moov - the edit box is
 missing, which is required to signal the audio encoder delay. As far as I
 can tell there's no movflag or other muxer option that will add the edit
 box.

 How to reproduce:

 {{{
 % ffmpeg -f lavfi -i anullsrc=r=48000:d=10 -c:a aac -movflags empty_moov
 fragmented.mp4
 }}}

 If you inspect fragmented.mp4, the Edit Box is missing entirely.

 I believe the file should have an Edit Box, containing an Edit List Box
 with an entry showing the number of samples to discard from the beginning
 of the audio (in this case for AAC, 1024). Otherwise, decoders have no way
 of knowing how many priming samples should be discarded.

 Version info:
 {{{
 ffmpeg -version
 ffmpeg version n6.0 Copyright (c) 2000-2023 the FFmpeg developers
 built with gcc 13.1.1 (GCC) 20230429
 configuration: --prefix=/usr --disable-debug --disable-static --disable-
 stripping --enable-amf --enable-avisynth --enable-cuda-llvm --enable-lto
 --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-
 ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b
 --enable-libdav1d --enable-libdrm --enable-libfreetype --enable-libfribidi
 --enable-libgsm --enable-libiec61883 --enable-libjack --enable-libjxl
 --enable-libmfx --enable-libmodplug --enable-libmp3lame --enable-
 libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg
 --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librav1e
 --enable-librsvg --enable-libsoxr --enable-libspeex --enable-libsrt
 --enable-libssh --enable-libsvtav1 --enable-libtheora --enable-libv4l2
 --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpx
 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb
 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-nvdec
 --enable-nvenc --enable-opencl --enable-opengl --enable-shared --enable-
 version3 --enable-vulkan
 libavutil      58.  2.100 / 58.  2.100
 libavcodec     60.  3.100 / 60.  3.100
 libavformat    60.  3.100 / 60.  3.100
 libavdevice    60.  1.100 / 60.  1.100
 libavfilter     9.  3.100 /  9.  3.100
 libswscale      7.  1.100 /  7.  1.100
 libswresample   4. 10.100 /  4. 10.100
 libpostproc    57.  1.100 / 57.  1.100
 }}}
-- 
Ticket URL: <https://trac.ffmpeg.org/ticket/10464>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list