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.
Hendrik Leppkes ea1000b9fe Merge commit 'd5f5c90be9ec120f1320dcdd808b7bd917dee47c' 10 years ago
compat os2threads: Add pthread_once() 10 years ago
doc Merge commit 'e02de9df4b218bd6e1e927b67fd4075741545688' 10 years ago
libavcodec Merge commit 'e02de9df4b218bd6e1e927b67fd4075741545688' 10 years ago
libavdevice avdevice/dshow_enummediatypes: check return of av_malloc 10 years ago
libavfilter avfilter/af_sofalizer: use SIMD in compensate_volume() 10 years ago
libavformat Merge commit 'b8b21dee0f0b4bcc1888067c497d6e838859d2cd' 10 years ago
libavresample Merge commit 'e2854e731f843906d9a9a5b882bed872341999fd' 10 years ago
libavutil lavu/eval: remove pow and exp2 for postfixes 10 years ago
libpostproc Merge commit 'e88103a7f92cf27a2868b50acc8a9912f6088249' 10 years ago
libswresample swresample: use AV_OPT_TYPE_BOOL for linear_interp and cheby options 10 years ago
libswscale swscale/x86/rgb2rgb_template: Fallback to mmx in interleaveBytes() if the alignment is insufficient for SSE* 10 years ago
presets presets: remove moldering iPod presets 11 years ago
tests fate: increase FUZZ by 1 for aac-tns-encode 10 years ago
tools patcheck: Fix false detection of 'mergeable calls' when line is removed 10 years ago
.gitattributes Treat all '*.pnm' files as non-text file 11 years ago
.gitignore gitignore: ignore object file temporaries 10 years ago
.travis.yml Merge commit 'eda183287489b2c705843aa373a19c4e46fb2fec' 10 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. 14 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 13 years ago
Changelog movenc: support cenc (common encryption) 10 years ago
INSTALL.md INSTALL: add markdown syntax 11 years ago
LICENSE.md avfilter: add rubberband wrapper 10 years ago
MAINTAINERS lavfi: remove astreamsync. 10 years ago
Makefile mips: rename mipsdspr1 to mipsdsp 10 years ago
README.md README: replace http with https 10 years ago
RELEASE RELEASE: update to 2.8.git 10 years ago
arch.mak mips: rename mipsdspr1 to mipsdsp 10 years ago
cmdutils.c cosmetics: Fix weird indentations 10 years ago
cmdutils.h cmdutils: remove sws_opts usage, simplify code 10 years ago
cmdutils_common_opts.h opts: add list device sources/sinks options 11 years ago
cmdutils_opencl.c all: use FFDIFFSIGN to resolve possible undefined behavior in comparators 10 years ago
common.mak Merge commit '9f57f134c19773d54269b6cb9ee455ff87c2e9e1' 10 years ago
configure Merge commit 'e02de9df4b218bd6e1e927b67fd4075741545688' 10 years ago
ffmpeg.c Merge commit 'e63e3797a1ed9346f529848e6ba3d27fd2d2cc8d' 10 years ago
ffmpeg.h ffmpeg: Add basic support to mux multiple programs 10 years ago
ffmpeg_dxva2.c ffmpeg_dxva2: support vp9 hwaccel 10 years ago
ffmpeg_filter.c ffmpeg_filter: remove redundant null ptr check 10 years ago
ffmpeg_opt.c ffmpeg: Allow specifying the program number for created programs 10 years ago
ffmpeg_qsv.c Merge commit 'fb472e1a11a4e0caed2c3c91da01ea8e35d9e3f8' 10 years ago
ffmpeg_vdpau.c ffmpeg_vdpau: Ignore decoder's max supported level 10 years ago
ffmpeg_videotoolbox.c ffmpeg/videotoolbox: protect UTGetOSTypeFromString on both VDA and VT 10 years ago
ffplay.c ffplay: use hypot() 10 years ago
ffprobe.c ffprobe: use print_val to print the frame pkt_size value 10 years ago
ffserver.c ffserver: explicitly use time_t for uptime calc 10 years ago
ffserver_config.c ffserver_config: check for INT_MIN before doing FFABS 10 years ago
ffserver_config.h ffserver: Use singlejpeg muxer for jpeg 10 years ago
library.mak build: add LDLIBFLAGS 10 years ago
version.sh version.sh: add note that ffversion.h is auto-generated 10 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.