我想将视图与现有视频合并,然后从中获取视频。例如,Textview在视频上添加带有的文本。许多社交媒体应用(例如tik tok和instagram)都可以看到此功能。
他们是如何做到的,有人知道了吗?目前,我只有Textview和ScalableVideoView,但Idk如何将它们合并为视频。
我需要添加一个覆盖视频,我想知道是否有一个简单的方法来使用FFMPEG.
我有一组图像(横幅和肖像),我希望在视频的底部覆盖视频的部分时间.例如,大约5秒后我想要显示叠加层,然后在视频结束前大约5秒钟我希望叠加层消失.
这是否可以使用FFMPEG命令行选项?
我想以指定的时间间隔在单个视频上叠加多个视频。
尝试了不同的解决方案,但它不会像我那样工作
我使用下面的命令将视频覆盖在视频上
String[] cmdWorking3 = new String[]{"-i",yourRealPath,"-i",gifVideoFile1,"-i",gifVideoFile2,"-i",gifVideoFile3,
"-filter_complex",
"[0][1]overlay=100:100:enable='between(t,0,2)'[v1];" +
"[v1][2]overlay=130:130:enable='between(t,0,2)'[v2];" +
"[v2][3]overlay=150:150:enable='between(t,5,6)'[v3];",
"-map","[v3]","-map" ,"0:a",
"-preset", "ultrafast", filePath};
Run Code Online (Sandbox Code Playgroud)
通过使用上述命令,前两个视频完全正常,但最后一个无法启用
编辑:
//完美运行
String[] cmdWorking11 = new String[]
{"-i",
yourRealPath,
"-i",
gifVideoFile1,
"-i",
gifVideoFile2,
"-i",
gifVideoFile3,
"-i",
gifVideoFile4,
"-filter_complex",
"[1]setpts=PTS+3/TB[1d];" +
"[2]setpts=PTS+7/TB[2d];" +
"[3]setpts=PTS+10/TB[3d];" +
"[0][1]overlay=100:100:enable='between(t,0,2)'[v1];" +
"[v1][1d]overlay=130:130:enable='between(t,3,6)'[v2];" +
"[v2][2d]overlay=130:130:enable='between(t,7,9)'[v3];" +
"[v3][3d]overlay=150:150:enable='between(t,10,13)'[v4];" +
"[1]asetpts=PTS+3/TB[1ad];" +
"[2]asetpts=PTS+7/TB[2ad];" +
"[3]asetpts=PTS+10/TB[3ad];" +
"[0:a][1ad][2ad][3ad]amix=4[a]",
"-map", "[v4]", "-map", "[a]", "-ac", "5",
"-preset",
"ultrafast",
filePath};
Run Code Online (Sandbox Code Playgroud)
上面的命令完全正常,但重叠视频中的音频消失了,你能帮我解决这个问题吗?
主视频时间持续时间约为00:15 秒,所有叠加视频约为 3 秒。
帮助解决这个问题会很棒,提前致谢。