- FFmpeg는 멀티미디어 데이터를 다루는 데 사용되는 강력한 오픈 소스 소프트웨어
- 인코딩, 디코딩, 변환, 스트리밍하는데 사용되는 툴킷
- CLI를 통해 사용되고 다양한 라이브러리와 유틸리티를 포함하고 있음.
주요 기능
- 포맷 변환:
- 다양한 파일 포맷 간의 변환이 가능합니다. 예를 들어, MP4 파일을 AVI 파일로 변환할 수 있습니다.
ffmpeg -i input.mp4 output.avi
- 코덱 변경:
- 비디오와 오디오 코덱을 다른 코덱으로 변환할 수 있습니다. 예를 들어, 비디오 코덱을 H.264로, 오디오 코덱을 AAC로 변환할 수 있습니다.
ffmpeg -i input.mp4 -vcodec libx264 -acodec aac output.mp4
- 비디오 필터링:
- 다양한 비디오 필터를 적용할 수 있습니다. 예를 들어, 비디오를 회전하거나 자르거나 워터마크를 추가할 수 있습니다.
ffmpeg -i input.mp4 -vf "rotate=PI/2" output.mp4
- 오디오 처리:
- 오디오 트랙을 추출하거나, 볼륨을 조절하거나, 오디오 필터를 적용할 수 있습니다.
ffmpeg -i input.mp4 -vn -acodec copy output.aac
- 스트리밍:
- 실시간 스트리밍을 위한 기능도 제공하며, 다양한 프로토콜을 지원합니다.
FFmpeg의 라이브러리
- libavcodec:
- 다양한 오디오 및 비디오 코덱을 제공하는 라이브러리입니다.
- libavformat:
- 멀티미디어 컨테이너 포맷을 다루는 라이브러리입니다.
- libavfilter:
- 오디오 및 비디오 필터를 적용하는 라이브러리입니다.
- libavdevice:
- 캡처 및 재생 장치를 다루는 라이브러리입니다.
- libswscale:
- 이미지 크기 조정과 색상 공간 변환을 위한 라이브러리입니다.
- libswresample:
- 오디오 샘플링을 변환하기 위한 라이브러리입니다.
설치 방법
$ /bin/bash -c "$(curl -fsSL <https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh>)"