No description
Find a file
Mika Raento a59808dd57 mov.c: allow reading fragment start dts/pts from fragmented mp4
This introduces a new option to the mov demuxer: -use_mfra_for
(pts|dts). When it's given and moofs and a MFRA are present, the MFRA's
TFRAs are read for fragment start times.

Unfortunately some programs that produce fragmented mp4s use the TFRA
time field for dts and some for pts. There is no realistic way to detect
which is the case, hence the responsibility is punted onto the user.
This also means that no behavioural change is enabled by default - you
must pass either dts or pts for anything to happen.

Without this change, timestamps for some discontinuous fragmented mp4 are
wrong, and cause audio/video desync and are not usable for generating
HLS.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-13 12:20:55 +02:00
compat w32pthreads: use the condition variable API directly when targeting newer versions of Windows 2014-10-10 11:27:30 +03:00
doc Merge commit '5a419b2dd1' 2014-10-08 22:53:48 +02:00
libavcodec avcodec/eatgv: use av_freep(), do not leave stale pointers in memory 2014-10-12 12:22:28 +02:00
libavdevice Merge commit '2a5ac99e6e' 2014-10-05 03:42:55 +02:00
libavfilter avfilter/vf_pp: support AV_PIX_FMT_GRAY8 2014-10-13 01:56:14 +02:00
libavformat mov.c: allow reading fragment start dts/pts from fragmented mp4 2014-10-13 12:20:55 +02:00
libavresample Add missing "const" all over the place. 2014-08-29 18:57:25 +02:00
libavutil avutil/lzo: fix resource leak 2014-10-11 12:15:26 +02:00
libpostproc libpostproc: support grayscale 2014-10-13 01:55:36 +02:00
libswresample swresample/audioconvert: Fix undefined behavior (left shift of negative value) 2014-10-08 05:35:06 +02:00
libswscale swscale: support internal scaler cascades 2014-10-11 05:05:17 +02:00
presets presets: remove moldering iPod presets 2014-06-17 16:15:04 -08:00
tests fate: add test for vp90-2-trac3849.webm 2014-10-12 19:45:25 -03:00
tools Merge commit '2bc220958c' 2014-10-09 12:25:52 +02:00
.gitignore avcodec: export motion vectors in frame side data on demand 2014-08-18 14:13:57 +02:00
arch.mak Merge commit '8675bcb0ad' 2014-04-07 02:15:18 +02:00
Changelog Changelog: add "ffprobe -show_pixel_formats option" 2014-10-08 16:58:14 +02:00
cmdutils.c Merge commit '2dd09ebf55' 2014-09-17 19:59:10 +02:00
cmdutils.h ffmpeg: add -devices param 2014-05-28 03:52:50 +02:00
cmdutils_common_opts.h ffmpeg: add -devices param 2014-05-28 03:52:50 +02:00
cmdutils_opencl.c cmdutils_opencl: Use av_malloc_array() 2014-07-01 03:49:36 +02:00
common.mak Merge commit 'afe1762654' 2014-05-20 03:33:30 +02:00
configure w32pthreads: use the CONDITION_VARIABLE typedef if available 2014-10-10 11:27:26 +03:00
COPYING.GPLv2
COPYING.GPLv3
COPYING.LGPLv2.1 cosmetics: Delete empty lines at end of file. 2012-02-09 12:26:45 +01:00
COPYING.LGPLv3
CREDITS CREDITS: redirect to Git log, remove current outdated content 2013-01-31 18:02:52 +01:00
ffmpeg.c Merge commit '6cfbe1de5a' 2014-09-27 02:06:39 +02:00
ffmpeg.h ffmpeg: add vdpau_old to allow continued testing of the older (but not oldest) API 2014-10-06 16:09:02 +02:00
ffmpeg_dxva2.c Merge commit 'a7c5fddac8' 2014-04-30 00:46:38 +02:00
ffmpeg_filter.c ffmpeg: Do av_buffersink_set_frame_size() when reconfiguring the filtergraph not just when changing audio resample parameters 2014-09-11 04:55:58 +02:00
ffmpeg_opt.c ffmpeg_opt: abort if -to <= -ss 2014-10-11 22:20:39 +02:00
ffmpeg_vda.c Merge commit '1839fafa95' 2014-05-12 02:44:28 +02:00
ffmpeg_vdpau.c Merge commit '8de1d67967' 2014-10-06 16:31:51 +02:00
ffplay.c ffplay: dont leave swresampler in half initialized state 2014-10-09 23:18:37 +02:00
ffprobe.c ffprobe: Simplify by using av_color_range_name() 2014-10-10 04:24:55 +02:00
ffserver.c ffserver: use av_freep(), do not leave stale pointers in memory 2014-10-08 15:22:24 +02:00
INSTALL.md INSTALL: add markdown syntax 2014-05-28 22:38:38 +02:00
library.mak Merge commit 'bb0babd705' 2014-07-22 02:45:45 +02:00
LICENSE.md Merge commit '9e8bbe7d4d' 2014-08-29 01:08:57 +02:00
MAINTAINERS Add missing entry for maintainer of rtpenc_hevc.* 2014-09-22 15:01:04 +02:00
Makefile Merge commit 'd45ebd4876' 2014-07-22 03:06:43 +02:00
README.md Merge commit '96ce6d6f11' 2014-08-17 21:41:55 +02:00
RELEASE RELEASE: update to 2.4.git 2014-09-15 13:11:10 -03:00
RELEASE_NOTES Changelog/RELEASE_NOTES: prepare for 2.4 2014-09-14 13:41:49 +02:00
version.sh version.sh: Print versions based on the last git tag for release branches 2014-07-28 15:44:59 +02:00

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 analisys tool to inspect multimedia content.
  • 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

Conding examples are available in the doc/example directory.

License

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