[FFmpeg-user] Audio delay doesn't work as expected

Paul B Mahol onemda at gmail.com
Mon Aug 27 16:00:04 EEST 2018


On 8/27/18, Michael Koch <astroelectronic at t-online.de> wrote:
> In the first example I have two identical 1kHz sine sources. The first
> source is delayed by 0.5ms (which means 180DEG phase shift), and then both
> channels are mixed. This works as expected, the result is silence.
>
> ffmpeg -f lavfi -i sine=f=1000:d=5 -f lavfi -i sine=f=1000:d=5
> -filter_complex "adelay=0.5,amix" -y test1.mp3
>
> In the second example the only difference is that the other channel is
> delayed. The result should be the same. But it doesn't work, the result
> isn't silence. Why doesn't it work?
>
> ffmpeg -f lavfi -i sine=f=1000:d=5 -f lavfi -i sine=f=1000:d=5
> -filter_complex "adelay=0|0.5,amix" -y test2.mp3

sine audio source filter gives mono output, but you give adelay
options like it is gonna use stereo input.

>
> Uncut console outputs for both examples are below.
>
> Thanks,
> Michael
>
>
> c:/ffmpeg/ffmpeg -f lavfi -i sine=f=1000:d=
> 5 -f lavfi -i sine=f=1000:d=5 -filter_complex "adelay=0.5,amix" -y test1.mp3
> ffmpeg version N-91565-g1940c27c82 Copyright (c) 2000-2018 the FFmpeg
> developers
>
>    built with gcc 7.3.1 (GCC) 20180722
>    configuration: --enable-gpl --enable-version3 --enable-sdl2
> --enable-bzlib --e
> nable-fontconfig --enable-gnutls --enable-iconv --enable-libass
> --enable-libblur
> ay --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb
> --enable-
> libopencore-amrwb --enable-libopenjpeg --enable-libopus
> --enable-libshine --enab
> le-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame
> --enable-li
> bvpx --enable-libwavpack --enable-libwebp --enable-libx264
> --enable-libx265 --en
> able-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp
> --enable-
> libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa
> --enabl
> e-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf
> --enabl
> e-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc
> --enable-nvdec --enab
> le-dxva2 --enable-avisynth
>    libavutil      56. 18.102 / 56. 18.102
>    libavcodec     58. 22.100 / 58. 22.100
>    libavformat    58. 17.101 / 58. 17.101
>    libavdevice    58.  4.101 / 58.  4.101
>    libavfilter     7. 26.100 /  7. 26.100
>    libswscale      5.  2.100 /  5.  2.100
>    libswresample   3.  2.100 /  3.  2.100
>    libpostproc    55.  2.100 / 55.  2.100
> Input #0, lavfi, from 'sine=f=1000:d=5':
>    Duration: N/A, start: 0.000000, bitrate: 705 kb/s
>      Stream #0:0: Audio: pcm_s16le, 44100 Hz, mono, s16, 705 kb/s
> Input #1, lavfi, from 'sine=f=1000:d=5':
>    Duration: N/A, start: 0.000000, bitrate: 705 kb/s
>      Stream #1:0: Audio: pcm_s16le, 44100 Hz, mono, s16, 705 kb/s
> Stream mapping:
>    Stream #0:0 (pcm_s16le) -> adelay
>    Stream #1:0 (pcm_s16le) -> amix:input1
>    amix -> Stream #0:0 (libmp3lame)
> Press [q] to stop, [?] for help
> Output #0, mp3, to 'test1.mp3':
>    Metadata:
>      TSSE            : Lavf58.17.101
>      Stream #0:0: Audio: mp3 (libmp3lame), 44100 Hz, mono, fltp (default)
>      Metadata:
>        encoder         : Lavc58.22.100 libmp3lame
> [Parsed_sine_0 @ 0000000000512840] EOF timestamp not reliable
> [Parsed_sine_0 @ 0000000000514c00] EOF timestamp not reliable
> size=      40kB time=00:00:05.01 bitrate=  64.7kbits/s speed=32.2x
> video:0kB audio:39kB subtitle:0kB other streams:0kB global headers:0kB
> muxing ov
> erhead: 0.562815%
>
>
>
>
> c:/ffmpeg/ffmpeg -f lavfi -i sine=f=1000:d=
> 5 -f lavfi -i sine=f=1000:d=5 -filter_complex "adelay=0|0.5,amix" -y
> test2.mp3
> ffmpeg version N-91565-g1940c27c82 Copyright (c) 2000-2018 the FFmpeg
> developers
>
>    built with gcc 7.3.1 (GCC) 20180722
>    configuration: --enable-gpl --enable-version3 --enable-sdl2
> --enable-bzlib --e
> nable-fontconfig --enable-gnutls --enable-iconv --enable-libass
> --enable-libblur
> ay --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb
> --enable-
> libopencore-amrwb --enable-libopenjpeg --enable-libopus
> --enable-libshine --enab
> le-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame
> --enable-li
> bvpx --enable-libwavpack --enable-libwebp --enable-libx264
> --enable-libx265 --en
> able-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp
> --enable-
> libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa
> --enabl
> e-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf
> --enabl
> e-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc
> --enable-nvdec --enab
> le-dxva2 --enable-avisynth
>    libavutil      56. 18.102 / 56. 18.102
>    libavcodec     58. 22.100 / 58. 22.100
>    libavformat    58. 17.101 / 58. 17.101
>    libavdevice    58.  4.101 / 58.  4.101
>    libavfilter     7. 26.100 /  7. 26.100
>    libswscale      5.  2.100 /  5.  2.100
>    libswresample   3.  2.100 /  3.  2.100
>    libpostproc    55.  2.100 / 55.  2.100
> Input #0, lavfi, from 'sine=f=1000:d=5':
>    Duration: N/A, start: 0.000000, bitrate: 705 kb/s
>      Stream #0:0: Audio: pcm_s16le, 44100 Hz, mono, s16, 705 kb/s
> Input #1, lavfi, from 'sine=f=1000:d=5':
>    Duration: N/A, start: 0.000000, bitrate: 705 kb/s
>      Stream #1:0: Audio: pcm_s16le, 44100 Hz, mono, s16, 705 kb/s
> Stream mapping:
>    Stream #0:0 (pcm_s16le) -> adelay
>    Stream #1:0 (pcm_s16le) -> amix:input1
>    amix -> Stream #0:0 (libmp3lame)
> Press [q] to stop, [?] for help
> Output #0, mp3, to 'test2.mp3':
>    Metadata:
>      TSSE            : Lavf58.17.101
>      Stream #0:0: Audio: mp3 (libmp3lame), 44100 Hz, mono, fltp (default)
>      Metadata:
>        encoder         : Lavc58.22.100 libmp3lame
> [Parsed_sine_0 @ 00000000003f4c80] EOF timestamp not reliable
> [Parsed_sine_0 @ 00000000003f2880] EOF timestamp not reliable
> size=      40kB time=00:00:05.01 bitrate=  64.7kbits/s speed=45.9x
> video:0kB audio:39kB subtitle:0kB other streams:0kB global headers:0kB
> muxing ov
> erhead: 0.562815%
>
> _______________________________________________
> ffmpeg-user mailing list
> ffmpeg-user at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-user
>
> To unsubscribe, visit link above, or email
> ffmpeg-user-request at ffmpeg.org with subject "unsubscribe".


More information about the ffmpeg-user mailing list