我尝试使用以下解决方案一次淡入淡出大量视频:使用 ffmpeg 淡入淡出视频和音频 但是,淡入淡出似乎会产生视频文件,从而在后续处理中产生错误。我尝试了各种实验来尝试解决这个问题。我尝试的其中一种尝试使 ffmpeg 停止并出现明显的无限循环。因此,我简化了示例,拍摄 3 秒的视频,然后淡入视频的中心秒,这应该会产生基本相同的视频。然而,事实并非如此。所以我不确定我是否错过了一些重要的参数。但我不希望 ffmpeg 在任何情况下都卡住。在 Windows 中使用 ffmpeg-20170921-183fd30-win64-static.zip 的三个步骤是:
ffmpeg.exe -y -i videofromCanoncamcorder.MTS -ss 28.5 -t 3 -vcodec libx265 -x265-params -o tail.m2t -report
copy tail.m2t head.m2t
ffmpeg -y -i tail.m2t -i head.m2t -an -filter_complex "[0:v]trim=start=0:end=1,setpts=PTS-STARTPTS[firstclip];[1:v]trim=start=2,setpts=PTS-STARTPTS[secondclip];[0:v]trim=start=1:end=2,setpts=PTS-STARTPTS[fadeoutsrc];[1:v]trim=start=1:end=2,setpts=PTS-STARTPTS[fadeinsrc];[fadeinsrc]format=pix_fmts=yuva420p,fade=t=in:st=0:d=1:alpha=1[fadein];[fadeoutsrc]format=pix_fmts=yuva420p,fade=t=out:st=0:d=1:alpha=1[fadeout];[fadein]fifo[fadeinfifo];[fadeout]fifo[fadeoutfifo];[fadeoutfifo][fadeinfifo]overlay[crossfade];[firstclip][crossfade][secondclip]concat=n=3[output];[0:a][1:a] acrossfade=d=1 [audio]" -map "[output]" -map "[audio]" fade.m2t -report
日志文件、数据文件和命令文件可以在这里找到:http://berstis.com/ffmpegbug/