我犯了一个错误 - FFmpeg(Linux)基本问题



我刚开始学习FFmpeg。我有代码(如下所示(,但它什么也没做。

fmpeg -i videoplayback.mp4 -filter_complex "[1:v]trim=start=0:end=1,setpts=PTS-STARTPTS,scale=480x360,setsar=sar=16/9[intro1];
[1:v]trim=start=1:end=123.39,setpts=PTS-STARTPTS,scale=480x360,setsar=sar=16/9[main1];
[1:v]trim=start=123.39:end=124.39,setpts=PTS-STARTPTS,scale=480x360,setsar=sar=16/9[end1];
[intro1]format=pix_fmts=yuva420p, fade=t=in:st=0:d=1:alpha=1[intro1];
[end1]format=pix_fmts=yuva420p, fade=t=in:st=0:d=1:alpha=1[end1];
[intro1][main1][end1][output];
[a:1][audio]; -vcodec libx264 -map "[output]" -map"[audio]" "output.mp4"
  • fmpeg应该是ffmpeg.
  • 您只有一个输入[1:v]因此应该[0:v]输入(它从 0 开始计数(。
  • 入淡出不需要 Alpha,因为您没有重叠或混合帧。
  • 结束淡入淡出
  • 需要淡出(而不是淡入(。
  • 不能在筛选器
  • 图中重复使用筛选器输出标签。
  • 您的某些筛选器链可以组合在一起。
  • 您的某些标签未与过滤器关联(您似乎忘记使用 concat 过滤器(。
  • 您可以在末尾添加比例和 setsar,而不是将它们用于每个段。
  • 将最后一个;替换为 "
  • 您没有正确映射音频。
  • 流式复制(重新复用(音频。

例:

ffmpeg -i videoplayback.mp4 -filter_complex "[0:v]trim=end=1,setpts=PTS-STARTPTS,fade=t=in:d=1[intro];[0:v]trim=start=1:end=123.39,setpts=PTS-STARTPTS[main];[0:v]trim=start=123.39,setpts=PTS-STARTPTS,fade=t=out:d=1[end];[intro][main][end]concat=n=3:v=1:a=0,scale=480x360,setsar=16/9[v]" -map "[v]" -map 0:a -c:a copy output.mp4

最新更新