FFmpeg

FFmpeg은 비디오, 오디오 및 기타 멀티미디어 파일과 스트림을 처리하기 위한 라이브러리와 프로그램 모음으로 구성된 자유-오픈 소스 소프트웨어 프로젝트이다. 그 핵심은 비디오 및 오디오 파일 처리를 위해 설계된 명령줄 ffmpeg 도구 자체이다. 이 도구는 포맷 트랜스코딩, 기본 편집(트리밍 및 연결), 비디오 스케일링, 비디오 후반 작업 효과 및 표준 준수(SMPTE, ITU)를 위해 널리 사용된다.

FFmpeg에는 다른 도구들도 포함되어 있다. 간단한 미디어 플레이어인 ffplay와 미디어 정보를 표시하는 명령줄 도구인 ffprobe가 있다. 포함된 라이브러리 중에는 많은 상용 및 자유 소프트웨어 제품에서 사용하는 오디오/비디오 코덱 라이브러리인 libavcodec, 오디오/비디오 컨테이너 뮤싱 및 디뮤싱 라이브러리인 libavformat (Lavf), 그리고 GStreamer와 유사한 필터그래프를 통해 필터를 향상시키고 편집하는 라이브러리인 libavfilter가 있다.

FFmpeg은 다른 많은 소프트웨어 프로젝트의 워크플로의 일부이며, 그 라이브러리들은 VLC와 같은 소프트웨어 미디어 플레이어의 핵심 부분이며 유튜브 및 빌리빌리의 핵심 처리 과정에 포함되어 왔다. 많은 오디오 및 비디오 파일 포맷을 위한 인코더와 디코더가 포함되어 있어, 일반적이거나 희귀한 미디어 파일의 트랜스코딩에 매우 유용하다.

FFmpeg은 활성화된 옵션에 따라 LGPL-2.1-이상 또는 GPL-2.0-이상으로 발행된다.

 역사 
이 프로젝트는 2000년에 파브리스 벨라르("Gérard Lantau"라는 가명 사용)에 의해 시작되었으며, 2004년부터 2015년까지 미하엘 니더마이어(Michael Niedermayer)가 이끌었다. 일부 FFmpeg 개발자들은 MPlayer 프로젝트에도 참여했다.

FFmpeg의 "FF"는 "빨리 감기"(fast forward)를 의미한다. 로고는 MPEG 비디오 코덱이 엔트로피 코딩을 처리하는 방식을 보여주는 지그재그 스캔 패턴을 나타낸다. Alt URL 

2011년 3월 13일, 한 무리의 FFmpeg 개발자들이 Libav라는 이름으로 프로젝트를 포크하기로 결정했다. 이 그룹은 FFmpeg 리더십과의 의견 불일치로 인해 프로젝트를 포크하기로 결정했다.
Libav는 2020년에 폐기된 것으로 선언되었다.

2014년 1월 10일, 두 명의 구글 직원이 퍼즈 테스트를 통해 지난 2년 동안 FFmpeg에서 1000개 이상의 버그가 수정되었다고 발표했다.

2018년 1월, FFmpeg의 오랜 구성 요소였던 ffserver 명령줄 프로그램이 제거되었다. 개발자들은 이전에 내부 API 사용으로 인한 높은 유지 관리 노력을 이유로 이 프로그램을 더 이상 사용하지 않을 것(deprecated)이라고 밝힌 바 있다.

이 프로젝트는 평균 3개월마다 새로운 릴리스를 발표한다. 웹사이트에서 릴리스 버전을 다운로드할 수 있지만, FFmpeg 개발자들은 사용자가 깃 버전 관리 시스템을 사용하여 최신 소스 코드 빌드에서 소프트웨어를 직접 컴파일할 것을 권장한다.

 코덱 역사 
지금까지 FFmpeg 프로젝트 내에서 해당 코덱이 있는 두 개의 영상 코딩 포맷과 하나의 컨테이너 포맷이 만들어졌다. 두 개의 비디오 코덱은 비손실 FFV1과, 비손실 및 손실을 지원하는 Snow 코덱이다. Snow의 개발은 정체되었으며, 비트스트림 포맷이 아직 확정되지 않아 2011년부터 실험적인 상태로 남아 있다. NUT이라는 멀티미디어 컨테이너 포맷은 더 이상 활발하게 개발되지 않지만 여전히 유지 관리되고 있다.

