FFmpeg은 디지털 음성 스트림과 영상 스트림에 대해서 다양한 종류의 형태로 기록하고 변환하는 컴퓨터 프로그램이다.[3] FFmpeg은 명령어를 직접 입력하는 방식으로 동작하며 여러 가지 자유 소프트웨어와 오픈 소스 라이브러리로 구성되어 있다. 라이브러리 중에는 libavcodec도 들어있는데, 이 라이브러리는 음성/영상 코덱 라이브러리로 여러 프로젝트에서 쓰이고 있다. 또, libavformat라는 음성/영상 다중화, 역다중화 라이브러리도 있다. 이 프로젝트의 이름은 MPEG 영상 표준화 그룹에서 유래했고, "mpeg" 앞에 붙은 "FF"는 패스트 포워드(fast forward)를 의미한다.[4]
이 프로젝트는 파브리스 벨라드(Fabrice Bellard)에 의해 시작되었고, 지금은 'Michael Niedermayer'에 의해서 지속되고 있다. 수많은 FFmpeg 개발자들이 'MPlayer' 프로젝트에 포함되어 있고, 'FFmpeg'는 MPlayer 프로젝트 서버를 호스팅하고 있다[모호한 표현].
FFmpeg은 리눅스 기반으로 개발되었지만, 애플, 윈도우, 아미가OS 등 대부분의 운영 체제에서 컴파일이 가능하다.
역사
이 프로젝트는 2000년 파브리스 벨라드(Fabrice Bellard)에 의해 시작되었으며[5] 2004년부터 2015년까지는 Michael Niedermayer가 주도하였다.[6] 일부 FFmpeg 개발자들은 MPlayer 프로젝트 소속 개발자들이기도 하였다.
2014년 1월 10일, 두 명의 구글 직원들이 퍼즈 테스팅을 이용하여 과거 2년 간 1,000개 이상의 버그를 FFmpeg에서 수정하였다고 발표하였다.[7]
2018년 1월, 오랜 기간 FFmpeg의 일부였던 ffserver 명령 줄 프로그램이 제거되었다.[8] 내부 API의 이용으로 인해 높은 유지보수 노력을 언급하면서 과거에 해당 프로그램을 구식 처리한 바 있다.[9]
이 프로젝트는 평균 3개월에 한 차례 새로운 릴리스를 출시한다. 릴리스 버전은 웹사이트에서 다운로드가 가능하지만 FFmpeg 개발자들은 사용자가 직접 소스 코드Git버전 관리 시스템으로부터 최신 빌드를 이용하여 소스로부터 소프트웨어를 컴파일할 것을 권고한다.[10]