Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

#5855 closed enhancement (wontfix)

Feature request: apply same adelay values to all channels

Reported by: mulvya Owned by:
Priority: wish Component: avfilter
Version: git-master Keywords: adelay
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

At present (N-81692-gef42c1d), the adelay filter requires individual specification of delay for each audio channel. I request a syntax that lets one set a uniform delay for all channels, however many those are. This will be very helpful during batch processing of files with varying number of channels, so that a single static command can be used.

Thanks.

Attachments (1)

adelay-1c-test.mp4 (2.2 MB) - added by mulvya 3 years ago.
Result of adelay=1000

Change History (9)

comment:1 Changed 3 years ago by mulvya

  • Type changed from defect to enhancement

comment:2 Changed 3 years ago by cehoyos

Please provide a command line and complete, uncut console output.

Changed 3 years ago by mulvya

Result of adelay=1000

comment:3 Changed 3 years ago by mulvya

Sample: http://samples.ffmpeg.org/mov/weirdedl.mp4

Command:

ffmpeg -t 10 -i weirdedl.mp4 -c:v copy -af adelay=1000 adelay-1c-test.mp4

Console output:

ffmpeg version N-81692-gef42c1d Copyright (c) 2000-2016 the FFmpeg developers
  built with gcc 6.1.0 (Rev1, Built by MSYS2 project)
  configuration:  --enable-avisynth --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --disable-w32threads --enable-decklink --enable-fontconfig --enable-frei0r --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libilbc --enable-libmfx --enable-libmodplug --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libwavpack --enable-libwebp --enable-libxavs --enable-libxvid --enable-libzimg --enable-openssl --enable-libsnappy --enable-gpl --enable-opencl --enable-opengl --enable-libcdio --enable-libfdk-aac --enable-libkvazaar --enable-librubberband --enable-libssh --enable-libtesseract --enable-libzvbi --enable-chromaprint --enable-libebur128 --enable-libopenh264 --enable-libopenmpt --enable-netcdf --enable-version3 --enable-nonfree --enable-filter=frei0r --disable-debug
  libavutil      55. 29.100 / 55. 29.100
  libavcodec     57. 57.100 / 57. 57.100
  libavformat    57. 49.100 / 57. 49.100
  libavdevice    57.  0.102 / 57.  0.102
  libavfilter     6. 62.100 /  6. 62.100
  libswscale      4.  1.100 /  4.  1.100
  libswresample   2.  1.100 /  2.  1.100
  libpostproc    54.  0.100 / 54.  0.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'weirdedl.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 1
    compatible_brands: isom
    creation_time   : 2009-03-11T17:24:45.000000Z
  Duration: 00:24:58.00, start: 0.083438, bitrate: 44 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 1678 kb/s, 23.97 fps, 23.97 tbr, 12567183.00 tbn, 47.94 tbc (default)
    Metadata:
      creation_time   : 2009-03-11T15:09:43.000000Z
      handler_name    : Samurai Sentai Shinkenger Act 02
    Stream #0:1(jpn): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 278 kb/s (default)
    Metadata:
      creation_time   : 2009-03-11T17:24:50.000000Z
      handler_name    : Japanese
[mp4 @ 00000000001dce20] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead.
    Last message repeated 1 times
Output #0, mp4, to 'adelay-1c-test.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 1
    compatible_brands: isom
    encoder         : Lavf57.49.100
    Stream #0:0(und): Video: h264 (High) ([33][0][0][0] / 0x0021), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=2-31, 1678 kb/s, 23.97 fps, 23.97 tbr, 12567183.00 tbn, 12567183.00 tbc (default)
    Metadata:
      creation_time   : 2009-03-11T15:09:43.000000Z
      handler_name    : Samurai Sentai Shinkenger Act 02
    Stream #0:1(jpn): Audio: aac (LC) ([64][0][0][0] / 0x0040), 48000 Hz, stereo, fltp, 128 kb/s (default)
    Metadata:
      creation_time   : 2009-03-11T17:24:50.000000Z
      handler_name    : Japanese
      encoder         : Lavc57.57.100 aac
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (aac (native) -> aac (native))
Press [q] to stop, [?] for help
frame=  244 fps=0.0 q=-1.0 Lsize=    2287kB time=00:00:13.92 bitrate=1345.3kbits/s speed=45.5x    
video:2113kB audio:167kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.323739%
[aac @ 0000000002b0cd20] Qavg: 3905.534

Result attached above.

comment:4 Changed 3 years ago by richardpl

  • Resolution set to wontfix
  • Status changed from new to closed

You can use adelay='5|5|5|5|5|5|5|5|5'.. up to very high number.
Unused entries are ignored.

comment:5 Changed 3 years ago by richardpl

If you really want this, give option name that will trigger same adelay value for all channels.

comment:6 Changed 3 years ago by mulvya

You could assign all

comment:7 Changed 3 years ago by richardpl

Please give full command incarnation how it should look like.

comment:8 Changed 3 years ago by mulvya

ffmpeg -t 10 -i weirdedl.mp4 -c:v copy -af adelay=all=2000 adelay-1c-test.mp4 for 2000ms delay applied to all channels. Thanks.

Last edited 3 years ago by mulvya (previous) (diff)
Note: See TracTickets for help on using tickets.