ffmpeg覆盖旋转问题

时间:2016-05-11 08:50:11

标签: android ffmpeg

我想使用ffmpeg执行命令,因此它会立即为我执行三项任务:

  1. 裁剪视频(确定)
  2. 将视频旋转90°(确定)和
  3. 添加叠加层
  4. 不幸的是,执行了任务1和2,但覆盖不是。请帮帮我..这是我正在使用的命令:

    ffmpeg -i " + path + " -i /storage/emulated/0/image.png -filter_complex [0]crop=" + cut + ":" + cut + ":0:0 -metadata:s:v:0 rotate=90 -c:a [a];[a][1]overlay=10:10 -preset ultrafast -codec:a copy /storage/emulated/0/Nitin/" + videoFile;
    

1 个答案:

答案 0 :(得分:0)

通过使用选项-metadata:s:v:0 rotate=90,您可以设置视频流中的旋转矩阵。

您的过滤器似乎未在过滤器图表中链接。您可以在过滤器链中实现所有目标。

[in] ---> crop ---> transpose ---> overlay ---> [out]
                                 ^
                                 |
     ---> movie -----------------|

上面显示的过滤器图表可以使用-vf选项指定,如下所示。

ffmpeg -i input.mp4 -vf "crop=200:200:12:34,transpose=1 [ct];movie=/path/to/the/overlay/image.png [movie];[ct] [movie]overlay=(W-w)/2:(H-h)/2" -c:a copy -c:v libx264 output.mp4

您应该将crop参数更改为您的参数,带有transpose参数的1过滤器将按顺时针旋转90度,有关详细信息,请参阅here

同时将影片滤镜参数更改为图像的路径。

最后,这两个输出将居中叠加以生成最终输出。