Jon*_*n_W 4 video bash shell ffmpeg
这个超级用户回答使用 ffmpeg 的 2 个视频之间的交叉淡入淡出让我到目前为止,但现在我已经尝试了很多解决方案并看到了那里的每个 SO 链接,是时候向大家寻求帮助了。
我正在尝试同时使用音频和视频对 2 个 ts 格式的视频进行交叉淡化,每个 10 秒。
步骤是:
这仅适用于视频,但是当我尝试添加音频时,我无法跳过此错误消息:
带有未连接到任何目的地的 asetpts 的过滤器实例“Parsed_asetpts_4”的类型音频的输出垫“默认”
看来我没有正确连接音频输出。我想我需要更改 [over] 行以包含音频。但是我该怎么做呢?
`ffmpeg -i vid1.ts -i vid2.ts -f lavfi -i color=black -filter_complex \
"[0:v]format=pix_fmts=yuva420p,\
fade=t=out:st=9:d=1:alpha=1,setpts=PTS-STARTPTS[v0];\
[0:a]\
afade=t=out:st=9:d=1,asetpts=PTS-STARTPTS[a0];\
[1:v]format=pix_fmts=yuva420p,\
fade=t=in:st=0:d=1:alpha=1,setpts=PTS-STARTPTS+9/TB[v1];\
[1:a]\
afade=t=in:st=0:d=1,asetpts=PTS-STARTPTS+9/TB[a1];\
[a0][a1]amix=inputs=2;\
[2:v]scale=720x406,trim=duration=19[over];\
[over][v0]overlay[over1];\
[over1][v1]overlay=format=yuv420[outv]" -vcodec libx264 -y -map [outv] final.ts`
Run Code Online (Sandbox Code Playgroud)
这将同时执行音频和视频:
ffmpeg -i segment1.mp4 -i segment2.mp4 -an \
-filter_complex \
" [0:v]trim=start=0:end=9,setpts=PTS-STARTPTS[firstclip];
[1:v]trim=start=1,setpts=PTS-STARTPTS[secondclip];
[0:v]trim=start=9:end=10,setpts=PTS-STARTPTS[fadeoutsrc];
[1:v]trim=start=0:end=1,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]" result.mp4
Run Code Online (Sandbox Code Playgroud)
这与此答案基本相同,但仅涵盖视频。请查看答案,因为它的解释非常精彩。
希望他们将来会添加vcrossfade过滤器......!
| 归档时间: |
|
| 查看次数: |
3513 次 |
| 最近记录: |