2010년 여름, FFmpeg 개발자인 피오나 글레이저(Fiona Glaser), 로날드 불체(Ronald Bultje), 데이비드 콘래드(David Conrad)는 ffvp8 디코더를 발표했다. 테스트를 통해 그들은 ffvp8이 구글의 자체 libvpx 디코더보다 빠르다는 것을 확인했다. 버전 0.6부터 FFmpeg은 WebM과 VP8도 지원했다.

2013년 10월, 네이티브 VP9 디코더와 오픈 소스 고효율 비디오 코딩(HEVC) 디코더인 OpenHEVC가 FFmpeg에 추가되었다. 2016년에는 네이티브 AAC 인코더가 안정적인 것으로 간주되어 VisualOn과 FAAC의 두 외부 AAC 인코더에 대한 지원이 제거되었다. FFmpeg 3.0("Einstein")은 Fraunhofer FDK AAC 인코더에 대한 빌드 지원을 유지했다. 버전 3.4 "Cantor"부터 FFmpeg은 FITS 이미지 포맷을 지원했다. 2018년 11월 버전 4.1 "al-Khwarizmi" 이후로 AV1은 WebM을 포함하여 MP4 및 Matroska에서 뮤싱될 수 있다.

 구성 요소 

 명령줄 도구 
 ffmpeg은 오디오 또는 비디오 포맷을 변환하는 명령줄 도구이다. 또한 TV 캡처 카드와 같은 다양한 하드웨어 및 소프트웨어 소스로부터 실시간으로 캡처하고 인코딩할 수 있다.이 리눅스 데스크톱 (X11) 비디오는 ffmpeg에 의해 캡처되었으며 실시간으로 인코딩되었다.
 ffplay는 SDL과 FFmpeg 라이브러리를 사용하는 간단한 미디어 플레이어이다.
 ffprobe는 미디어 정보(텍스트, CSV, XML, JSON)를 표시하는 명령줄 도구이다. MediaInfo도 참조하라.

 라이브러리 
 libswresample은 오디오 리샘플링 루틴을 포함하는 라이브러리이다.
 Libavcodec은 모든 네이티브 FFmpeg 오디오/비디오 인코더와 디코더를 포함하는 라이브러리이다. 대부분의 코덱은 최고의 성능과 높은 코드 재사용성을 보장하기 위해 처음부터 개발되었다.
 libavformat (Lavf)는 오디오/비디오 컨테이너 포맷을 위한 디뮤저와 뮤저를 포함하는 라이브러리이다.
 libavutil은 FFmpeg의 여러 부분에서 공통적으로 사용되는 루틴을 포함하는 도우미 라이브러리이다. 이 라이브러리에는 해시 함수, 암호, LZO 압축 해제기 및 베이스64 인코더/디코더가 포함되어 있다.
 libswscale은 비디오 이미지 스케일링 및 색 공간/픽셀 포맷 변환 루틴을 포함하는 라이브러리이다.
 libavfilter는 vhook의 대체물로, 디코더와 인코더 사이에서 비디오/오디오를 수정하거나 검사(디버깅용)할 수 있게 해준다. 필터는 MPlayer 및 AviSynth를 포함한 많은 프로젝트에서 이식되었다.
 libavdevice는 내부 및 외부 장치를 통한 오디오/비디오 입출력을 포함하는 라이브러리이다.

 지원 하드웨어 
 CPU 
FFmpeg은 비디오 및 오디오 압축 및 압축 해제 알고리즘의 소프트웨어 구현을 포괄한다. 이들은 X86(IA-32 및 X86-64), PPC(파워PC), ARM, DEC 알파, SPARC 및 MIPS를 포함한 다양한 명령어 집합에서 컴파일되고 실행될 수 있다.

 특수 목적 하드웨어 
