No description
Find a file
Mika Raento f685f7d7a8 hlsenc: single_file, support HLS ver 4 byteranges
This adds a new option -hls_flags single_file that creates one .ts file
for HLS and adds byteranges to the .m3u8 file, instead of creating one
.ts file for each segment.

This is helpful at least for storing large number of videos, as the
number of files per video is drastically reduced and copying and storing
those files takes less requests and inodes.

This is based on work by Nicolas Martyanoff, discussed on ffmpeg-devel
in July 2014. That patch seems abandoned by the author, and contained
unrelated changes. This patch tries to add the minimum amount of code to
support the byterange playlists.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-15 22:16:44 +02:00
compat Merge commit 'f929ab0569ff31ed5a59b0b0adb7ce09df3fca39' 2014-08-15 21:00:50 +02:00
doc hlsenc: single_file, support HLS ver 4 byteranges 2014-09-15 22:16:44 +02:00
libavcodec avcodec: remove obsolete FF_API_DSPUTIL cruft 2014-09-14 22:13:05 -03:00
libavdevice avdevice/lavfi: dont assign variables to themselfs 2014-09-13 22:32:21 +02:00
libavfilter avfilter: remove obsolete FF_API_BUFFERSRC_BUFFER cruft 2014-09-15 15:54:06 -03:00
libavformat hlsenc: single_file, support HLS ver 4 byteranges 2014-09-15 22:16:44 +02:00
libavresample Add missing "const" all over the place. 2014-08-29 18:57:25 +02:00
libavutil avutil: remove obsolete FF_API_OLD_OPENCL cruft 2014-09-15 15:50:17 -03:00
libpostproc postproc: use FFMIN/FFMAX where appropriate 2014-09-04 03:50:46 +02:00
libswresample libswresample: move condition to start of loop. 2014-09-07 11:31:34 +02:00
libswscale lsws: duplicate ff_log2_tab 2014-08-12 20:52:21 +02:00
presets presets: remove moldering iPod presets 2014-06-17 16:15:04 -08:00
tests avformat/img2dec: Fail probing when no data is yet available and the filename contains no number/glob patterns either. 2014-09-12 19:01:44 +02:00
tools Merge commit 'fcf597625c7a991ca389f3a9b8ff4f5e383301c0' 2014-09-08 00:45:33 +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 '8675bcb0addb1c7fb0b04682d1f3f95d5b8dae14' 2014-04-07 02:15:18 +02:00
Changelog Changelog: add 2.4 2014-09-14 16:47:26 +02:00
cmdutils.c cmdutils: Add some whitespace when printing layouts 2014-09-02 18:44:07 +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 'afe176265480880e1f702c96a8ba434b0d88728b' 2014-05-20 03:33:30 +02:00
configure configure: Fix miscompilation for i586 2014-09-12 22:57:31 +02:00
COPYING.GPLv2
COPYING.GPLv3
COPYING.LGPLv2.1
COPYING.LGPLv3
CREDITS CREDITS: redirect to Git log, remove current outdated content 2013-01-31 18:02:52 +01:00
ffmpeg.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.h ffmpeg: Enable compute_edt only when the subtitles are used for a output stream instead of a filter 2014-09-01 19:51:58 +02:00
ffmpeg_dxva2.c Merge commit 'a7c5fddac8137654cb503295c4dfb6492df43643' 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: reduce diff to libav in opt_target() by 16 lines 2014-08-27 14:27:30 +02:00
ffmpeg_vda.c Merge commit '1839fafa951308237c4672ffd9a94f927b26eac7' 2014-05-12 02:44:28 +02:00
ffmpeg_vdpau.c Merge commit '7671dd7cd7d51bbd637cc46d8f104a141bc355ea' 2013-11-23 14:46:48 +01:00
ffplay.c Revert the default for ffplay to -noautoexit. 2014-09-08 17:51:12 +02:00
ffprobe.c Print bits_per_raw_sample for ffprobe -show_streams. 2014-09-08 17:49:20 +02:00
ffserver.c ffserver: drop custom skip_spaces() impl 2014-09-13 21:01:01 -03:00
INSTALL.md INSTALL: add markdown syntax 2014-05-28 22:38:38 +02:00
library.mak Merge commit 'bb0babd7054bed7edfd9f4d6b20cdba864de1830' 2014-07-22 02:45:45 +02:00
LICENSE.md Merge commit '9e8bbe7d4d1dcd5fec491dbfbb98ed2038a7bed5' 2014-08-29 01:08:57 +02:00
MAINTAINERS MAINTAINERS: Add 2.4 to maintained releases, drop 2.3 2014-09-14 16:00:00 +02:00
Makefile Merge commit 'd45ebd4876ab8fc07736a644de07e1b1d11a8e5d' 2014-07-22 03:06:43 +02:00
README.md Merge commit '96ce6d6f119a16e489941c629a2805204322b717' 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.