import os import subprocess import glob def main(): tsFileList = [] # consider only .mp4 files files = glob.glob('*.mp4') for file in files: # file transcode to MPEG-2 TS subprocess.call(['ffmpeg', '-i', file, '-c', 'copy', '-bsf:v', 'h264_mp4toannexb', '-f', 'mpegts', file+'.ts']) tsFileList.append(file+'.ts') process(tsFileList) def process(tsFileList): input = '' for eachfile in tsFileList: input += eachfile + '|' # concatenation subprocess.call(['ffmpeg', '-i', 'concat:' + input, '-c', 'copy', '-bsf:a', 'aac_adtstoasc', 'output.mp4']) # remove all .ts files for eachfile in tsFileList: os.remove(eachfile) print("done!") main()