diff options
Diffstat (limited to 'doc/note/ffmpeg')
-rw-r--r-- | doc/note/ffmpeg/ffmpeg.txt | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/doc/note/ffmpeg/ffmpeg.txt b/doc/note/ffmpeg/ffmpeg.txt index c992537..7cfc868 100644 --- a/doc/note/ffmpeg/ffmpeg.txt +++ b/doc/note/ffmpeg/ffmpeg.txt @@ -79,10 +79,10 @@ HINT: Use same filter for palette as for conversion. INPUTV=input.mp4 Create custom palette: - ffmpeg -ss 4 -t 33 -i "$INPUTV" -vf "$FILTERV,palettegen=stats_mode=diff" palette.png + -i "${INPUTV:?}" -vf "${FILTERV:?},palettegen=stats_mode=diff" palette.png Use this palette: - ffmpeg -ss 4 -t 33 -i "$INPUTV" -i palette.png -filter_complex "[0:v]$FILTERV[vid];[vid][1:v]paletteuse=dither=bayer:bayer_scale=5:diff_mode=rectangle" output.gif + -i "$INPUTV" -i palette.png -filter_complex "[0:v]${FILTERV:?}[vid];[vid][1:v]paletteuse=dither=bayer:bayer_scale=5:diff_mode=rectangle" dst.gif Working example from web (but not optimized): ffmpeg -ss 0 -t 2.5 -i INPUT.mp4 -filter_complex "[0:v] fps=12,scale=-1:600,split [a][b];[a] palettegen=stats_mode=diff [p];[b][p] paletteuse=new=1" OUTPUT.gif @@ -94,3 +94,16 @@ Working example from web (but not optimized): -vf "scale=4096:-1,crop=4096:2160:0:0" \ out.mkv + +## Create GIF by image series + + && TMPVID="tmp.mkv" \ + && PALETTE_PNG="palette.png" \ + && FPS="5" \ + && FILTERV="fps=${FPS:?}" \ + && ffmpeg -start_number 0 -framerate "${FPS:?}" -i "src%d.png" "${TMPVID:?}" \ + && ffmpeg -i "${TMPVID:?}" -vf "${FILTERV:?},palettegen=stats_mode=diff" "${PALETTE_PNG:?}" \ + && ffmpeg -i "${TMPVID:?}" -i "${PALETTE_PNG:?}" -filter_complex "[0:v]${FILTERV:?}[vid];[vid][1:v]paletteuse=dither=bayer:bayer_scale=5:diff_mode=rectangle" dst.gif \ + && rm "${TMPVID:?}" "${PALETTE_PNG:?}" \ + + |