Python 스크립트의 FFmpeg

Rohan Timalsina 2023년6월21일
  1. FFmpeg Python 패키지 설치
  2. FFmpeg를 사용하여 Python에서 비디오 자르기
  3. FFmpeg를 사용하여 Python에서 비디오의 너비와 높이 얻기
  4. FFmpeg를 사용하여 Python의 비디오에서 썸네일 저장
  5. FFmpeg를 사용하여 Python에서 비디오 뒤집기
Python 스크립트의 FFmpeg

FFmpeg는 Fast Forward Moving Picture Experts Group의 약자입니다. 멀티미디어 파일을 다루는 ffmpeg, ffplay, ffprobe와 같은 도구를 제공하는 오픈 소스 프로젝트입니다.

FFmpeg는 비디오/오디오 형식 변환, 비디오 압축, 비디오에서 오디오 추출, GIF 생성, 비디오 자르기 등을 도와주는 명령줄 유틸리티입니다.

이 튜토리얼은 Python에서 FFMPEG 명령을 사용하는 방법을 알려줍니다.

FFmpeg Python 패키지 설치

먼저 시스템에 FFmpeg를 설치해야 합니다. 관리자로 명령 프롬프트를 열고 다음 명령을 실행하여 choco를 사용하여 FFmpeg를 설치합니다.

choco install ffmpeg

다음으로 Python 패키지 관리자 도구인 pip를 사용하여 ffmpeg-python 패키지를 설치합니다.

프롬프트에서 다음 명령을 실행하여 pip로 패키지를 설치합니다.

pip install ffmpeg-python

출력:

Successfully built ffmpeg
Installing collected packages: ffmpeg
Successfully installed ffmpeg-1.4

FFmpeg를 사용하여 Python에서 비디오 자르기

시스템에 이미 FFmpeg를 구성했으므로 일부 FFmpeg 명령을 사용하여 Python에서 비디오 작업을 해보겠습니다.

다음 예제는 비디오 Pencil.mp4를 5초에서 10초로 자르고 output.mp4로 저장합니다.

import ffmpeg

video = ffmpeg.input("Pencil.mp4")
video = video.trim(start=5, duration=5)
video = ffmpeg.output(video, "output.mp4")
ffmpeg.run(video)

FFmpeg를 사용하여 Python에서 비디오의 너비와 높이 얻기

다음 예제는 Python에서 지정된 비디오의 너비와 높이를 인쇄합니다.

import ffmpeg

probe = ffmpeg.probe("output.mp4")
video = next(
    (stream for stream in probe["streams"] if stream["codec_type"] == "video"), None
)
width = int(video["width"])
height = int(video["height"])
print("Width:", width)
print("Height:", height)

출력:

Width: 1280
Height: 720

FFmpeg를 사용하여 Python의 비디오에서 썸네일 저장

Python에서 FFmpeg를 사용하여 비디오의 썸네일을 저장할 수도 있습니다.

다음 예제는 동영상의 4초부터 너비 500px의 썸네일을 생성합니다.

import ffmpeg

video = ffmpeg.input("Pencil.mp4", ss=4)
video = video.filter("scale", 500, -1)
video = ffmpeg.output(video, "output.png", vframes=1)
ffmpeg.run(video)

높이는 종횡비에 따라 자동으로 결정됩니다.

출력 이미지:

Python에 있는 비디오의 썸네일

FFmpeg를 사용하여 Python에서 비디오 뒤집기

Python에서 ffmpeg.hflip()을 사용하여 비디오를 가로로 뒤집고 ffmpeg.vflip()을 사용하여 비디오를 세로로 뒤집을 수 있습니다.

비디오를 가로로 뒤집기:

import ffmpeg

video = ffmpeg.input("Pencil.mp4")
video = ffmpeg.hflip(video)
video = ffmpeg.output(video, "horizontal.mp4")
ffmpeg.run(video)

비디오를 세로로 뒤집기:

import ffmpeg

video = ffmpeg.input("Pencil.mp4")
video = ffmpeg.vflip(video)
video = ffmpeg.output(video, "vertical.mp4")
ffmpeg.run(video)

FFmpeg는 멀티미디어 파일에서 다양한 작업을 수행하기 위한 편리한 도구입니다. 비디오를 빠르게 다듬고, 파일 형식을 변경하고, 오디오를 추출하고, GIF를 만드는 등의 작업을 할 수 있습니다.

이 시점에서 Python 스크립트에서 FFmpeg 명령을 사용하는 방법을 명확하게 이해했을 것입니다. 이 튜토리얼이 도움이 되었기를 바랍니다.

Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website