#5290 closed defect (duplicate)
FFMPEG adds delay when converting into WAV
| Reported by: | xtemp09 | Owned by: | |
|---|---|---|---|
| Priority: | normal | Component: | avcodec |
| Version: | git-master | Keywords: | aac |
| Cc: | Blocked By: | ||
| Blocking: | Reproduced by developer: | no | |
| Analyzed by developer: | no |
Description
When converting a file into WAV with FFMPEG, the program adds a delay of 0.02-0.04 s in the beginning of the file, i. e. 50 conversions gives 1 second of the delay.
# ffmpeg -i ffmpeg_aac_128k.m4a -c:a pcm_s16le 1.wav
ffmpeg version N-53341-gbd9c587-static http://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2016 the FFmpeg developers
built with gcc 5.3.1 (Debian 5.3.1-10) 20160224
configuration: --enable-gpl --enable-version3 --disable-shared --disable-debug --enable-runtime-cpudetect --enable-libmp3lame --enable-libx264 --enable-libx265 --enable-libwebp --enable-libspeex --enable-libvorbis --enable-libvpx --enable-libfreetype --enable-fontconfig --enable-libxvid --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvo-amrwbenc --enable-gray --enable-libopenjpeg --enable-libopus --enable-libass --enable-gnutls --enable-libvidstab --enable-libsoxr --enable-frei0r --enable-libfribidi --disable-indev=sndio --disable-outdev=sndio --enable-librtmp --enable-libmfx --cc=gcc
libavutil 55. 19.100 / 55. 19.100
libavcodec 57. 27.101 / 57. 27.101
libavformat 57. 27.101 / 57. 27.101
libavdevice 57. 0.101 / 57. 0.101
libavfilter 6. 38.100 / 6. 38.100
libswscale 4. 0.100 / 4. 0.100
libswresample 2. 0.101 / 2. 0.101
libpostproc 54. 0.100 / 54. 0.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'ffmpeg_aac_128k.m4a':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2mp41
title : For Amelie [New Version - Bonus Track]
artist : Leaves' Eyes
album : Vinland Saga
date : 2005
encoder : Lavf57.27.100
genre : Symphonic Gothic Metal
track : 14/14
Duration: 00:00:09.47, start: 0.023220, bitrate: 129 kb/s
Stream #0:0(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 127 kb/s (default)
Metadata:
handler_name : SoundHandler
Output #0, wav, to '1.wav':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2mp41
INAM : For Amelie [New Version - Bonus Track]
IART : Leaves' Eyes
IPRD : Vinland Saga
ICRD : 2005
IPRT : 14/14
IGNR : Symphonic Gothic Metal
ISFT : Lavf57.27.101
Stream #0:0(und): Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, stereo, s16, 1411 kb/s (default)
Metadata:
handler_name : SoundHandler
encoder : Lavc57.27.101 pcm_s16le
Stream mapping:
Stream #0:0 -> #0:0 (aac (native) -> pcm_s16le (native))
Press [q] to stop, [?] for help
size= 1632kB time=00:00:09.47 bitrate=1411.4kbits/s speed=85.7x
video:0kB audio:1632kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.013763%
# ffprobe ffmpeg_aac_128k.m4a
ffprobe version N-48618-g9ec17e4-static http://johnvansickle.com/ffmpeg/ Copyright (c) 2007-2015 the FFmpeg developers
built with gcc 4.9.3 (Debian 4.9.3-3)
configuration: --enable-gpl --enable-version3 --disable-shared --disable-debug --enable-runtime-cpudetect --enable-libmp3lame --enable-libx264 --enable-libx265 --enable-libwebp --enable-libspeex --enable-libvorbis --enable-libvpx --enable-libfreetype --enable-fontconfig --enable-libxvid --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-gray --enable-libopenjpeg --enable-libopus --enable-libass --enable-gnutls --enable-libvidstab --enable-libsoxr --cc=gcc-4.9
libavutil 54. 29.100 / 54. 29.100
libavcodec 56. 56.101 / 56. 56.101
libavformat 56. 40.101 / 56. 40.101
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 30.100 / 5. 30.100
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 2.101 / 1. 2.101
libpostproc 53. 3.100 / 53. 3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'ffmpeg_aac_128k.m4a':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2mp41
title : For Amelie [New Version - Bonus Track]
artist : Leaves' Eyes
album : Vinland Saga
date : 2005
encoder : Lavf57.27.100
genre : Symphonic Gothic Metal
track : 14/14
Duration: 00:00:09.47, start: 0.023220, bitrate: 129 kb/s
Stream #0:0(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 127 kb/s (default)
Metadata:
handler_name : SoundHandler
# ffprobe version N-48618-g9ec17e4-static http://johnvansickle.com/ffmpeg/ Copyright (c) 2007-2015 the FFmpeg developers
built with gcc 4.9.3 (Debian 4.9.3-3)
configuration: --enable-gpl --enable-version3 --disable-shared --disable-debug --enable-runtime-cpudetect --enable-libmp3lame --enable-libx264 --enable-libx265 --enable-libwebp --enable-libspeex --enable-libvorbis --enable-libvpx --enable-libfreetype --enable-fontconfig --enable-libxvid --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-gray --enable-libopenjpeg --enable-libopus --enable-libass --enable-gnutls --enable-libvidstab --enable-libsoxr --cc=gcc-4.9
libavutil 54. 29.100 / 54. 29.100
libavcodec 56. 56.101 / 56. 56.101
libavformat 56. 40.101 / 56. 40.101
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 30.100 / 5. 30.100
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 2.101 / 1. 2.101
libpostproc 53. 3.100 / 53. 3.100
Input #0, wav, from '1.wav':
Metadata:
artist : Leaves' Eyes
date : 2005
genre : Symphonic Gothic Metal
title : For Amelie [New Version - Bonus Track]
album : Vinland Saga
track : 14/14
encoder : Lavf57.27.101
Duration: 00:00:09.47, bitrate: 1411 kb/s
Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, 2 channels, s16, 1411 kb/s
# ffmpeg -version ffmpeg version N-53341-gbd9c587-static http://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2016 the FFmpeg developers built with gcc 5.3.1 (Debian 5.3.1-10) 20160224 configuration: --enable-gpl --enable-version3 --disable-shared --disable-debug --enable-runtime-cpudetect --enable-libmp3lame --enable-libx264 --enable-libx265 --enable-libwebp --enable-libspeex --enable-libvorbis --enable-libvpx --enable-libfreetype --enable-fontconfig --enable-libxvid --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvo-amrwbenc --enable-gray --enable-libopenjpeg --enable-libopus --enable-libass --enable-gnutls --enable-libvidstab --enable-libsoxr --enable-frei0r --enable-libfribidi --disable-indev=sndio --disable-outdev=sndio --enable-librtmp --enable-libmfx --cc=gcc libavutil 55. 19.100 / 55. 19.100 libavcodec 57. 27.101 / 57. 27.101 libavformat 57. 27.101 / 57. 27.101 libavdevice 57. 0.101 / 57. 0.101 libavfilter 6. 38.100 / 6. 38.100 libswscale 4. 0.100 / 4. 0.100 libswresample 2. 0.101 / 2. 0.101 libpostproc 54. 0.100 / 54. 0.100
Change History (7)
comment:1 by , 10 years ago
comment:2 by , 10 years ago
The original audio length of the WAV file is:
Duration: 00:00:09.45, bitrate: 1411 kb/s
It means, the conversion of a WAV file into AAC, then conversion back into WAV increases duration.
comment:3 by , 10 years ago
| Keywords: | aac added; delay WAV removed |
|---|---|
| Priority: | important → normal |
Do you think this is a regression?
comment:4 by , 10 years ago
| Resolution: | → duplicate |
|---|---|
| Status: | new → closed |
Yes, and a duplicate of ticket #2325 afaict.
comment:5 by , 10 years ago
Similar end result, but the last comments there are most probably off regarding iTunes-specific metadata in MOV-derivatives in #2325 .
Libavcodec should nowadays be pushing out negative timestamps (which is correct, and visible by the nonzero start time), but with output formats that cannot handle negative timestamps either libavformat or ffmpeg cli moves the first packet to position zero (at least that was the end of the last technical discussion I had on this). That then leads to this effect of all samples being output instead of just those having timestamps >=0.
comment:6 by , 10 years ago
Negative timestamps are not enough; the demuxer should also set the delay field.



One should pay attention to:
and