def merge_segments(files, output_dir=VIDEO_OUTPUT_DIR): merged_video = os.path.join(output_dir, 'merged.mp4') if len(files) == 0: raise ValueError('no segments') logger.info('Merging segments to %s', merged_video) pathutil.rm(merged_video) p = shell.execute( config['mencoder'], '-ovc', 'copy', '-o', merged_video, *files) if p.returncode != 0: raise ValueError('fail\n' + p.stderr) return merged_video
def avmerge(audio_file, video_file, output_file=OUTPUT_FILE, force_encoder=None, sync=True): logger.info('Zip video and audio') pathutil.rm(output_file) p = shell.Process([ config['avconv'], '-i', audio_file, '-i', video_file, '-acodec', 'copy', '-vcodec', 'copy' if force_encoder is None else force_encoder, output_file], sync) p.execute() if sync and p.returncode != 0: raise ValueError('fail') return output_file