Ffmpeg 视频片段删除

Ffmpeg 视频片段删除

ffmepg 我正在使用以下链接从视频中删除多个片段-如何使用 FFmpeg 从视频中删除多个片段?

我正在执行以下命令:

String []complexCommand={"ffmpeg","-i","/sdcard/A.mp4","-filter_complex","[0:v]trim=duration=30[a];[0:v]trim=start=40:end=50,setpts=PTS-STARTPTS[b];[a][b]concat[c];[0:v]trim=start=80,setpts=PTS-STARTPTS[d];[c][d]concat[out1]","-map", "[out1]","-acodec","libmp3lame","-vcodec","mpeg4","-b:v","1024k","/sdcard/temp1.mp4"};    

执行此命令会创建一个可运行的视频,但听不到音频。如何启用音频。或者还有其他方法可以删除 中的多个片段ffmpeg

答案1

我已经更新了该答案。如果您也想有音频,则必须对音频流执行相同的操作。因此命令应该是:

ffmpeg -i utv.ts -filter_complex \
"[0:v]trim=duration=30[av];[0:a]atrim=duration=30[aa];\
 [0:v]trim=start=40:end=50,setpts=PTS-STARTPTS[bv];\
 [0:a]atrim=start=40:end=50,asetpts=PTS-STARTPTS[ba];\
 [av][bv]concat[cv];[aa][ba]concat=v=0:a=1[ca];\
 [0:v]trim=start=80,setpts=PTS-STARTPTS[dv];\
 [0:a]atrim=start=80,asetpts=PTS-STARTPTS[da];\
 [cv][dv]concat[outv];[ca][da]concat=v=0:a=1[outa]" -map [outv] -map [outa] out.ts

相关内容