я пытаюсь конвертировать mp3 в mp4 с помощью ffmpeg (командная строка), все хорошо, и программа работает правильно. У меня есть один индикатор выполнения и обработать его из этой функции, прочитав вывод командной строки ffmpeg
cls_wnd.pbar_step(line.lower())
, но после того, как make (single) .exe файл с программой pyinstaller не запустился и ничего не конвертировал
def _cli(self ,cls_wnd ,cmd):
errors = False
cmd_output=""
line=''
try:
p = subprocess.Popen(cmd ,stdout=subprocess.PIPE ,
stderr=subprocess.STDOUT ,
universal_newlines=True ,
shell=False ,
creationflags = subprocess.CREATE_NO_WINDOW)
for line in p.stdout:
if cls_wnd.bt02.cget('text').lower()!="cancel":
p.kill()
return cmd_output, True ,'cancel'
cmd_output+=line
if line.lower().find('duration:')>-1 or line.lower().find('frame=')<1:
cls_wnd.pbar_step(line.lower())
cls_wnd.root.update()
stdoutdata, stderrdata = p.communicate()
if p.wait() != 0:
p.kill()
return cmd_output, True ,line
p.kill()
return cmd_output, errors ,' '
except OSError as e:
p.kill()
return cmd_output,True,' exit from except '
return '',True,'exit from _cli end'
cmd выглядит так
cmd='ffmpeg -y -loop 1 -i 1.jpg -i 1.mp3 -c:a copy -c:v libx264 -shortest 1.mp4'
make .exe файл с этой командой
pyinstaller -w --onefile mp3tomp4.py --onefile
если я не использую '-w', все хорошо ... но это уродливо черный cmd- windows показан, и я не могу закрыть или скрыть его