我在哪里弄错了-FFmpeg(Linux)基本问题

时间:2019-03-22 17:52:13

标签: ffmpeg

我刚刚开始学习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"

1 个答案:

答案 0 :(得分:1)

  • fmpeg应该是ffmpeg
  • 您只有一个输入,因此[1:v]应该是[0:v](从0开始计数)。
  • 因为您不重叠或混合帧,所以不需要Alpha淡入淡出。
  • 结束淡入需要是淡出(而不是淡入)。
  • 您不能在过滤图中重新使用过滤器输出标签。
  • 您的某些过滤链可以合并。
  • 您的某些标签未与过滤器关联(您似乎忘记了使用concat过滤器)。
  • 您可以在末尾添加刻度和定标,而不是在每个分段中使用它们。
  • 将最后一个;替换为"
  • 您没有正确映射音频。
  • 流式复制(重新混合)音频。

示例:

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