我想用新的音频替换视频中的现有音频,更新后的音频将循环播放,直到视频完成[因为音频持续时间可能低于视频持续时间]。我已经尝试使用以下命令并且循环工作正常,但是如何替换现有音频?
String[] command = new String[]{"-y", "-i", videoPath ,"-filter_complex", "amovie="+audioPath+":loop=0,asetpts=N/SR/TB[aud];[0:a][aud]amix[a]", "-map", "0:v" ,"-map", "[a]", "-c:v", "copy", "-c:a", "aac", "-shortest","-preset", "ultrafast", videoOutputDestination};
只需省略 amix 过滤器即可。
取代:
amovie="+audioPath+":loop=0,asetpts=N/SR/TB[aud];[0:a][aud]amix[a]
跟:
amovie="+audioPath+":loop=0,asetpts=N/SR/TB[a]