Verbose flag for animations
This commit is contained in:
parent
a1116f8e3b
commit
5da33d7de8
@ -71,6 +71,7 @@ function buildanimation(anim::Animation, fn::AbstractString,
|
|||||||
is_animated_gif::Bool=true;
|
is_animated_gif::Bool=true;
|
||||||
fps::Real = 20, loop::Integer = 0,
|
fps::Real = 20, loop::Integer = 0,
|
||||||
variable_palette::Bool=false,
|
variable_palette::Bool=false,
|
||||||
|
verbose=false,
|
||||||
show_msg::Bool=true)
|
show_msg::Bool=true)
|
||||||
if length(anim.frames) == 0
|
if length(anim.frames) == 0
|
||||||
throw(ArgumentError("Cannot build empty animations"))
|
throw(ArgumentError("Cannot build empty animations"))
|
||||||
@ -79,20 +80,23 @@ function buildanimation(anim::Animation, fn::AbstractString,
|
|||||||
fn = abspath(expanduser(fn))
|
fn = abspath(expanduser(fn))
|
||||||
animdir = anim.dir
|
animdir = anim.dir
|
||||||
framerate = ffmpeg_framerate(fps)
|
framerate = ffmpeg_framerate(fps)
|
||||||
|
verbose_level = (verbose isa Int ? verbose :
|
||||||
|
verbose ? 32 # "info"
|
||||||
|
: 16) # "error"
|
||||||
|
|
||||||
if is_animated_gif
|
if is_animated_gif
|
||||||
if variable_palette
|
if variable_palette
|
||||||
# generate a colorpalette for each frame for highest quality, but larger filesize
|
# generate a colorpalette for each frame for highest quality, but larger filesize
|
||||||
palette="palettegen=stats_mode=single[pal],[0:v][pal]paletteuse=new=1"
|
palette="palettegen=stats_mode=single[pal],[0:v][pal]paletteuse=new=1"
|
||||||
ffmpeg_exe(`-v 0 -framerate $framerate -loop $loop -i $(animdir)/%06d.png -lavfi "$palette" -y $fn`)
|
ffmpeg_exe(`-v $verbose_level -framerate $framerate -loop $loop -i $(animdir)/%06d.png -lavfi "$palette" -y $fn`)
|
||||||
else
|
else
|
||||||
# generate a colorpalette first so ffmpeg does not have to guess it
|
# generate a colorpalette first so ffmpeg does not have to guess it
|
||||||
ffmpeg_exe(`-v 0 -i $(animdir)/%06d.png -vf "palettegen=stats_mode=diff" -y "$(animdir)/palette.bmp"`)
|
ffmpeg_exe(`-v $verbose_level -i $(animdir)/%06d.png -vf "palettegen=stats_mode=diff" -y "$(animdir)/palette.bmp"`)
|
||||||
# then apply the palette to get better results
|
# then apply the palette to get better results
|
||||||
ffmpeg_exe(` -v 0 -framerate $framerate -loop $loop -i $(animdir)/%06d.png -i "$(animdir)/palette.bmp" -lavfi "paletteuse=dither=sierra2_4a" -y $fn`)
|
ffmpeg_exe(`-v $verbose_level -framerate $framerate -loop $loop -i $(animdir)/%06d.png -i "$(animdir)/palette.bmp" -lavfi "paletteuse=dither=sierra2_4a" -y $fn`)
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
ffmpeg_exe(`-v 0 -framerate $framerate -loop $loop -i $(animdir)/%06d.png -pix_fmt yuv420p -y $fn`)
|
ffmpeg_exe(`-v $verbose_level -framerate $framerate -loop $loop -i $(animdir)/%06d.png -pix_fmt yuv420p -y $fn`)
|
||||||
end
|
end
|
||||||
|
|
||||||
show_msg && @info("Saved animation to ", fn)
|
show_msg && @info("Saved animation to ", fn)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user