# 1 Ses giriş / çıkışını aynı anda hafifletmek için:
ffmpeg -i clip.mp4 -vf 'fade=in:0:30,fade=out:960:30'
-af 'afade=in:st=0:d=1,afade=out:st=32:d=1'
-c:v libx264 -crf 22 -preset veryfast fadeInOut.mp4
Afade süreleri saniye cinsindendir .
# 2 Otomatik mi? Hayır. Ancak aşağıdaki geçici çözüme bakın
Süreyi almak için önce ffprobe komutunu çalıştırabilirsiniz.
ffprobe -i clip.mp4 -show_entries stream=codec_type,duration -of compact=p=0:nk=1
Bunun gibi bir şey elde edersiniz:
video|13.556000
audio|13.816000
Daha sonra soluklarınızı yerleştirmek için yukarıdakileri kullanabilirsiniz. Bu süreler saniyeler içinde.
Geçici çözüm
ffmpeg -i clip.mp4 -sseof -1 -copyts -i clip.mp4 -filter_complex
"[1]fade=out:0:30[t];[0][t]overlay,fade=in:0:30[v];
anullsrc,atrim=0:2[at];[0][at]acrossfade=d=1,afade=d=1[a]"
-map "[v]" -map "[a]" -c:v libx264 -crf 22 -preset veryfast -shortest fadeInOut.mp4
FFmpeg, bir sseof
kişinin sondan bir girdi aramasına izin veren bir seçeneğe sahiptir . Bunu hedefimize ulaşmak için kullanabiliriz. Bu yüzden girişi iki kez besliyoruz, 2. kez sadece son saniyeyi yutuyor. FFmpeg'e zaman damgalarını korumasını söyleriz, böylece ffmpeg bu kuyruk kısmının zamansal konumunu korur.
Bu kuyruğa bir solma uyguladık ve ardından sonucu tam girdiye bindiriyoruz. Aynı ortam dosyası olduklarından, ön plan arka planı tamamen kaplar ve copyts
uygulandığından beri kaplama, arka plan girişinde karşılık gelen aynı çerçeve üzerinde olur.
Ses için, 2 saniyelik boş bir kukla ses yaratırız ve daha sonra ana sesten bu kukla sese bir ses crossfade uygularız. 2. ses boş olduğu için, bu aslında ana giriş için yavaşlamadır. -shortest
Bindirmeli meydana geldikten sonra taklit ses bölümlerini bırakmak ilave edilir.