1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-11-21 10:55:51 +02:00
Go to file
Anton Khirnov 78f46065d8 fftools/ffmpeg: add special syntax for loading filter options from files
Many filters accept user-provided data that is cumbersome to provide as
text strings - e.g. binary files or very long text. For that reason such
filters typically provide a option whose value is the path from which
the filter loads the actual data.

However, filters doing their own IO internally is a layering violation
that the callers may not expect, and is thus best avoided. With the
recently introduced graph segment parsing API, loading option values
from files can now be handled by the caller.

This commit makes use of the new API in ffmpeg CLI. Any option name in
the filtergraph syntax can now be prefixed with a slash '/'. This will
cause ffmpeg to interpret the value as the path to load the actual value
from.
2023-02-12 10:34:45 +01:00
compat compat/cuda: switch from powf to __powf intrinsic 2022-09-03 20:27:34 +02:00
doc fftools/ffmpeg: add special syntax for loading filter options from files 2023-02-12 10:34:45 +01:00
ffbuild configure: probe RISC-V Vector extension 2022-09-27 13:19:52 +02:00
fftools fftools/ffmpeg: add special syntax for loading filter options from files 2023-02-12 10:34:45 +01:00
libavcodec avcodec/roqaudioenc: unbreak mono encoding 2023-02-11 22:59:57 +01:00
libavdevice Bump major versions of all libraries 2023-02-09 15:35:14 +01:00
libavfilter lavfi/graphparser: reimplement avfilter_graph_parse* using new API 2023-02-12 10:33:52 +01:00
libavformat avformat: add RKA demuxer 2023-02-11 21:29:35 +01:00
libavutil Bump major versions of all libraries 2023-02-09 15:35:14 +01:00
libpostproc Bump major versions of all libraries 2023-02-09 15:35:14 +01:00
libswresample x86: replace explicit REP_RETs with RETs 2023-02-01 04:23:55 +01:00
libswscale Bump major versions of all libraries 2023-02-09 15:35:14 +01:00
presets
tests ffprobe: report the corrupt flag on packets 2023-02-09 12:45:53 +01:00
tools tools: add general_assembly.pl 2023-02-12 10:14:22 +01:00
.gitattributes
.gitignore gitignore: add config_components.h 2022-03-17 18:35:41 -03:00
.mailmap mailmap: stop git lying about who I commit things as 2022-11-04 19:37:46 +01:00
.travis.yml
Changelog fftools/ffmpeg: add special syntax for loading filter options from files 2023-02-12 10:34:45 +01:00
configure examples: rename transcoding to transcode 2023-02-11 17:49:01 +01:00
CONTRIBUTING.md
COPYING.GPLv2
COPYING.GPLv3
COPYING.LGPLv2.1
COPYING.LGPLv3
CREDITS
INSTALL.md
LICENSE.md avfilter/vf_geq: Relicense to LGPL 2019-12-28 11:20:48 +01:00
MAINTAINERS lavc: deprecate CrystalHD decoders 2023-02-04 13:12:28 +01:00
Makefile configure: probe RISC-V Vector extension 2022-09-27 13:19:52 +02:00
README.md README: fix typo and description of libavfilter 2021-10-08 09:44:34 +05:30
RELEASE RELEASE: update after 5.1 branch 2022-07-13 00:31:42 +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 means to alter decoded audio and video through a directed graph of connected 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.
  • 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 and will be ignored.