def cut_video(input_file: str, output_file: str, start_time: str, end_time: str, is_concat: bool = True):
"""
????
:param input_file: ????
:param output_file: ????
:param start_time: ????
:param end_time: ????
:param is_concat: ?????Virtual Concatenation Script
:return:
"""
ffmpeg_command = ['ffmpeg', '-y']
if is_concat:
ffmpeg_command.extend(['-protocol_whitelist', 'file,pipe',
'-safe', '0',
'-f', 'concat',
'-i', '-'])
else:
ffmpeg_command.extend(['-i', input_file])
ffmpeg_command.extend(['-ss', start_time,
'-to', end_time,
'-c', 'copy',
output_file])
child = subprocess.Popen(ffmpeg_command, stdin=subprocess.PIPE, stderr=subprocess.DEVNULL)
child.communicate(input_file if is_concat else None)
评论列表
文章目录