오디오/비디오 압축 및 압축 해제를 위한 다양한 주문형 집적 회로(ASIC)가 존재한다. 이러한 ASIC은 호스트 CPU로부터 계산 부담을 부분적으로 또는 완전히 덜어줄 수 있다. 알고리즘의 완전한 구현 대신 이러한 ASIC을 사용하기 위한 API만 있으면 된다.

 기업  ASIC  용도  FFmpeg 지원 여부  상세 내용 AMD     UVD      디코딩  VDPAU API 및 VAAPI를 통해 지원                       VCE        인코딩  VAAPI를 통해 지원, 실험적으로 간주됨 Amlogic             Amlogic Video Engine           디코딩  블랙매직 디자인DeckLink인코딩/디코딩    실시간 수집 및 재생 브로드컴            Crystal HD 디코딩  퀄컴Hexagon인코딩/디코딩 하드웨어 가속 인텔   Intel Clear Video              디코딩   (libmfx, VAAPI)                       Intel Quick Sync Video         인코딩/디코딩   (libmfx, VAAPI) 엔비디아  PureVideo / NVDEC 디코딩   FFmpeg v1.2 기준 VDPAU API를 통해 지원 (더 이상 사용되지 않음)FFmpeg v3.1 기준 CUVID API를 통해 지원                       NVENC            인코딩   FFmpeg v2.6 기준

다음 API들도 지원된다: DirectX 비디오 가속(DXVA2, 윈도우), Direct3D 11(D3D11VA, 윈도우), 미디어 파운데이션(윈도우), Vulkan(VKVA), VideoToolbox(iOS, iPadOS, macOS), RockChip MPP, OpenCL, OpenMAX, MMAL(Raspberry Pi), MediaCodec(안드로이드 OS), V4L2(리눅스). 환경에 따라 이러한 API는 특정 ASIC, GPGPU 루틴 또는 CPU의 SIMD 코드로 연결될 수 있다.

 지원 코덱 및 포맷 
 이미지 포맷 

FFmpeg은 많은 일반적인 이미지 포맷과 일부 특이한 이미지 포맷을 지원한다.

PGMYUV 이미지 포맷은 바이너리(P5) PGM Netpbm 포맷의 자체 변형이다. FFmpeg은 또한 PGM 및 PPM 포맷의 16비트 심도와, 알파 채널 유무에 따른 바이너리(P7) PAM 포맷(pix_fmts monob, gray, gray16be, rgb24, rgb48be, ya8, rgba, rgb64be에 대해 8비트 또는 16비트 심도)을 지원한다.

 지원 포맷 

