[FFmpeg-trac] #5656(undetermined:new): audio filter "volume" doesn't work when ffmpeg serves audio to ffserver

FFmpeg trac at avcodec.org
Tue Jun 21 22:36:28 CEST 2016


#5656: audio filter "volume" doesn't work when ffmpeg serves audio to ffserver
-------------------------------------+-------------------------------------
             Reporter:  taeuber      |                     Type:  defect
               Status:  new          |                 Priority:  normal
            Component:               |                  Version:  git-
  undetermined                       |  master
             Keywords:  ffmpeg       |               Blocked By:
  ffserver aufio filter              |  Reproduced by developer:  0
             Blocking:               |
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
 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.

--
Ticket URL: <https://trac.ffmpeg.org/ticket/5656>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list