View Source Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.11.0 (2024-06-30)
- Added
pattern_type
option. SeeFFmpex.Options.Formats.Image2
module. (#37) - Added Muxers/HLS options. See
FFmpex.Options.Muxers
module. (#43) - Requires Elixir 1.12.
0.10.0 (2022-01-14)
- Allow FFprobe on remote URLs, instead of treating URLs as nonexistent files.
0.9.0 (2021-11-16)
- Run commands with Rambo instead of erlexec, to address issues running in Docker.
- Requires Elixir 1.9.
0.8.2 (2021-11-15)
- Fixed starting erlexec when running as root.
0.8.1 (2021-11-11)
- Fixed
SHELL
environment variable check for erlexec.
0.8.0 (2021-11-10)
- Breaking change:
execute/1
returns{:ok, output}
instead of:ok
. - Added
to_stdout/1
to direct ffmpeg output to a buffer instead of a file. Retrieve buffer in{:ok, output}
result ofexecute/1
. (#31)
0.7.3 (2020-07-09)
- Relaxed Jason dependency so it can get all 1.x versions without mix.exs update.
0.7.2 (2020-07-09)
- Bumped Jason dependency to 1.2.
0.7.1 (2019-11-26)
- Changed to
-loop
instead of deprecated-loop_input
and-loop_output
options inFFmpex.Options.Advanced
.
0.7.0 (2019-09-05)
- Breaking change: FFprobe API changes to return
{:ok, term}
or{:error, atom}
fromformat_names/1
,format/1
,streams/1
. - Changed
FFprobe.duration/1
to return{:error, :no_such_file}
for nonexistent file, instead of raising MatchError. - Fixed FFprobe module to raise a clearer error message when FFmpeg not installed in system path.
0.6.0 (2019-07-16)
- Changed to Jason instead of Poison for JSON operations.
0.5.2 (2018-04-10)
- Added options
video_size
,framerate
,draw_mouse
inFFmpex.Options.Devices.Libavdevice
.
0.5.1 (2018-04-02)
- Added
FFmpex.prepare/1
to retrieve arguments list, useful for inspection or passing toPort.open/2
.
0.5.0 (2018-03-26)
- Breaking change: Changed output format of
FFprobe.format/1
to be cleaner, based on ffmpeg JSON output. Specifically:"nb_programs"
,"nb_streams"
, and"probe_score"
now contain integers instead of binaries; and tags are stored in a"tags"
sub-map instead of being individual entries prefixed with "TAG:". - Added
FFprobe.streams/1
to get a list of streams. - Depends on Poison 3.1.
- Requires Elixir 1.4.
0.4.1 (2017-03-22)
- Fixed
FFprobe.format/1
for paths with spaces.
0.4.0 (2016-12-03)
- Added
FFmpex.Options.Video.Libavformat
. - Validate options context (input, output, global) as specified in FFmpeg docs.
0.3.0 (2016-09-10)
- Breaking change:
add_stream_specifier/2
takes a keyword list instead of%StreamSpecifier{}
. - Breaking change:
execute/1
returns:ok
or{:error, {output, status}}
, instead of{output, status}
. - Added
use FFmpex.Options
to conveniently import all options.
0.2.1 (2016-08-17)
- Added
FFprobe.format/1
andFFprobe.format_names/1
.
0.2.0 (2016-08-15)
- Added
FFprobe
module.FFprobe.duration/1
to get video duration.
0.1.1 (2016-07-30)
- Lower Elixir requirement to 1.0 (was 1.3).
0.1.0 (2016-07-27)
- First FFmpex release.
- Specify per-file and per-stream options, and execute.
- Non-exhaustive catalog of known options.