FFmpeg 내에서 만들어지고 개발된 FFV1 및 Snow 포맷 외에도 이 프로젝트는 다음 포맷들을 지원한다:
 그룹  포맷 유형  포맷 이름 ISO/IEC/ITU-T 비디오  MPEG-1 파트 2, H.261 (Px64), H.262/MPEG-2 파트 2, H.263, MPEG-4 파트 2, H.264/MPEG-4 AVC, HEVC/H.265 (MPEG-H 파트 2), MPEG-4 VCB (일명 VP8), 모션 JPEG, IEC DV 비디오 및 CD+G 오디오  MP1, MP2, MP3, AAC, HE-AAC, MPEG-4 ALS, G.711 μ-law, G.711 A-law, G.721 (일명 G.726 32k), G.722, G.722.2 (일명 AMR-WB), G.723 (일명 G.726 24k 및 40k), G.723.1, G.726, G.729, G.729D, IEC DV 오디오 및 Direct Stream Transfer 자막  MPEG-4 Timed Text (일명 3GPP Timed Text) 이미지  JPEG, 무손실 JPEG, JPEG-LS, JPEG 2000, JPEG XL, PNG, CCITT G3 및 CCITT G4 Alliance for Open Media비디오AV1이미지AVIF EIA 자막  EIA-608 CEA 자막  CEA-708 SMPTE 비디오  SMPTE 314M (일명 DVCAM 및 DVCPRO), SMPTE 370M (일명 DVCPRO HD), VC-1 (일명 WMV3), VC-2 (일명 Dirac Pro), VC-3 (일명 아비드 DNxHD) 오디오  SMPTE 302M 이미지  DPX ATSC/ETSI/DVB 오디오 풀 레이트 (GSM 06.10), AC-3 (돌비 디지털), Enhanced AC-3 (돌비 디지털 플러스) 및 DTS Coherent Acoustics (일명 DTS 또는 DCA) 자막  DVB 자막 (ETSI 300 743) DVD 포럼/돌비 오디오  MLP / 돌비 트루HD 자막  DVD 비디오 자막 Xperi/DTS, Inc/QDesign 오디오  DTS Coherent Acoustics (일명 DTS 또는 DCA), DTS Extended Surround (일명 DTS-ES), DTS 96/24, DTS-HD High Resolution Audio, DTS Express (일명 DTS-HD LBR), DTS-HD 마스터 오디오, QDesign Music Codec 1 및 2 블루레이 협회 자막  PGS (Presentation Graphics Stream) 3GPP  오디오  AMR-NB, AMR-WB (일명 G.722.2) 3GPP2  오디오  QCELP-8 (일명 SmartRate 또는 IS-96C), QCELP-13 (일명 PureVoice 또는 IS-733) 및 Enhanced Variable Rate Codec (EVRC. 일명 IS-127) 월드 와이드 웹 컨소시엄 비디오  애니메이션 GIF 자막  WebVTT 이미지  GIF 및 SVG (Librsvg를 통해) IETF 비디오  FFV1 오디오  ILBC (libilbc를 통해), Opus 및 Comfort noise International Voice Association  오디오  DSS-SP SAC  비디오  AVS 비디오, AVS2 비디오 (libdavs2를 통해) 및 AVS3 비디오 (libuavs3d를 통해) 마이크로소프트 비디오  마이크로소프트 RLE, 마이크로소프트 비디오 1, 시네팩, 마이크로소프트 MPEG-4 v1, v2 및 v3, 윈도우 미디어 비디오 (WMV1, WMV2, WMV3/VC-1), WMV Screen 및 Mimic 코덱 오디오  윈도우 미디어 오디오 (WMA1, WMA2, WMA Pro 및 WMA Lossless), XMA (XMA1 및 XMA2),FFmpeg 3.0 Released, Supports VP9 VA-API Acceleration . Phoronix. February 15, 2016 MSN Siren, MS-GSM 및 MS-ADPCM 자막  SAMI 이미지  Windows Bitmap, WMV Image (WMV9 Image 및 WMV9 Image v2), 다이렉트드로 서피스, 및 MSPFFmpeg 4.4 Released With AV1 VA-API Decoder, SVT-AV1 Encoding . Phoronix. April 9, 2021 Interactive Multimedia Association  오디오  IMA ADPCM 인텔 / Digital Video Interactive 비디오  RTV 2.1 (Indeo 2), Indeo 3, 4 및 5, 및 인텔 H.263 오디오  DVI4 (일명 IMA DVI ADPCM), Intel Music Coder 및 Indeo Audio Coder 리얼네트웍스 비디오  리얼비디오 Fractal Codec (일명 Iterated Systems ClearVideo), 1, 2, 3 및 4 오디오  리얼오디오 v1 – v10 및 리얼오디오 비손실 자막  RealText 애플 / Spruce Technologies 비디오  시네팩 (Apple Compact Video), ProRes, Sorenson 3 Codec, QuickTime Animation (Apple Animation), QuickTime Graphics (Apple Graphics), Apple Video, Apple Intermediate Codec 및 Pixlet 오디오  ALAC 이미지  QuickDraw PICT 자막  Spruce 자막 (STL) 어도비 플래시 플레이어 (SWF) 비디오  Screen video, Screen video 2, Sorenson Spark 및 VP6 오디오  어도비 SWF ADPCM 및 Nellymoser Asao 어도비 / 알두스 이미지  TIFF, PSD,FFmpeg 3.3 Brings Native Opus Encoder, Support For Spherical Videos . Phoronix. April 17, 2017 및 DNG Xiph.Org 비디오  테오라 오디오  스픽스,FFmpeg 5.0 Released For This Popular, Open-Source Multimedia Library . Phoronix. January 14, 2022 Vorbis, Opus 및 FLAC 자막  Ogg Writ 소니 오디오  Adaptive Transform Acoustic Coding (ATRAC1, ATRAC3, ATRAC3Plus,FFmpeg 2.2 Release Adds The Libx265 Encoder . Phoronix. March 23, 2014 및 ATRAC9FFmpeg 4.1 Brings AV1 Parser & Support For AV1 In MP4 . Phoronix. November 6, 2018) 및 PSX ADPCM NTT  오디오  TwinVQ 구글 / On2 / GIPS  비디오  Duck TrueMotion 1, Duck TrueMotion 2, Duck TrueMotion 2.0 Real Time, VP3, VP4,FFmpeg 4.2 Released With AV1 Decoding Support, GIF Parser . Phoronix. August 6, 2019 VP5, VP6, VP7, VP8,FFmpeg 0.6 Released With H.264, VP8 Love . Phoronix. June 16, 2010 VP9 및 애니메이션 WebP 오디오  DK ADPCM Audio 3/4, On2 AVC 및 ILBC (libilbc를 통해) 이미지  WebP 에픽게임즈 / RAD Game Tools  비디오  스매커 비디오 및 Bink 비디오 오디오  Bink 오디오 CRI 미들웨어  오디오  ADX ADPCM, 및 HCA 닌텐도 / 닌텐도 유럽 연구개발  비디오  Mobiclip 비디오 오디오  GCADPCM (일명 ADPCM THP), FastAudio, 및 ADPCM IMA MOFLEX 시냅틱스 / DSP Group  오디오  Truespeech 일렉트로닉 아츠 / 크라이테리언 게임스 / Black Box Games / 웨스트우드 스튜디오  비디오  렌더웨어 TXD, Madcow, CMV, TGV, TGQ, TQI, Midivid VQ (MVDV), MidiVid 3.0 (MV30), Midivid Archival (MVHA), 및 Vector Quantized Animation (VQA) 오디오  Electronic Arts ADPCM 변형 Netpbm  이미지  PBM, PGM, PPM, PNM, PAM, PFM 및 PHM MIT/X Consortium/오픈 그룹  이미지  XBM,FFmpeg 0.11 Has Blu-Ray Protocol, New Encoders . Phoronix. May 26, 2012 XPM 및 xwd HPE / SGI / 실리콘 그래픽스  비디오  Silicon Graphics RLE 8-비트 비디오, Silicon Graphics MVC1/2 이미지  Silicon Graphics Image 오라클/썬 마이크로시스템즈  이미지  Sun Raster IBM  비디오  IBM UltiMotion 아비드 테크놀로지 / Truevision  비디오  Avid 1:1x, Avid Meridien, 아비드 DNxHD, Avid DNx444, 및 DNxHR 이미지  Targa 오토데스크 / Alias  비디오  Autodesk Animator Studio Codec 및 FLIC 이미지  Alias PIX 액티비전 블리자드 / 액티비전 / 인포컴  오디오  ADPCM 조크 코나미 / 허드슨 소프트  비디오  HVQM4 Video 오디오  Konami MTAF, 및 ADPCM IMA HVQM4 그래스밸리 / 캐노퍼스 코퍼레이션  비디오  HQ, HQA, HQX 및 비손실 Vizrt / 뉴텍  비디오  SpeedHQ 이미지  Vizrt Binary ImageFFmpeg 5.1 Released With Many Improvements To This Important Multimedia Project . Phoronix. July 22, 2022 Academy Software Foundation / ILM  이미지  OpenEXR 모질라 코퍼레이션  비디오  APNGFFmpeg 2.5 Brings Animated PNG, WebP Decoding Support . Phoronix. December 4, 2014 매트록스  비디오  Matrox Uncompressed SD (M101) / HD (M102) AMD/ATI  비디오  ATI VCR1/VCR2 에이수스  비디오  ASUS V1/V2 코덱 코모도어 인터내셔널  비디오  CDXL 코덱 코닥  이미지  포토 CD 블랙매직 디자인 / Cintel  이미지  Cintel RAW Houghton Mifflin Harcourt / 러닝 컴퍼니 / ZSoft Corporation  이미지  PCX 오스트레일리아 국립 대학교  이미지  X-FaceFFmpeg 1.1 Brings New Support, Encoders/Decoders . Phoronix. January 7, 2013 블루투스 스페셜 인터레스트 그룹  오디오  SBC, 및 mSBC 퀄컴 / CSR  오디오  QCELP, aptX, 및 aptX HD 오픈 모바일 연합 / WAP Forum  이미지  Wireless Bitmap

 뮤저 
