Python에서 ffmpeg 를 사용할 때에는 여러 주의점이 있습니다.

본 글은 windows 환경에서의 ffmpeg 사용 tip입니다.

 

1. Python Code 실행 경로에 반드시 ffmpeg 파일 존재.

pip install ffmpeg

 위 명령어를 이용해 ffmpeg를 설치하고 Python Code를 실행하셔도 ffmpeg가 존재하지 않는 다는 식의 에러가 발생 할 것입니다. 이와 같은 문제를 해결하기 위해서는 현재 실행할 .py파일과 같은 경로상에 ffmpeg.exe 파일이 존재하여야 합니다.

 

2. Log level 조정.

ffmpeg -loglevel "error" -i (input) ...

    "quiet"
    "panic"
    "fatal"
    "error"
    "warning"
    "info"
    "verbose"
    "debug"

loglevel을 통해 ffmpeg 실행 중에 표시되는 로그의 자세한 정도를 조절 할 수 있습니다.

 

3. Command 창 실행 안되게 하기.

Python Code 상에서 ffmpeg를 사용하는 것은 나의 코드가 ffmpeg 프로그램을 실행시켜서 처리하는 작업입니다.

그렇기 때문에, 실행환경에 따라서 Command창이 자동으로 생성될 수 있습니다.

 특히, pyinstaller 등을 통해서 GUI가 포함된 exe파일을 생성하였는데, 불필요한 Command 창이 실행된다면 매우 난감한 상황이 벌어지게 됩니다.

 

ffmpeg -hide_banner

위 옵션을 통해 해결된다면 좋겠지만, 그렇지 않다면

pip 를 통해 설치한 ffmpeg 패키지 코드를 수정해야 합니다.

ffmpeg package 폴더로 이동 (eg, python_path/site_pakages/ffmpeg)

"_run.py" 열기

"def run_async" 찾기

run_async 함수의 return 부분에 creationflags 옵션 추가

return subprocess.Popen(
        args, stdin=stdin_stram, stout=stout_stream, stderr=stdderr_stream, creationflags=0x08000000
    )

위와 같은 작업을 통해서 command 창 생성을 막을수 있습니다.

'Python' 카테고리의 다른 글

Python 파일 실행 옵션 만들기  (0) 2020.08.18
Python FTP 활용하기  (0) 2020.08.08
Posted by EnergyCastle
,