[FFmpeg-user] Can't get acrossfade to work properly
Jim Worrall
coniophora at gmail.com
Sat Sep 19 19:33:24 CEST 2015
By the way, it’s exactly the same when I take out the asetpts filters. I guess they were doing nothing, because acrossfade concatenates more are less, as Paul Mahol said. But I don’t understand how the audio filter can mess up the video.
> On 2015 Sep 19, at 9:38 AM, Jim Worrall <coniophora at gmail.com> wrote:
>
> Well, it doesn’t quite work. It seems to work for the audio, but it messes up the video as noted. What would you suggest?
>
>> On 2015 Sep 19, at 9:26 AM, Paul B Mahol <onemda at gmail.com> wrote:
>>
>> On 9/19/15, Jim Worrall <coniophora at gmail.com> wrote:
>>> I am attempting to use ffmpeg to develop a finished video from raw video,
>>> with fading audio and video in at the beginning, crossfading them between
>>> clips, and fading them out at the end. I have three, 10-second clips for
>>> testing (actually came out to 10.04, 10.04, and 10.01). For some earlier
>>> clips I got it to work with 2 clips.
>>>
>>> Now, with these clips, the video in the first clip freezes when the fading
>>> out starts. If I take out the audio filters and output, the video works
>>> fine. Three clips doesn't work at all, many buffer queue overflows. But
>>> even then, without acrossfade the video works fine. (And I did succeed with
>>> 3 clips using a different strategy, concatenating silence to the beginning
>>> of 2nd and 3rd clip, then amix, but that is more complex and I’d like to
>>> avoid it) But maybe we can deal with that if I can get 2 to work reliably.
>>>
>>> The clips are available at:
>>> https://dl.dropboxusercontent.com/u/18324334/t1.mov
>>> https://dl.dropboxusercontent.com/u/18324334/t2.mov
>>> https://dl.dropboxusercontent.com/u/18324334/t3.mov
>>>
>>> Here is the command and output for 2 clips:
>>> ffmpeg -i t1.mov -i t2.mov -f lavfi -i color=black -filter_complex \
>>> "[0:v] fade=t=in:d=2, fade=t=out:st=8.04:d=2:alpha=1, setpts=PTS-STARTPTS
>>> [v0]; \
>>> [1:v] fade=t=in:d=2:alpha=1, setpts=PTS-STARTPTS+(8/TB),
>>> fade=t=out:st=16:d=2 [v1]; \
>>> [2:v] scale=720x480, trim=duration=18.09 [ovr0]; \
>>> [ovr0][v0] overlay [ovr1]; \
>>> [ovr1][v1] overlay [outv]; \
>>> [0:a] afade=t=in:d=2, asetpts=PTS-STARTPTS [a0]; \
>>> [1:a] asetpts=PTS-STARTPTS, afade=t=out:st=8:d=2 [a1]; \
>>> [a0][a1] acrossfade=d=2 [outa]" \
>>> -map [outv] -c:v libx264 -preset ultrafast -map [outa] -c:a libfdk_aac -b:a
>>> 256K -y out.mp4
>>>
>>
>> acrossfade basically concatenate two audio clips so I dont get how this above
>> can work.
>>
>>> ffmpeg version N-75262-g494b792 Copyright (c) 2000-2015 the FFmpeg
>>> developers
>>> built with Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM
>>> 3.6.0svn)
>>> configuration: --prefix=/Volumes/Ramdisk/sw --enable-nonfree --enable-gpl
>>> --enable-version3 --enable-libmp3lame --enable-libx264 --enable-libx265
>>> --enable-libgsm --enable-libvpx --enable-libfdk-aac --enable-libvorbis
>>> --enable-libass --enable-libfreetype --enable-libfontconfig
>>> --enable-libfribidi --disable-outdevs --disable-ffserver --disable-network
>>> libavutil 55. 2.100 / 55. 2.100
>>> libavcodec 57. 1.100 / 57. 1.100
>>> libavformat 57. 0.100 / 57. 0.100
>>> libavdevice 57. 0.100 / 57. 0.100
>>> libavfilter 6. 1.100 / 6. 1.100
>>> libswscale 4. 0.100 / 4. 0.100
>>> libswresample 2. 0.100 / 2. 0.100
>>> libpostproc 54. 0.100 / 54. 0.100
>>> Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 't1.mov':
>>> Metadata:
>>> major_brand : qt
>>> minor_version : 512
>>> compatible_brands: qt
>>> encoder : Lavf57.0.100
>>> Duration: 00:00:10.04, start: 0.030333, bitrate: 30310 kb/s
>>> Stream #0:0(eng): Video: dvvideo (dvc / 0x20637664), yuv411p, 720x480
>>> [SAR 8:9 DAR 4:3], 28771 kb/s, SAR 10:11 DAR 15:11, 29.97 fps, 29.97 tbr,
>>> 30k tbn, 29.97 tbc (default)
>>> Metadata:
>>> handler_name : DataHandler
>>> encoder : DV/DVCPRO - NTSC
>>> timecode : 00:04:33;12
>>> Stream #0:1(eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz,
>>> stereo, s16, 1536 kb/s (default)
>>> Metadata:
>>> handler_name : DataHandler
>>> Stream #0:2(eng): Data: none (tmcd / 0x64636D74), 0 kb/s
>>> Metadata:
>>> handler_name : DataHandler
>>> timecode : 00:04:33;12
>>> Input #1, mov,mp4,m4a,3gp,3g2,mj2, from 't2.mov':
>>> Metadata:
>>> major_brand : qt
>>> minor_version : 512
>>> compatible_brands: qt
>>> encoder : Lavf57.0.100
>>> Duration: 00:00:10.04, start: 0.030333, bitrate: 30310 kb/s
>>> Stream #1:0(eng): Video: dvvideo (dvc / 0x20637664), yuv411p, 720x480
>>> [SAR 8:9 DAR 4:3], 28771 kb/s, SAR 10:11 DAR 15:11, 29.97 fps, 29.97 tbr,
>>> 30k tbn, 29.97 tbc (default)
>>> Metadata:
>>> handler_name : DataHandler
>>> encoder : DV/DVCPRO - NTSC
>>> timecode : 00:04:45;12
>>> Stream #1:1(eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz,
>>> stereo, s16, 1536 kb/s (default)
>>> Metadata:
>>> handler_name : DataHandler
>>> Stream #1:2(eng): Data: none (tmcd / 0x64636D74), 0 kb/s
>>> Metadata:
>>> handler_name : DataHandler
>>> timecode : 00:04:45;12
>>> Input #2, lavfi, from 'color=black':
>>> Duration: N/A, start: 0.000000, bitrate: N/A
>>> Stream #2:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 320x240 [SAR
>>> 1:1 DAR 4:3], 25 tbr, 25 tbn, 25 tbc
>>> [libx264 @ 0x7fc3cd000c00] using SAR=8/9
>>> [libx264 @ 0x7fc3cd000c00] using cpu capabilities: MMX2 SSE2Fast SSSE3
>>> SSE4.2
>>> [libx264 @ 0x7fc3cd000c00] profile Constrained Baseline, level 3.0
>>> [libx264 @ 0x7fc3cd000c00] 264 - core 146 r2555 0c21480 - H.264/MPEG-4 AVC
>>> codec - Copyleft 2003-2015 - http://www.videolan.org/x264.html - options:
>>> cabac=0 ref=1 deblock=0:0:0 analyse=0:0 me=dia subme=0 psy=1
>>> psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=0
>>> cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=6
>>> lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0
>>> bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 keyint=250
>>> keyint_min=25 scenecut=0 intra_refresh=0 rc=crf mbtree=0 crf=23.0 qcomp=0.60
>>> qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=0
>>> Output #0, mp4, to 'out.mp4':
>>> Metadata:
>>> major_brand : qt
>>> minor_version : 512
>>> compatible_brands: qt
>>> encoder : Lavf57.0.100
>>> Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p,
>>> 720x480 [SAR 8:9 DAR 4:3], q=-1--1, 25 fps, 12800 tbn, 25 tbc (default)
>>> Metadata:
>>> encoder : Lavc57.1.100 libx264
>>> Stream #0:1: Audio: aac (libfdk_aac) ([64][0][0][0] / 0x0040), 48000 Hz,
>>> stereo, s16, 256 kb/s (default)
>>> Metadata:
>>> encoder : Lavc57.1.100 libfdk_aac
>>> Stream mapping:
>>> Stream #0:0 (dvvideo) -> fade
>>> Stream #0:1 (pcm_s16le) -> afade
>>> Stream #1:0 (dvvideo) -> fade
>>> Stream #1:1 (pcm_s16le) -> asetpts
>>> Stream #2:0 (rawvideo) -> scale
>>> overlay -> Stream #0:0 (libx264)
>>> acrossfade -> Stream #0:1 (libfdk_aac)
>>> Press [q] to stop, [?] for help
>>> frame= 452 fps= 75 q=-1.0 Lsize= 8113kB time=00:00:18.08
>>> bitrate=3676.1kbits/s
>>> video:7536kB audio:566kB subtitle:0kB other streams:0kB global headers:0kB
>>> muxing overhead: 0.138662%
>>> [libx264 @ 0x7fc3cd000c00] frame I:2 Avg QP:21.50 size: 29442
>>> [libx264 @ 0x7fc3cd000c00] frame P:450 Avg QP:24.24 size: 17016
>>> [libx264 @ 0x7fc3cd000c00] mb I I16..4: 100.0% 0.0% 0.0%
>>> [libx264 @ 0x7fc3cd000c00] mb P I16..4: 26.4% 0.0% 0.0% P16..4: 52.0%
>>> 0.0% 0.0% 0.0% 0.0% skip:21.6%
>>> [libx264 @ 0x7fc3cd000c00] coded y,uvDC,uvAC intra: 29.5% 24.7% 4.5% inter:
>>> 42.7% 30.1% 1.4%
>>> [libx264 @ 0x7fc3cd000c00] i16 v,h,dc,p: 44% 32% 14% 10%
>>> [libx264 @ 0x7fc3cd000c00] i8c dc,h,v,p: 57% 19% 19% 5%
>>> [libx264 @ 0x7fc3cd000c00] kb/s:3414.28
>>>
>>>
>>> _______________________________________________
>>> ffmpeg-user mailing list
>>> ffmpeg-user at ffmpeg.org
>>> http://ffmpeg.org/mailman/listinfo/ffmpeg-user
>>>
>> _______________________________________________
>> ffmpeg-user mailing list
>> ffmpeg-user at ffmpeg.org
>> http://ffmpeg.org/mailman/listinfo/ffmpeg-user
>
More information about the ffmpeg-user
mailing list