[FFmpeg-trac] #6540(avfilter:new): Atempo filter cuts off data at the end
FFmpeg
trac at avcodec.org
Wed Jul 19 09:50:53 EEST 2017
#6540: Atempo filter cuts off data at the end
----------------------------------+----------------------------------
Reporter: asdamos | Type: defect
Status: new | Priority: normal
Component: avfilter | Version: 3.2.4
Keywords: atempo | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
----------------------------------+----------------------------------
When using atempo filter it cuts off sound data at the end of file.
I was also using atempo filter from C API in similar way to
[https://www.ffmpeg.org/doxygen/trunk/filter_audio_8c-example.html].
I noticed that, when I pushed frame to filter graph, I had to push few
more frames before I could get frame number one from filter graph. So at
the end of filtering, I did not get all the frames I pushed to filter
graph.
Following command should produce 1 second file but produces 0.97 second
file.
{{{
./ffmpeg -i one-second-file.wav -filter:a "atempo=1.0" -vn
output.wavffmpeg version N-86695-g0a24d7c Copyright (c) 2000-2017 the
FFmpeg developers
built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04.3)
configuration: --prefix=/home/user/ffmpeg_build --pkg-config-
flags=--static --extra-cflags=-I/home/user/ffmpeg_build/include --extra-
ldflags=-L/home/user/ffmpeg_build/lib --bindir=/home/user/bin --enable-
nonfree
libavutil 55. 67.100 / 55. 67.100
libavcodec 57.100.103 / 57.100.103
libavformat 57. 75.100 / 57. 75.100
libavdevice 57. 7.100 / 57. 7.100
libavfilter 6. 94.100 / 6. 94.100
libswscale 4. 7.101 / 4. 7.101
libswresample 2. 8.100 / 2. 8.100
Guessed Channel Layout for Input Stream #0.0 : mono
Input #0, wav, from 'one-second-file.wav':
Duration: 00:00:01.00, bitrate: 705 kb/s
Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, mono,
s16, 705 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (pcm_s16le (native) -> pcm_s16le (native))
Press [q] to stop, [?] for help
Output #0, wav, to 'output.wav':
Metadata:
ISFT : Lavf57.75.100
Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, mono,
s16, 705 kb/s
Metadata:
encoder : Lavc57.100.103 pcm_s16le
size= 84kB time=00:00:00.97 bitrate= 706.2kbits/s speed=6.55x
video:0kB audio:84kB subtitle:0kB other streams:0kB global headers:0kB
muxing overhead: 0.090681%
}}}
Following command should produce 2 seconds file but produces 1.92 seconds
file.
{{{
./ffmpeg -i one-second-file.wav -filter:a "atempo=0.5" -vn output.wav
ffmpeg version N-86695-g0a24d7c Copyright (c) 2000-2017 the FFmpeg
developers
built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04.3)
configuration: --prefix=/home/user/ffmpeg_build --pkg-config-
flags=--static --extra-cflags=-I/home/user/ffmpeg_build/include --extra-
ldflags=-L/home/user/ffmpeg_build/lib --bindir=/home/user/bin --enable-
nonfree
libavutil 55. 67.100 / 55. 67.100
libavcodec 57.100.103 / 57.100.103
libavformat 57. 75.100 / 57. 75.100
libavdevice 57. 7.100 / 57. 7.100
libavfilter 6. 94.100 / 6. 94.100
libswscale 4. 7.101 / 4. 7.101
libswresample 2. 8.100 / 2. 8.100
Guessed Channel Layout for Input Stream #0.0 : mono
Input #0, wav, from 'one-second-file.wav':
Duration: 00:00:01.00, bitrate: 705 kb/s
Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, mono,
s16, 705 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (pcm_s16le (native) -> pcm_s16le (native))
Press [q] to stop, [?] for help
Output #0, wav, to 'output.wav':
Metadata:
ISFT : Lavf57.75.100
Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, mono,
s16, 705 kb/s
Metadata:
encoder : Lavc57.100.103 pcm_s16le
size= 166kB time=00:00:01.92 bitrate= 705.9kbits/s speed= 282x
video:0kB audio:166kB subtitle:0kB other streams:0kB global headers:0kB
muxing overhead: 0.045887%
}}}
--
Ticket URL: <https://trac.ffmpeg.org/ticket/6540>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list