Original author(s) | Fabrice Bellard |
---|---|
Developer(s) | FFmpeg team |
Initial release | December 20, 2000; 18 years ago[1] |
Stable release | 4.2 (August 5, 2019; 46 days ago[2])[±] |
Preview release | Git[±] |
Repository | git.ffmpeg.org/ffmpeg.git |
Written in | C and Assembly[3] |
Operating system | Windows, macOS, and Linux; may be compiled for other OSes.[4] |
Platform | x86, ARM, PowerPC, MIPS, DEC Alpha, Blackfin, AVR32, SH-4, and SPARC; may be compiled for other desktop computers |
Type | Multimedia framework |
License | LGPL 2.1+, GPL 2+ Unredistributable if compiled with NVIDIA Performance Primitives[5] |
Website | ffmpeg.org |
Firm | ASIC | purpose | supported by FFmpeg | Details |
---|---|---|---|---|
AMD | UVD | decoding | ✓ | via VDPAU API and VAAPI |
VCE | encoding | ✓ | via VAAPI, considered experimental[33] | |
Amlogic | Amlogic Video Engine | decoding | ? | |
BlackMagic | DeckLink | encoding/decoding | ✓ | real-time ingest and playout |
Broadcom | Crystal HD | decoding | ✓ | |
Intel | Intel Clear Video | decoding | ✓ | |
Intel Quick Sync Video | encoding/decoding | ✓ | ||
Nvidia | PureVideo / NVDEC | decoding | ✓ | via the VDPAU API as of FFmpeg v1.2 (deprecated) via CUVID API as of FFmpeg v3.1[34] |
NVENC | encoding | ✓ | as of FFmpeg v2.6 |
-hwaccel
option. It starts decoding normally, but if a decodable stream is detected in hardware, then the decoder designates all significant processing to that hardware, thus accelerating the decoding process. Whereas if no decodable streams are detected (as happens on an unsupported codec or profile), hardware acceleration will be skipped and it will still be decoded in software. -hwaccel_device
option is applied when the hardware requires a particular device to function especially there are several graphic cards are available.[citation needed]pix_fmts
monob, gray, gray16be, rgb24, rgb48be, ya8, rgba, rgb64be.Group | Format type | Format name |
---|---|---|
ISO/IEC/ITU-T | Video | MPEG-1 Part 2, H.261 (Px64),[35]H.262/MPEG-2 Part 2, H.263,[35]MPEG-4 Part 2, H.264/MPEG-4 AVC, HEVC/H.265[20] (MPEG-H Part 2), Motion JPEG, IEC DV video and CD+G |
Audio | MP1, MP2, MP3, AAC, HE-AAC, MPEG-4 ALS, G.711 µ-law, G.711 A-law, G.721 (a.k.a. G.726 32k), G.722, G.722.2 (a.k.a. AMR-WB), G.723 (a.k.a. G.726 24k and 40k), G.723.1, G.726, G.729, G.729D, IEC DV audio and Direct Stream Transfer | |
Subtitle | MPEG-4 Timed Text (a.k.a. 3GPP Timed Text) | |
Image | JPEG, Lossless JPEG, JPEG-LS, JPEG 2000, PNG, CCITT G3 and CCITT G4 | |
Alliance for Open Media | Video | AV1[36] |
EIA | Subtitle | EIA-608 |
CEA | Subtitle | CEA-708 |
SMPTE | Video | SMPTE 314M (a.k.a. DVCAM and DVCPRO), SMPTE 370M (a.k.a. DVCPRO HD), VC-1 (a.k.a. WMV3), VC-2 (a.k.a. Dirac Pro), VC-3 (a.k.a. AVID DNxHD) |
Audio | SMPTE 302M | |
Image | DPX | |
ATSC/ETSI/DVB | Audio | Full Rate (GSM 06.10), AC-3 (Dolby Digital), Enhanced AC-3 (Dolby Digital Plus) and DTS Coherent Acoustics (a.k.a. DTS or DCA) |
Subtitle | DVB Subtitling (ETSI 300 743) | |
DVD Forum/Dolby | Audio | MLP / Dolby TrueHD |
Subtitle | DVD-Video subtitles | |
DTS, Inc/QDesign | Audio | DTS Coherent Acoustics (a.k.a. DTS or DCA), DTS Extended Surround (a.k.a. DTS-ES), DTS 96/24, DTS-HD High Resolution Audio, DTS Express (a.k.a. DTS-HD LBR), DTS-HD Master Audio, QDesign Music Codec 1 and 2 |
Blu-ray Disc Association | Subtitle | PGS (Presentation Graphics Stream) |
3GPP | Audio | AMR-NB, AMR-WB (a.k.a. G.722.2) |
3GPP2 | Audio | QCELP-8 (a.k.a. SmartRate or IS-96C), QCELP-13 (a.k.a. PureVoice or IS-733) and Enhanced Variable Rate Codec (EVRC. a.k.a. IS-127) |
World Wide Web Consortium | Video | Animated GIF |
Subtitle | WebVTT | |
Image | GIF | |
IETF | Audio | iLBC (via libilbc), Opus and Comfort noise |
International Voice Association | Audio | DSS-SP |
SAC | Video | AVS video |
Microsoft | Video | Microsoft RLE, Microsoft Video 1, Cinepak, Indeo (v2, v3 and v5),[35] Microsoft MPEG-4 v1, v2 and v3, Windows Media Video (WMV1, WMV2, WMV3/VC-1), WMV Screen and Mimic codec |
Audio | Windows Media Audio (WMA1, WMA2, WMA Pro and WMA Lossless), XMA (XMA1 and XMA2), MS-GSM and MS-ADPCM | |
Subtitle | SAMI | |
Image | Windows Bitmap, WMV Image (WMV9 Image and WMV9 Image v2) and DirectDraw Surface | |
Interactive Multimedia Association | Audio | IMA ADPCM |
Digital Video Interactive | Video | RTV 2.1 (Intel Indeo 2) |
Audio | DVI4 audio codec | |
RealNetworks | Video | RealVideo Fractal Codec (a.k.a. Iterated Systems ClearVideo), 1, 2, 3 and 4 |
Audio | RealAudio v1 – v10 | |
Subtitle | RealText | |
Apple | Video | Cinepak (Apple Compact Video), ProRes, Sorenson 3 Codec, QuickTime Animation (Apple Animation), QuickTime Graphics (Apple Graphics), Apple Video, Apple Intermediate Codec and Pixlet |
Audio | ALAC | |
Adobe Flash Player (SWF) | Video | Screen video, Screen video 2, Sorenson Spark and VP6 |
Audio | Adobe SWF ADPCM and Nellymoser Asao | |
Aldus / Adobe | Image | TIFF and PSD |
Xiph.Org | Video | Theora |
Audio | Speex (via libspeex), Vorbis, Opus and FLAC | |
Subtitle | Ogg Writ | |
Sony | Audio | Adaptive Transform Acoustic Coding (ATRAC1, ATRAC3, ATRAC3Plus and ATRAC9)[35][37] and PSX ADPCM |
NTT | Audio | TwinVQ |
On2 / GIPS / Google | Video | Duck TrueMotion 1, Duck TrueMotion 2, Duck TrueMotion 2.0 Real Time, VP3, VP4, VP5,[35]VP6,[35]VP7, VP8, VP9[19] and animated WebP |
Audio | DK ADPCM Audio 3/4, On2 AVC and iLBC (via libilbc) | |
Image | WebP | |
RAD Game Tools | Video | Smacker video and Bink video |
DSP Group | Audio | Truespeech |
RenderWare | Video | TXD[38] |
Netpbm | Image | PBM, PGM, PPM, PNM and PAM |
MIT/X Consortium/The Open Group | Image | XBM, XPM and xwd |
Silicon Graphics | Video | Silicon Graphics RLE 8-bit video, Silicon Graphics MVC1/2 |
Image | Silicon Graphics Image | |
Oracle/Sun Microsystems | Image | Sun Raster |
IBM | Video | IBM UltiMotion |
Avid Technology / Truevision | Video | Avid 1:1x, Avid Meridien, Avid DNxHD and DNxHR |
Image | Targa | |
Autodesk / Alias | Video | Autodesk Animator Studio Codec and FLIC |
Image | Alias PIX | |
Grass Valley / Canopus | Video | HQ, HQA, HQX and Lossless |
NewTek | Video | SpeedHQ |
Industrial Light & Magic / Lucasfilm | Image | OpenEXR |
Mozilla Corporation | Video | APNG |
Matrox | Video | Matrox Uncompressed SD (M101) / HD (M102) |
AMD/ATI | Video | ATI VCR1/VCR2 |
Asus | Video | ASUS V1/V2 codec |
Spruce Technologies | Subtitle | Spruce subtitle (STL) |
ffmpeg -pix_fmts
provides a list of supported pixel formats.Type | Color | Packed | Planar | Palette | |||
---|---|---|---|---|---|---|---|
Without alpha | With alpha | Without alpha | With alpha | Chroma-interleaved | With alpha | ||
Monochrome | Binary (1-bit monochrome) | monoblack, monowhite | - | - | - | - | - |
Grayscale | 8 / 9 / 10 / 12 / 14 / 16bpp | - | - | 16 / 32bpp | - | - | |
RGB | RGB 1:2:1 (4-bit color) | 4bpp | - | - | - | - | - |
RGB 3:3:2 (8-bit color) | 8bpp | - | - | - | - | - | |
RGB 5:5:5 (High color) | 16bpp | - | - | - | - | - | |
RGB 5:6:5 (High color) | 16bpp | - | - | - | - | - | |
RGB/BGR | 24 / 48bpp | 32[p 1] / 64bpp | - | - | - | 8bit->32bpp | |
GBR[p 2] | - | - | 8 / 9 / 10 / 12 / 14 / 16bpc | 8 / 10 / 12 / 16bpc | - | - | |
RGB Float | GBR | - | - | 32bpc | 32bpc | - | - |
YUV | YVU 4:1:0 | - | - | (9bpp (YVU9))[p 3] | - | - | - |
YUV 4:1:0 | - | - | 9bpp | - | - | - | |
YUV 4:1:1 | 8bpc (UYYVYY) | - | 8bpc | - | (8bpc (NV11)) | - | |
YVU 4:2:0 | - | - | (8bpc (YV12))[p 3] | - | 8 (NV21) | - | |
YUV 4:2:0 | - | - | 8[p 4] / 9 / 10 / 12 / 14 / 16bpc | 8 / 9 / 10 / 16bpc | 8 (NV12) / 10 (P010) / 16bpc (P016) | - | |
YVU 4:2:2 | - | - | (8bpc (YV16))[p 3] | - | (8bpc (NV61)) | - | |
YUV 4:2:2 | 8bpc (YUYV[p 5] and UYVY)[p 6] | - | 8[p 7] / 9 / 10 / 12 / 14 / 16bpc | 8 / 9 / 10 / 12 / 16bpc | 8 (NV16) / 10bpc (NV20 a.k.a. P210)[p 8] | - | |
YUV 4:4:0 | - | - | 8 / 10 / 12bpc | - | - | - | |
YVU 4:4:4 | - | - | (8bpc (YV24))[p 3] | - | 8bpc (NV42) | - | |
YUV 4:4:4 | (10 (Y410) and 16bpc (Y416)) | 16bpc[p 9] | 8[p 10] / 9 / 10 / 12 / 14 / 16bpc | 8 / 9 / 10 / 12 / 16bpc | 8bpc (NV24) | - | |
XYZ | XYZ 4:4:4[p 11] | 12bpc | - | - | - | - | - |
Bayer | BGGR/RGGB/GBRG/GRBG | 8 / 16bpp | - | - | - | - | - |
Zig-Zag Scan
..with VLC, Boxee, MythTV, Handbrake and MPlayer being some of the more popular projects utilizing FFmpeg..