这里给大家介绍如果一键将视频拆分为多个场景视频。
主要还是用ffmpeg命令,获取各个场景的起始点,然后再用ffmpeg精准截取场景视频。
关键代码:
1,获取场景信息命令
string cmd = string.Format(" -i {0} -filter:v \"select='gt(scene,{1})',showinfo\" -f null - 1>{2} 2>&1 -y", filename, flag, logfile);
2,精准截取视频
string strCmd = " -ss " + startTime
+ " -i " + OriginFile
+ " -t " + durationTime
+ " -max_muxing_queue_size 1024"
+ " -strict -2 -keyint_min 8 -g 8 -sc_threshold 0"
+ " " + DstFile + " -y ";
1