获取ffmpeg进程的进度信息。
ffmpeg-progress的Python项目详细描述
ffmpeg进度
这个脚本基于Rupert Plumridge的工作。
基本用途
importsubprocessasspimportsysfromffmpeg_progressimportstartdefffmpeg_callback(infile:str,outfile:str,vstats_path:str):p=sp.Popen(['ffmpeg','-y','-vstats_file',vstats_path,'-i',infile,outfile],stdout=sp.PIPE,stderr=sp.PIPE)returnp.piddefon_message_handler(percent:float,fr_cnt:int,total_frames:int,elapsed:float):sys.stdout.write('\r{:.2f}%'.format(percent))sys.stdout.flush()defon_done_handler():print('')start('my input file.mov','some output file.mp4',ffmpeg_callback,on_message=on_message_handler,on_done=on_done_handler,wait_time=1)# seconds
start()
是要使用的主要函数。如果未传递on_message
,则使用默认函数。
ffprobe
包括一个ffprobe前端功能。用法:
fromffmpeg_progressimportffprobeffprobe('my file.mp4')# returns a dict()