gpt4 book ai didi

ffmpeg - 有什么方法可以复杂使用sendcmd?

转载 作者:行者123 更新时间:2023-12-04 22:59:17 31 4
gpt4 key购买 nike

根据此链接Sendcmd in ffmpeg我正在尝试进行一些旋转和缩放叠加

我需要在视频上添加一些图像并在所需的帧或持续时间内移动旋转缩放它们。

我的 test.cmd 是

0
overlay@1 x 10,
overlay@1 y 10,
overlay@2 x 20,
overlay@2 y 20,
overlay@3 x 30,
overlay@3 y 30,
rotate@1 angle '45*PI/180';


2.25
overlay@1 x 20,
overlay@1 y 20,
overlay@2 x 30,
overlay@2 y 30,
overlay@3 x 40,
overlay@3 y 40,
rotate@1 angle '90*PI/180';

我的命令是
ffmpeg -i video.mp4 -i mask1.png -i mask2.png -i mask3.png -filter_complex "[0:v]sendcmd=f=test.cmd,nullsink;[1:v]rotate@1[rotate1];[2:v]rotate@2[rotate2];[3:v]rotate@3[rotate3];[0:v][rotate1]overlay@1[bg1];[bg1][rotate2]overlay@2[bg2];[bg2][rotate3]overlay@3[v]" -map "[v]" -map 0:a? -c:a copy OUT.mp4

第一个图像在 0 持续时间仅旋转一次((

1)我的代码有什么问题?

2)在这种情况下如何进行透明旋转?在哪里放置 c 参数进行旋转?

Sendcmd 在 ffmpeg 文档中的记录很差,我认为((

最佳答案

1)我的代码有什么问题?

使用图像输入,而不是 sendcmd。 -i mask1.png只生成一帧图像,所以2.25s时间没有帧。添加 -loop 1之前,生成视频流。

在哪里放置 c 参数进行旋转?

在旋转过滤器内部,所以 [1:v]rotate@1=c=black@0[rotate1]
由于图像现在循环播放,您应该添加 shortest=1到覆盖过滤器。

关于ffmpeg - 有什么方法可以复杂使用sendcmd?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54462184/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com