FFmpeg에서 출력 포맷(컨테이너 포맷 및 출력 스트림을 만드는 기타 방법)은 "뮤저(muxers)"라고 불린다. FFmpeg은 다음과 같은 것들을 지원한다:

 AIFF
 ASF
 AVI 및 AviSynth로부터의 입력
 BFI
 CAF
 FLV
 GIF
 GXF, General eXchange Format, SMPTE 360M
 HLS, HTTP Live Streaming
 IFF
 ISO base media file format (QuickTime, 3GP 및 MP4 포함)
 Matroska (WebM 포함)
 Maxis XA
 MPEG-DASH
 MPEG 프로그램 스트림
 MPEG 트랜스포트 스트림 (AVCHD 포함)
 MXF, Material eXchange Format, SMPTE 377M
 MSN Webcam 스트림
 NUT
 Ogg
 OMA
 RL2
 세그먼트 (분할된 비디오 스트림 생성용)
 Smooth Streaming
 TXD
 WTV

 픽셀 포맷 

 유형 색상 패키드 플래너 팔레트 알파 제외  알파 포함  알파 제외  알파 포함  크로마 인터리브  알파 포함 단색 바이너리 이미지 (1비트 단색)             회색조             RGB RGB 1:2:1 (4비트 컬러)             RGB 3:3:2 (8비트 컬러)             RGB 5:5:5 (하이컬러)             RGB 5:6:5 (하이컬러)             RGB/BGR             GBRH.264와 같은 YUV 중심 코덱에서 사용됨             RGB 플로트 RGB             GBR             YUV YVU 4:1:0             YUV 4:1:0             YUV 4:1:1             YVU 4:2:0             YUV 4:2:0             YVU 4:2:2             YUV 4:2:2             YUV 4:4:0             YVU 4:4:4             YUV 4:4:4            XYZ XYZ 4:4:4JPEG2000에서 사용됨             Bayer BGGR/RGGB/GBRG/GRBG            

