You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
James Almer 70d685a77f x86: use the new helper macros where useful 9 years ago
compat compat/os2threads: split long lines 9 years ago
doc Changelog/APIChanges Put 3.0 release marker 9 years ago
libavcodec x86: use the new helper macros where useful 9 years ago
libavdevice libavdevice/dshow.c: Correct CoGetMalloc check 9 years ago
libavfilter vf_blend: Move C dsp function mapping to separate function 9 years ago
libavformat avformat/img2enc: remove unused variable 9 years ago
libavresample Merge commit 'cc4c24208159200b7aff5b5c313903c7f23fa345' 9 years ago
libavutil x86: use the new helper macros where useful 9 years ago
libpostproc all: Make header guard names consistent 9 years ago
libswresample x86: use the new helper macros where useful 9 years ago
libswscale sws/output: fix ordered dither threshold for mono output 9 years ago
presets presets: remove moldering iPod presets 11 years ago
tests avutil/parseutils: remove 2112 date from fate test 9 years ago
tools avcodec: Remove libstagefright 9 years ago
.gitattributes Treat all '*.pnm' files as non-text file 10 years ago
.gitignore build: use a link instead of changing current directory when compiling 9 years ago
.travis.yml Merge commit 'eda183287489b2c705843aa373a19c4e46fb2fec' 9 years ago
COPYING.GPLv2 Rename COPYING.GPL --> COPYING.GPLv2 and COPYING.LGPL --> COPYING.LGPLv2.1. 16 years ago
COPYING.GPLv3 Add configure option to upgrade (L)GPL to version 3. 16 years ago
COPYING.LGPLv2.1 cosmetics: Delete empty lines at end of file. 13 years ago
COPYING.LGPLv3 Add configure option to upgrade (L)GPL to version 3. 16 years ago
CREDITS CREDITS: redirect to Git log, remove current outdated content 12 years ago
Changelog Changelog: add entries for the SMPTE VC-2 decoder and encoder 9 years ago
INSTALL.md INSTALL: add markdown syntax 11 years ago
LICENSE.md avcodec: Remove libaacplus 9 years ago
MAINTAINERS MAINTAINERS: Add myself as libutvideo maintainer. 9 years ago
Makefile build: use intermediate lcov coverage file 9 years ago
README.md README: replace http with https 9 years ago
RELEASE RELEASE: update to 2.8.git 9 years ago
arch.mak mips: rename mipsdspr1 to mipsdsp 9 years ago
cmdutils.c cmdutils: realign for some additional filters with very long name 9 years ago
cmdutils.h fate/source: Do not use GNU extensions in sed 9 years ago
cmdutils_common_opts.h opts: add list device sources/sinks options 10 years ago
cmdutils_opencl.c all: use FFDIFFSIGN to resolve possible undefined behavior in comparators 9 years ago
common.mak build: use a link instead of changing current directory when compiling 9 years ago
configure configure: Enable GCC vectorization on ≥4.9 on x86 9 years ago
ffmpeg.c ffmpeg: replace "flush Media" with "flush_media" in benchmark_all output 9 years ago
ffmpeg.h ffmpeg: use lavf API for applying bitstream filters 9 years ago
ffmpeg_dxva2.c ffmpeg_dxva2: support vp9 hwaccel 9 years ago
ffmpeg_filter.c ffmpeg_filter: Factor get_compliance_unofficial_pix_fmts() out 9 years ago
ffmpeg_opt.c ffmpeg_opt: Fix memleaks in "manually set programs" loop 9 years ago
ffmpeg_qsv.c Merge commit 'fb472e1a11a4e0caed2c3c91da01ea8e35d9e3f8' 9 years ago
ffmpeg_vdpau.c ffmpeg_vdpau: Ignore decoder's max supported level 9 years ago
ffmpeg_videotoolbox.c ffmpeg/videotoolbox: protect UTGetOSTypeFromString on both VDA and VT 9 years ago
ffplay.c ffplay: update docs after previous changes in ffplay mouse behaviour 9 years ago
ffprobe.c ffprobe: Deprecate stream timecode field and add frame side data timecode field 9 years ago
ffserver.c ffserver: Cast time_t value when using it in a format string. 9 years ago
ffserver_config.c ffserver_config: check for INT_MIN before doing FFABS 9 years ago
ffserver_config.h ffserver: Use singlejpeg muxer for jpeg 10 years ago
library.mak build: use a link instead of changing current directory when compiling 9 years ago
version.sh version.sh: add note that ffversion.h is auto-generated 9 years ago

README.md

FFmpeg README

FFmpeg is a collection of libraries and tools to process multimedia content such as audio, video, subtitles and related metadata.

Libraries

  • libavcodec provides implementation of a wider range of codecs.
  • libavformat implements streaming protocols, container formats and basic I/O access.
  • libavutil includes hashers, decompressors and miscellaneous utility functions.
  • libavfilter provides a mean to alter decoded Audio and Video through chain of filters.
  • libavdevice provides an abstraction to access capture and playback devices.
  • libswresample implements audio mixing and resampling routines.
  • libswscale implements color conversion and scaling routines.

Tools

  • ffmpeg is a command line toolbox to manipulate, convert and stream multimedia content.
  • ffplay is a minimalistic multimedia player.
  • ffprobe is a simple analysis tool to inspect multimedia content.
  • ffserver is a multimedia streaming server for live broadcasts.
  • Additional small tools such as aviocat, ismindex and qt-faststart.

Documentation

The offline documentation is available in the doc/ directory.

The online documentation is available in the main website and in the wiki.

Examples

Coding examples are available in the doc/examples directory.

License

FFmpeg codebase is mainly LGPL-licensed with optional components licensed under GPL. Please refer to the LICENSE file for detailed information.

Contributing

Patches should be submitted to the ffmpeg-devel mailing list using git format-patch or git send-email. Github pull requests should be avoided because they are not part of our review process. Few developers follow pull requests so they will likely be ignored.