Popen(shlex.split(command)
을 사용하여 퀵타임 mov 파일에서 wav 파일을 저장하고 ffmpeg 로그 파일을 저장하는 ffmpeg 명령을 실행합니다. 동시. 나는이를 사용하는 경우 :파이썬 - Popen (shlex.split (command), shell = False) - ffmpeg와 작동하지 않습니다.
command = './ffmpeg/ffmpeg -i /Users/me/Documents/MOVS/source.mov -map 0:1 -acodec pcm_s16le -y /Users/me/Documents/MOVS/source_01.wav'
p = Popen(shlex.split(command), shell=False)
그런 다음 명령이 제대로 완료,하지만 난 내가 사용하는, 그래서 만약 더 이상 작동 후 로그 파일을 저장하지 않는 줄을 추가하는 경우 :
다음command = './ffmpeg/ffmpeg -i /Users/me/Documents/MOVS/source.mov -map 0:1 -acodec pcm_s16le -y /Users/me/Documents/MOVS/source_01.wav 2> /Users/me/Documents/MOVS/lofFile.txt'
p = Popen(shlex.split(command), shell=False)
이 없음 더 오래 작동합니다. 파이썬없이 명령 행에서 명령을 사용하면 정상적으로 작동합니다. 난 그냥 사용하는 경우 :
p = Popen(command, shell=True)
을 모든 잘 작동하지만 다른 이유로 shell=False
를 사용해야합니다.
그것의 '올바른'최종 줄을 추가하여 나누기 왜 그냥 이해할 수 없다 2> /Users/me/Documents/MOVS/lofFile.txt
내가 틀렸다고 정정하되 올바른 구문 '2>'이 아니겠습니까? ('> 2'보다는) –
귀하의 권리, 미안, 그냥 잘못 입력. 질문이 업데이트되었습니다. – speedyrazor