FFmpeg은 IMC1-IMC4, AI44, CYMK, RGBE, Log RGB 및 기타 포맷을 지원하지 않는다. 또한 ARGB 1:5:5:5, 2:10:10:10 또는 기타 일반적으로 사용되지 않는 BMP 비트필드 포맷도 아직 지원하지 않는다.

 지원 프로토콜 

 개방형 표준 

 IETF RFC:
 FTP
 Gopher
 HLS
 HTTP
 HTTPS
 RTP
 RTSP
 SCTP
 SDP
 SRTP
 TCP
 TLS
 UDP
 UDP-Lite
 IETF I-Ds:
 SFTP (libssh를 통해)
 마이크로소프트 OSP:
 CIFS/SMB (libsmbclient를 통해) 
 MMS over TCP (MS-MMSP) 
 MMS over HTTP (MS-WMSP)
 CENELEC
 SAT>IP
 OASIS 표준:
 AMQP 0-9-1 (librabbitmq를 통해)
 SRT Alliance 표준:
 SRT (libsrt를 통해)

 사실상 표준 

 RTSP over TLSReal Time Streaming Protocol 2.0 (RTSP)  P.231
 Icecast 프로토콜
 어도비 RTMP, RTMPT, RTMPE, RTMPTE 및 RTMPS
 RealMedia RTSP/RDT
 ZeroMQ (libzmq를 통해)
 RIST (librist)

 지원 필터 

