[FFmpeg-user] Stuck on adelay/amix sync problem..

Mark Corner mcorner at gmail.com
Tue Dec 19 14:28:37 EET 2017


Thanks!  I tried this at least:

ffmpeg -y -i RT2568dcb62e48c44c4ac61094c4377553 -i
RTb5d9c3c0a59e98061159ddb310587b71 -i RT955f8ed764b5fda55a4dcd23cfed673d
 -filter_complex
"[0]adelay=25|25[t0];[1]adelay=2363|2363[t1];[2]adelay=983525|983525[t2];[t0]asetpts=PTS-STARTPTS[t0s];[t1]asetpts=PTS-STARTPTS[t1s];[t2]asetpts=PTS-STARTPTS[t2s];[t2s][t1s][t0s]amix=inputs=3"
-strict -2 -c:a opus -strict -2 output_audio.mka

And that still has the same problem of out of sync audio.

I do get lots of these kinds of warnings:
[opus @ 0x7f8855019400] Queue input is backward in timespeed=18.1x


Just to demonstrate one of my points, these two commands are identical,
expect the order of streams to amix. They produce results that are 20
seconds different in length!  This happens with asetpts enabled as well.

t0 first:
 ffmpeg -y  -i RT2568dcb62e48c44c4ac61094c4377553 -i
RTb5d9c3c0a59e98061159ddb310587b71   -filter_complex
"[0]adelay=25|25[t0];[1]adelay=2363|2363[t1];[t0][t1]amix=inputs=2" -c:a
opus -strict -2 output_audio2.mka

 size=   23881kB time=00:33:11.14 bitrate=  98.3kbits/s speed=20.5x
 video:0kB audio:23198kB subtitle:0kB other streams:0kB global headers:0kB
muxing overhead: 2.946144%
 [opus @ 0x7fb674801800] Average Intensity Stereo band: 0.7
 [opus @ 0x7fb674801800] Dual Stereo used: 0.00%

t1 first:
 ffmpeg -y  -i RT2568dcb62e48c44c4ac61094c4377553 -i
RTb5d9c3c0a59e98061159ddb310587b71   -filter_complex
"[0]adelay=25|25[t0];[1]adelay=2363|2363[t1];[t1][t0]amix=inputs=2" -c:a
opus -strict -2 output_audio2.mka

 size=   23881kB time=00:32:52.06 bitrate=  99.2kbits/s speed=  20x
 video:0kB audio:23198kB subtitle:0kB other streams:0kB global headers:0kB
muxing overhead: 2.945853%
 [opus @ 0x7fb403803000] Average Intensity Stereo band: 0.7
 [opus @ 0x7fb403803000] Dual Stereo used: 0.00%




On December 19, 2017 at 3:36:47 AM, Paul B Mahol (onemda at gmail.com) wrote:

On 12/19/17, Mark Corner <mcorner at gmail.com> wrote:
> I am having trouble with amix producing different results with different
> input orders and only one input to amix staying in sync with the video.
>
> I am starting with three video and three audio files, vp8 and opus
> encoded. There is a video and audio that go together and are about 32
> minutes long. Then there are two pairs of audio and video, each about 16
> minutes long.
>
> First I combine the three videos using an overlay:
> ffmpeg -y -itsoffset 0 -i
>
/tmp/RM359a097bf459c327e34954525862d2b7/RTd9075ac090a32a21e71269e6b08f4053-reproces
> sed.mkv -itsoffset 2.364 -i
>
/tmp/RM359a097bf459c327e34954525862d2b7/RT21a59c19d91a7644b8c76d3fd12c3b32-reproc
> essed.mkv -itsoffset 983.503 -i
>
/tmp/RM359a097bf459c327e34954525862d2b7/RT4d34aa2bae28a73f8079a6e1b65b3aa4-re
> processed.mkv -filter_complex
> "[0]pad=iw*2:ih[t0];[t0][1]overlay=W/2:0[t1];[t1][2]overlay=0:0[t2]" -map
> [t2]
> -an -c:v libvpx -crf 23 -b:v 1M -cpu-used 3 -threads 8
> /tmp/RM359a097bf459c327e34954525862d2b7/output_video.
> webm
>
> That works fine.
>
> Then I combine the audio (this is where the problem is):
> ffmpeg -y -i
> /tmp/RM359a097bf459c327e34954525862d2b7/RT2568dcb62e48c44c4ac61094c4377553
> -i /tmp/RM359a097bf45
> 9c327e34954525862d2b7/RTb5d9c3c0a59e98061159ddb310587b71 -i
> /tmp/RM359a097bf459c327e34954525862d2b7/RT955f8ed
> 764b5fda55a4dcd23cfed673d -filter_complex
> "[0]adelay=25|25[t0];[1]adelay=2363|2363[t1];[2]adelay=983525|9835
> 25[t2];[t2][t1][t0]amix=inputs=3" -strict -2 -c:a libopus
> /tmp/RM359a097bf459c327e34954525862d2b7/output_audi
> o.mka
>
> And then merge the audio and video together:
> ffmpeg -y -i /tmp/RM359a097bf459c327e34954525862d2b7/output_audio.mka -i
> /tmp/RM359a097bf459c327e34954525862d2b7/output_video.webm -c:v copy -c:a
> copy /tmp/RM359a097bf459c327e34954525862d2b7/full.webm
>
> The problem is that the audio and video are only in sync for what ever is
> first in the amix filter.... So in the above example, the t2 audio input
> will be in sync, but not the t1 or t0. If I change the order to something
> like [t1][t2][t0], then the t1 audio is in sync, but none of the others.
> In fact the length of the output_audio.mka will differ based on the order
> of inputs to amix.... As far as I understand, the order to amix shouldn't
> matter at all.
>
> Thanks for any advice you can offer.

Perhaps you need to use asetpts filter after each adelay to reset pts
to sane value?
_______________________________________________
ffmpeg-user mailing list
ffmpeg-user at ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-request at ffmpeg.org with subject "unsubscribe".


More information about the ffmpeg-user mailing list