【发布时间】:2020-01-13 14:39:59
【问题描述】:
我正在尝试使用 FFMPEG 命令来连接不同的视频。命令是
ffmpeg -i video.mp4 -i video-2.mp4 -filter_complex "[0:v:0] [0:a:0] [1:v:0] [1:a:0] concat=n=2:v=1:a=1 [v] [a]" -map "[v]" -map "[a]" output.mp4
当我在 Windows PowerShell 上运行时,此命令效果很好。但是当我尝试使用 Kotlin 代码运行时,它不起作用。
val firstVideo = "D:\\Videos\\ffmpeg\\video.mp4"
val secondVideo = "D:\\Videos\\ffmpeg\\video-2.mp4"
val resultPath = "D:\\Videos\\ffmpeg\\result-2.mp4"
val cmd = "ffmpeg -i $firstVideo -i $secondVideo -filter_complex \"[0:v:0] [0:a:0] [1:v:0] [1:a:0] concat=n=2:v=1:a=1 [v] [a]\" -map \"[v]\" -map \"[a]\" $resultPath"
.split(" ").toTypedArray()
Runtime.getRuntime().exec(cmd)
由于我使用的是 FFMPEG cli,因此我没有收到任何错误消息。
此外,当我尝试运行其他 FFMPEG 操作时,这段 Kotlin 也能完美运行。
【问题讨论】:
-
您可以打印
cmd的值并查看该命令是否与您打算运行的不同。