FFmpeg은 다른 무엇보다 다음 필터들을 지원한다.

 오디오 

 리샘플링 (aresample)
 통과/저지 필터
 로우패스 필터 (lowpass)
 하이패스 필터 (highpass)
 전역 통과 필터 (allpass)
 버터워스 대역 필터 (bandpass)
 버터워스 대역 저지 필터 (bandreject)
 임의 유한 임펄스 응답 필터 (afir)
 임의 무한 임펄스 응답 필터 (aiir)
 이퀄라이저
 피크 이퀄라이저 (equalizer)
 버터워스/체비쇼프 유형 I/유형 II 멀티밴드 이퀄라이저 (anequalizer)
 로우 셀빙 필터 (bass)
 하이 셀빙 필터 (treble)
 Xbox 360 이퀄라이저
 FIR 이퀄라이저 (firequalizer)
 바이쿼드 필터 (biquad)
 DC 오프셋 제거/추가 (dcshift)
 표현식 평가
 시간 영역 표현식 평가 (aeval)
 주파수 영역 표현식 평가 (afftfilt)
 다이내믹스
 리미터 (alimiter)
 컴프레서 (acompressor)
 다이내믹 레인지 익스팬더 ()
 사이드 체인 컴프레서 (sidechaincompress)
 컴팬더 (compand)
 노이즈 게이트 (agate)
 사이드 체인 노이즈 게이트 (sidechaingate)
 왜곡
 비트크러셔 (acrusher)
 엠퍼시스 (aemphasis)
 증폭/노멀라이저
 볼륨 (volume)
 Dynamic Audio Normalizer (dynaudnorm)
 EBU R 128 음량 노멀라이저 (loudnorm)
 변조
 정현파 진폭 변조 (tremolo)
 정현파 위상 변조 (vibrato)
 페이저 (aphaser)
 코러스 (chorus)
 플랜저 (flanger)
 Pulsator (apulsator)
 에코/리버브
 에코 (aecho)
 라우팅/패닝
 스테레오 확장 (stereowiden)
 채널 차이 증가 (extrastereo)
 M/S를 L/R로 (stereotools)
 채널 매핑 (channelmap)
 채널 분리 (channelsplit)
 채널 패닝 (pan)
 채널 병합 (amerge)
 채널 결합 (join)
 헤드폰용
 스테레오를 바이노럴로 (earwax, SoX에서 이식됨)How it works earwax.ca
 Bauer 스테레오를 바이노럴로 (bs2b, libbs2b를 통해)
 크로스피드 (crossfeed)
 다채널을 바이노럴로 (sofalizer, libnetcdf 필요)
 지연
 지연 (adelay)
 거리에 따른 지연 (compensationdelay)
 페이드
 페이더 (afade)
 크로스페이더 (acrossfade)
 오디오 시간 늘리기 및 피치 스케일링
 시간 늘리기 (atempo)
 시간 늘리기 및 피치 시프팅 (rubberband, librubberband를 통해)
 편집
 트리밍 (atrim)
 묵음 패딩 (apad)
 묵음 제거 (silenceremove)
 프레임/채널 정보 표시
 프레임 정보 표시 (ashowinfo)
 채널 정보 표시 (astats)
 묵음 구간 표시 (silencedetect)
 오디오 볼륨 표시 (volumedetect)
 리플레이게인 스캐너 (replaygain)
 프레임/채널 정보 수정
 출력 포맷 설정 (aformat)
 샘플 수 설정 (asetnsamples)
 샘플링 레이트 설정 (asetrate)
 믹서 (amix)
 동기화 (asyncts)
 HDCD 데이터 디코더 (hdcd)
 플러그인
 LADSPA (ladspa)
 LV2 (lv2)
 아무것도 하지 않음 ()

 비디오 

 변환
 크로핑 (crop, cropdetect)
 디졸브 (fade)
 스케일링 (scale)
 패딩 (pad)
 회전 (rotate)
 전치 (transpose)
 기타:
 렌즈 보정 (lenscorrection)
 OpenCV 필터링 (ocv)
 원근 보정 (perspective)
 시간적 편집
 프레임 레이트 (fps, framerate)
 루핑 (loop)
 트리밍 (trim)
 디인터레이스 (bwdif, idet, kerndeint, nnedi, yadif, w3fdif)
 Inverse Telecine
 필터링
 블러링 (boxblur, gblur, avgblur, sab, smartblur)
 합성곱 필터
 합성곱 (convolution)
 윤곽선 검출 (edgedetect)
 소벨 필터 (sobel)
 Prewitt 필터 (prewitt)
 언샤프 마스킹 (unsharp)
 데노이징 (atadenoise, bitplanenoise, dctdnoiz, owdenoise, removegrain)
 로고 제거 (delogo, removelogo)
 자막 (ASS, subtitles)
 알파 채널 편집 (alphaextract, alphamerge)
 크로마키 (chromakey, colorkey, lumakey)
 프레임 검출
 블랙 프레임 검출 (blackdetect, blackframe)
 섬네일 선택 (thumbnail)
 프레임 혼합 (blend, tblend, overlay)
 비디오 안정화 (vidstabdetect, vidstabtransform)
 색상 및 레벨 조정
 밸런스 및 레벨 (colorbalance, colorlevels)
 채널 믹싱 (colorchannelmixer)
 색 공간 (colorspace)
 매개변수 조정 (curves, eq)
 히스토그램 및 시각화
 CIE Scope (ciescope)
 Vectorscope (vectorscope)
 Waveform monitor (waveform)
 색 히스토그램 (histogram)
 그리기
 OCR
 품질 측정
 SSIM (ssim)
 PSNR (psnr)
 룩업 테이블 (LUT)
 lut, lutrgb, lutyuv, lut2, lut3d, haldclut

 지원 테스트 패턴 
 SMPTE 컬러바 (smptebars 및 smptehdbars)
 EBU 컬러바 (pal75bars 및 pal100bars)

 지원 LUT 포맷 
 cineSpace LUT 포맷
 Iridas Cube
 어도비 애프터 이펙트 3dl
 다빈치 리졸브 dat
 Pandora m3d

 지원 미디어 및 인터페이스 
