Opened 3 years ago

Closed 3 years ago

#5656 closed defect (duplicate)

audio filter "volume" doesn't work when ffmpeg serves audio to ffserver

Reported by: taeuber Owned by:
Priority: normal Component: ffserver
Version: git-master Keywords:
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Summary of the bug:
How to reproduce:

ffmpeg started on 2016-06-21 at 22:28:40
Report written to "ffmpeg-20160621-222840.log"
Command line:
/usr/local/bin/ffmpeg_g -f alsa -ac 1 -i hw:2 http://localhost:8090/immen.ffm -af "volume=15" -c:a libvorbis -q:a 3 -reset_timestamps 1 -map 0 /tmp/T.ogg -v 9 -loglevel 99 -report -y
ffmpeg version N-80494-g9204a84 Copyright (c) 2000-2016 the FFmpeg developers
  built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04.3)
  configuration: --enable-libvorbis --enable-libmp3lame --enable-libopus
  libavutil      55. 24.100 / 55. 24.100
  libavcodec     57. 46.100 / 57. 46.100
  libavformat    57. 38.102 / 57. 38.102
  libavdevice    57.  0.101 / 57.  0.101
  libavfilter     6. 46.102 /  6. 46.102
  libswscale      4.  1.100 /  4.  1.100
  libswresample   2.  1.100 /  2.  1.100
Splitting the commandline.
Reading option '-f' ... matched as option 'f' (force format) with argument 'alsa'.
Reading option '-ac' ... matched as option 'ac' (set number of audio channels) with argument '1'.
Reading option '-i' ... matched as input file with argument 'hw:2'.
Reading option 'http://localhost:8090/immen.ffm' ... matched as output file.
Reading option '-af' ... matched as option 'af' (set audio filters) with argument 'volume=15'.
Reading option '-c:a' ... matched as option 'c' (codec name) with argument 'libvorbis'.
Reading option '-q:a' ... matched as option 'q' (use fixed quality scale (VBR)) with argument '3'.
Reading option '-reset_timestamps' ... matched as AVOption 'reset_timestamps' with argument '1'.
Reading option '-map' ... matched as option 'map' (set input stream mapping) with argument '0'.
Reading option '/tmp/T.ogg' ... matched as output file.
Reading option '-v' ... matched as option 'v' (set logging level) with argument '9'.
Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument '99'.
Reading option '-report' ... matched as option 'report' (generate a report) with argument '1'.
Reading option '-y' ... matched as option 'y' (overwrite output files) with argument '1'.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option v (set logging level) with argument 9.
Applying option loglevel (set logging level) with argument 99.
Applying option report (generate a report) with argument 1.
Applying option y (overwrite output files) with argument 1.
Successfully parsed a group of options.
Parsing a group of options: input file hw:2.
Applying option f (force format) with argument alsa.
Applying option ac (set number of audio channels) with argument 1.
Successfully parsed a group of options.
Opening an input file: hw:2.
[alsa @ 0x3c01020] All info found
Guessed Channel Layout for  Input Stream #0.0 : mono
Input #0, alsa, from 'hw:2':
  Duration: N/A, start: 1466540920.732163, bitrate: N/A
    Stream #0:0, 1, 1/1000000: Audio: pcm_s16le, 48000 Hz, 1 channels, s16, 768 kb/s
Successfully opened the file.
Parsing a group of options: output file http://localhost:8090/immen.ffm.
Successfully parsed a group of options.
Opening an output file: http://localhost:8090/immen.ffm.
[http @ 0x3c124a0] Setting default whitelist 'http,https,tls,rtp,tcp,udp,crypto,httpproxy'
[http @ 0x3c124a0] request: GET /immen.ffm HTTP/1.1
User-Agent: Lavf/57.38.102
Accept: */*
Range: bytes=0-
Connection: close
Host: localhost:8090
Icy-MetaData: 1


[ffm @ 0x3c149e0] Format ffm probed with size=2048 and score=101
[NULL @ 0x3c17e80] Setting entry with key 'b' to value '48000'
[NULL @ 0x3c17e80] Setting entry with key 'ac' to value '1'
[NULL @ 0x3c17e80] Setting entry with key 'ar' to value '48000'
[NULL @ 0x3c187a0] Setting entry with key 'b' to value '48000'
[NULL @ 0x3c187a0] Setting entry with key 'ac' to value '1'
[NULL @ 0x3c187a0] Setting entry with key 'ar' to value '48000'
[NULL @ 0x3c19700] Setting entry with key 'b' to value '48000'
[NULL @ 0x3c19700] Setting entry with key 'ac' to value '1'
[NULL @ 0x3c19700] Setting entry with key 'ar' to value '48000'
[NULL @ 0x3c19700] Setting entry with key 'flags' to value '+global_header'
[AVIOContext @ 0x3c1ee40] Statistics: 4096 bytes read, 0 seeks
[http @ 0x3c19c60] Setting default whitelist 'http,https,tls,rtp,tcp,udp,crypto,httpproxy'
[http @ 0x3c19c60] request: POST /immen.ffm HTTP/1.1
Transfer-Encoding: chunked
User-Agent: Lavf/57.38.102
Accept: */*
Connection: close
Host: localhost:8090
Icy-MetaData: 1


