Opened 5 years ago

Last modified 5 years ago

#4131 new defect

aresample=async=1000:first_pts=0 produced out-of-sync audio with Non-monotonous DTS in output stream warnings

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


Summary of the bug:
How to reproduce:

$ FFREPORT=1 ffmpeg -y -i broken_audio.ts -af aresample=async=1000:first_pts=0 broken_audio.mp4
ffmpeg version N-67656-g9a69cd6 Copyright (c) 2000-2014 the FFmpeg developers
  built on Nov 15 2014 14:05:16 with Apple LLVM version 6.0 (clang-600.0.54) (based on LLVM 3.5svn)

attaching log from FFREPORT and the input file

Attachments (1)

ffmpeg-20141122-114243.log (66.2 KB) - added by mikaraento 5 years ago.

Download all attachments as: .zip

Change History (8)

Changed 5 years ago by mikaraento

comment:1 Changed 5 years ago by mikaraento

The input file is too large for trac, uploaded to instead.

If I don't use first_pts, the output is fine.

I would like to use first_pts in my processing pipeline to fill with silence when there is audio missing in the beginning.

comment:2 Changed 5 years ago by cehoyos

I tested the following:

$ ffmpeg -i broken_audio.ts -qscale 2 -vcodec mpeg4 -acodec aac -strict -2 out.mp4

The output file seems to play in sync. Why do you need the aresample filter?

comment:3 Changed 5 years ago by mikaraento

I'm building a generic, automated pipeline where many inputs do need aresample (and many would benefit from first_pts) - I don't know which ones before-hand.

Also: this is cut from a larger file that most likely needs aresample; I just wanted to provide a reasonably minimal test case (the whole file is 5G, and the full processing takes a couple of hours with 24 cores).

comment:4 Changed 5 years ago by cehoyos

Please provide a sufficiently long sample that allows to reproduce both that aresample is needed and that it does not work correctly. There is no size limit.

comment:5 Changed 5 years ago by cehoyos

Why did you provide a sample that was created with FFmpeg and not the original sample?

comment:6 Changed 5 years ago by mikaraento

Because it's a multi-stage pipeline and this is the step where it fails.

Also: the pipeline is proprietary and I can't share all the code without getting permission.

comment:7 Changed 5 years ago by cehoyos

Sorry for the misunderstanding: I did not mean the code but the original media input that produces the sample you have issues with.

Note: See TracTickets for help on using tickets.