|  |  |  | @ -799,4 +799,25 @@ public class FFmpegUtil { | 
			
		
	
		
			
				
					|  |  |  |  |         return insert(gopCmd.split(" "), 2, inputPath, outputPath); | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     /** | 
			
		
	
		
			
				
					|  |  |  |  |      * Trim one or more segments from a single video | 
			
		
	
		
			
				
					|  |  |  |  |      * @param inputPath  the path of input file | 
			
		
	
		
			
				
					|  |  |  |  |      * @param start1     start time of the first segment | 
			
		
	
		
			
				
					|  |  |  |  |      * @param end1       end time of the first segment | 
			
		
	
		
			
				
					|  |  |  |  |      * @param start2     start time of the second segment | 
			
		
	
		
			
				
					|  |  |  |  |      * @param end2       end time of the second segment | 
			
		
	
		
			
				
					|  |  |  |  |      * @param outputPath the path of output file | 
			
		
	
		
			
				
					|  |  |  |  |      * @return the command of trim video | 
			
		
	
		
			
				
					|  |  |  |  |      */ | 
			
		
	
		
			
				
					|  |  |  |  |     public static String[] trimVideo(String inputPath, int start1, int end1, int start2, int end2, String outputPath) { | 
			
		
	
		
			
				
					|  |  |  |  |         String trimCmd = "ffmpeg -i -filter_complex " + | 
			
		
	
		
			
				
					|  |  |  |  |                 "[0:v]trim=start=%d:end=%d,setpts=PTS-STARTPTS[v0];" + | 
			
		
	
		
			
				
					|  |  |  |  |                 "[0:a]atrim=start=%d:end=%d,asetpts=PTS-STARTPTS[a0];" + | 
			
		
	
		
			
				
					|  |  |  |  |                 "[0:v]trim=start=%d:end=%d,setpts=PTS-STARTPTS[v1];" + | 
			
		
	
		
			
				
					|  |  |  |  |                 "[0:a]atrim=start=%d:end=%d,asetpts=PTS-STARTPTS[a1];" + | 
			
		
	
		
			
				
					|  |  |  |  |                 "[v0][a0][v1][a1]concat=n=2:v=1:a=1[out] -map [out]"; | 
			
		
	
		
			
				
					|  |  |  |  |         trimCmd = String.format(Locale.getDefault(), trimCmd, start1, end1, start1, end1, start2, end2, start2, end2); | 
			
		
	
		
			
				
					|  |  |  |  |         return insert(trimCmd.split(" "), 2, inputPath, outputPath); | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | } | 
			
		
	
	
		
			
				
					|  |  |  | 
 |