Successfully opened the file.
Parsing a group of options: output file /tmp/T.ogg.
Applying option af (set audio filters) with argument volume=15.
Applying option c:a (codec name) with argument libvorbis.
Applying option q:a (use fixed quality scale (VBR)) with argument 3.
Applying option map (set input stream mapping) with argument 0.
Successfully parsed a group of options.
Opening an output file: /tmp/T.ogg.
[file @ 0x3c1ab40] Setting default whitelist 'file,crypto'
Successfully opened the file.
detected 2 logical cores
[graph 0 input from stream 0:0 @ 0x3c28bc0] Setting 'time_base' to value '1/48000'
[graph 0 input from stream 0:0 @ 0x3c28bc0] Setting 'sample_rate' to value '48000'
[graph 0 input from stream 0:0 @ 0x3c28bc0] Setting 'sample_fmt' to value 's16'
[graph 0 input from stream 0:0 @ 0x3c28bc0] Setting 'channel_layout' to value '0x4'
[graph 0 input from stream 0:0 @ 0x3c28bc0] tb:1/48000 samplefmt:s16 samplerate:48000 chlayout:0x4
[audio format for output stream 0:0 @ 0x3c15000] Setting 'sample_fmts' to value 's32p'
[audio format for output stream 0:0 @ 0x3c15000] Setting 'sample_rates' to value '48000'
[audio format for output stream 0:0 @ 0x3c15000] Setting 'channel_layouts' to value '0x4'
[audio format for output stream 0:0 @ 0x3c15000] auto-inserting filter 'auto-inserted resampler 0' between the filter 'Parsed_anull_0' and the filter 'audio format for output stream 0:0'
[AVFilterGraph @ 0x3c28b20] query_formats: 4 queried, 6 merged, 3 already done, 0 delayed
[auto-inserted resampler 0 @ 0x3c20160] [SWR @ 0x3c38e00] Using s16p internally between filters
[auto-inserted resampler 0 @ 0x3c20160] ch:1 chl:mono fmt:s16 r:48000Hz -> ch:1 chl:mono fmt:s32p r:48000Hz
[graph 1 input from stream 0:0 @ 0x3c1fac0] Setting 'time_base' to value '1/48000'
[graph 1 input from stream 0:0 @ 0x3c1fac0] Setting 'sample_rate' to value '48000'
[graph 1 input from stream 0:0 @ 0x3c1fac0] Setting 'sample_fmt' to value 's16'
[graph 1 input from stream 0:0 @ 0x3c1fac0] Setting 'channel_layout' to value '0x4'
[graph 1 input from stream 0:0 @ 0x3c1fac0] tb:1/48000 samplefmt:s16 samplerate:48000 chlayout:0x4
[audio format for output stream 0:1 @ 0x3c1fbe0] Setting 'sample_fmts' to value 'fltp'
[audio format for output stream 0:1 @ 0x3c1fbe0] Setting 'sample_rates' to value '48000'
[audio format for output stream 0:1 @ 0x3c1fbe0] Setting 'channel_layouts' to value '0x4'
[audio format for output stream 0:1 @ 0x3c1fbe0] auto-inserting filter 'auto-inserted resampler 0' between the filter 'Parsed_anull_0' and the filter 'audio format for output stream 0:1'
[AVFilterGraph @ 0x3c15c80] query_formats: 4 queried, 6 merged, 3 already done, 0 delayed
[auto-inserted resampler 0 @ 0x3c22100] [SWR @ 0x3c45dc0] Using s16p internally between filters
[auto-inserted resampler 0 @ 0x3c22100] ch:1 chl:mono fmt:s16 r:48000Hz -> ch:1 chl:mono fmt:fltp r:48000Hz
[graph 2 input from stream 0:0 @ 0x3c219e0] Setting 'time_base' to value '1/48000'
[graph 2 input from stream 0:0 @ 0x3c219e0] Setting 'sample_rate' to value '48000'
[graph 2 input from stream 0:0 @ 0x3c219e0] Setting 'sample_fmt' to value 's16'
[graph 2 input from stream 0:0 @ 0x3c219e0] Setting 'channel_layout' to value '0x4'
[graph 2 input from stream 0:0 @ 0x3c219e0] tb:1/48000 samplefmt:s16 samplerate:48000 chlayout:0x4
[audio format for output stream 0:2 @ 0x3c21020] Setting 'sample_fmts' to value 's16'
[audio format for output stream 0:2 @ 0x3c21020] Setting 'sample_rates' to value '48000'
[audio format for output stream 0:2 @ 0x3c21020] Setting 'channel_layouts' to value '0x4'
[AVFilterGraph @ 0x3c20be0] query_formats: 4 queried, 9 merged, 0 already done, 0 delayed
[Parsed_volume_0 @ 0x3c24e40] Setting 'volume' to value '15'
[graph 3 input from stream 0:0 @ 0x3c21fe0] Setting 'time_base' to value '1/48000'
[graph 3 input from stream 0:0 @ 0x3c21fe0] Setting 'sample_rate' to value '48000'
[graph 3 input from stream 0:0 @ 0x3c21fe0] Setting 'sample_fmt' to value 's16'
[graph 3 input from stream 0:0 @ 0x3c21fe0] Setting 'channel_layout' to value '0x4'
[graph 3 input from stream 0:0 @ 0x3c21fe0] tb:1/48000 samplefmt:s16 samplerate:48000 chlayout:0x4
[audio format for output stream 1:0 @ 0x3c22be0] Setting 'sample_fmts' to value 'fltp'
[Parsed_volume_0 @ 0x3c24e40] auto-inserting filter 'auto-inserted resampler 0' between the filter 'graph 3 input from stream 0:0' and the filter 'Parsed_volume_0'
[AVFilterGraph @ 0x3c24700] query_formats: 4 queried, 6 merged, 3 already done, 0 delayed
[auto-inserted resampler 0 @ 0x3c23b40] [SWR @ 0x3c52d60] Using s16p internally between filters
[auto-inserted resampler 0 @ 0x3c23b40] ch:1 chl:mono fmt:s16 r:48000Hz -> ch:1 chl:mono fmt:fltp r:48000Hz
[auto-inserted resampler 0 @ 0x3c23b40] tb:0.000021 sample_rate:48000.000000 nb_channels:1.000000
[Parsed_volume_0 @ 0x3c24e40] n:nan t:nan pts:nan precision:float volume:15.000000 volume_dB:23.521825
[ffm @ 0x3c13320] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead.
[ffm @ 0x3c13320] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead.
[ffm @ 0x3c13320] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead.
[ogg @ 0x3c149e0] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead.
Output #0, ffm, to 'http://localhost:8090/immen.ffm':
  Metadata:
    creation_time   : now
    encoder         : Lavf57.38.102
    Stream #0:0, 0, 1/1000000: Audio: mp3 (libmp3lame), 48000 Hz, mono, s32p, 48 kb/s
    Metadata:
      encoder         : Lavc57.46.100 libmp3lame
    Stream #0:1, 0, 1/1000000: Audio: vorbis (libvorbis), 48000 Hz, mono, fltp, 48 kb/s
    Metadata:
      encoder         : Lavc57.46.100 libvorbis
    Stream #0:2, 0, 1/1000000: Audio: opus (libopus), 48000 Hz, mono, s16, 48 kb/s
    Metadata:
      encoder         : Lavc57.46.100 libopus
Output #1, ogg, to '/tmp/T.ogg':
  Metadata:
    encoder         : Lavf57.38.102
    Stream #1:0, 0, 1/48000: Audio: vorbis (libvorbis), 48000 Hz, mono, fltp
    Metadata:
      encoder         : Lavc57.46.100 libvorbis
Stream mapping:
  Stream #0:0 -> #0:0 (pcm_s16le (native) -> mp3 (libmp3lame))
  Stream #0:0 -> #0:1 (pcm_s16le (native) -> vorbis (libvorbis))
  Stream #0:0 -> #0:2 (pcm_s16le (native) -> opus (libopus))
  Stream #0:0 -> #1:0 (pcm_s16le (native) -> vorbis (libvorbis))
Press [q] to stop, [?] for help
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)

The audio saved in the ogg file is filtered correctly but the stream sent to ffserver is the original signal level.

Change History (1)

comment:1 Changed 3 years ago by cehoyos

  • Component changed from undetermined to ffserver
  • Keywords ffmpeg ffserver aufio filter removed
  • Resolution set to duplicate
  • Status changed from new to closed

I believe this is a duplicate of ticket #3639: Filters do not work with FFserver.

Note: See TracTickets for help on using tickets.