FFmpeg은 외부 라이브러리를 통해 다음 장치들을 지원한다.

 미디어 
 콤팩트 디스크 (libcdio를 통해; 입력 전용)

 물리적 인터페이스 
 IEEE 1394 (일명 파이어와이어; libdc1394 및 libraw1394를 통해; 입력 전용)
 IEC 61883 (libiec61883을 통해; 입력 전용)
 DeckLink
 Brooktree 비디오 캡처 칩 (bktr 드라이버를 통해; 입력 전용)

 오디오 입출력 
 고급 리눅스 사운드 아키텍처 (ALSA)
 오픈 사운드 시스템 (OSS)
 펄스오디오
 잭 오디오 커넥션 키트 (JACK; 입력 전용)
 OpenAL (입력 전용)
 sndio
 코어 오디오 (macOS용)
 AVFoundation (입력 전용)
 AudioToolbox (출력 전용)

 비디오 입출력 
 Video4Linux2
 비디오 포 윈도우 (입력 전용)
 윈도우 다이렉트쇼
 안드로이드 카메라 (입력 전용)

 화면 캡처 및 출력 
 심플 다이렉트미디어 레이어 2 (출력 전용)
 OpenGL (출력 전용)
 리눅스 프레임버퍼 (fbdev)
 그래픽 장치 인터페이스 (GDI; 입력 전용)
 X 윈도 시스템 (X11; XCB를 통해; 입력 전용)
 X video extension (XV; Xlib를 통해; 출력 전용)
 Kernel Mode Setting (libdrm을 통해; 입력 전용)

 기타 
 아스키 아트 (libcaca를 통해; 출력 전용)

 애플리케이션 

 법적 측면 
FFmpeg은 100개 이상의 코덱을 포함하고 있으며, 그 중 대부분은 이런저런 압축 기술을 사용한다. 이러한 많은 압축 기술은 소프트웨어 특허와 관련된 법적 청구의 대상이 될 수 있다. 이러한 청구는 소프트웨어 특허를 시행하는 미국과 같은 국가에서는 집행 가능할 수 있지만, 예를 들어 유럽 연합 회원국에서는 집행 불가능하거나 무효로 간주된다. AC3 및 모든 MPEG-1 및 MPEG-2 코덱을 포함한 많은 오래된 코덱의 특허는 만료되었다.

FFmpeg은 LGPL 라이선스에 따라 라이선스가 부여되지만, 특정 FFmpeg 빌드가 GPL 라이브러리(특히 X264)와 링크된 경우 전체 바이너리는 GPL에 따라 라이선스가 부여된다.

 FFmpeg을 사용하는 프로젝트 

FFmpeg은 Blender, Cinelerra-GG Infinity, HandBrake, Kodi, MPC-HC, Plex, Shotcut, VirtualDub2(VirtualDub 포크), VLC 미디어 플레이어, Xine 및 유튜브와 같은 소프트웨어에서 사용된다.. 또한 구글 크롬과 리눅스 버전의 파이어폭스에서 비디오 및 오디오 재생을 처리한다. Multimedia Xpert 및 XMedia Recode를 포함한 FFmpeg용 GUI 프런트엔드가 개발되었다.

FFmpeg은 Ffdshow, FFmpegInterop, GStreamer FFmpeg 플러그인, LAV Filters 및 OpenMAX IL에서 각각의 멀티미디어 플랫폼의 인코딩 및 디코딩 기능을 확장하는 데 사용된다.

NASA의 마스 2020 임무의 일환으로, FFmpeg은 화성의 퍼서비어런스 탐사차에서 영상이 지구로 전송되기 전 이미지 및 비디오 압축을 위해 사용된다.

 임베디드 애플리케이션 
FFmpeg은 또한 임베디드 애플리케이션에서도 사용되는데, 여기서 커스텀 하드웨어와 함께 사용하여 버전 및 종속성 관리를 단순화하고 여러 다른 OS 및 프로세서 제조업체에 걸쳐 운영체제 추상화를 제공할 수 있다.

 각주 

 외부 링크 



분류:자유 소프트웨어
분류:C 라이브러리
분류:오디오 라이브러리
분류:비디오 라이브러리
분류:멀티미디어
분류:C로 작성된 자유 소프트웨어
분류:크로스 플랫폼 자유 소프트웨어
분류:자유 라이브러리
분류:멀티미디어 프레임워크
분류:어셈블리어 소프트웨어
분류:명령줄 소프트웨어