ffmpeg

视频反转 `ffmpeg -i input.mp4 -vf reverse output.mp4`

视频速度翻倍 `ffmpeg -i 2.mp4 -vf "setpts=0.5*PTS" 2.2.mp4`

视频区域选择 `ffmpeg -i input.mp4 -vf "crop=720:720:280:0" -map 0:0 -ss 427 -to 432 output.mp4`

视频去除logo `ffmpeg -i 5.mp4 -vf "delogo=x=660:y=30:w=180:h=60" -map 0:0 5.2.mp4`

视频加黑边 ffmpeg -i 5.2.mp4 -vf "pad=852:852:0:186:black" 5.3.mp4

多个视频合并. 可以使用 这个脚本. 最好确保几个视频尺寸相同.

截取视频的第一帧 ffmpeg -i input.mp4 -vframes 1 output.png

抽取独立帧 ffmpeg -i $1 -vf "select=eq(pict_type\,I)" -vsync vfr -qscale:v 2 thumbnails-%02d.jpg

抽取thumnail ffmpeg -i ed437d48b88f1def8b58e7e97c.mp4 -vf "thumbnail" -frames:v 1 -y thumb.png # 这个效果可能会比抽取第一帧的效果好.


视频转gif

普通质量 `ffmpeg -i output.mp4 -map 0:0 -vf reverse,fps=6 -s 300*300 output.gif`

高质量. 体积大 `ffmpeg -i output.mp4 -map 0:0 -vf reverse -r 5 -s 400*400 -f image2pipe -vcodec ppm - | convert -delay 16 -loop 1 - gif:- | convert - output.gif`

较高质量,体积较大

#!/bin/sh

palette="/tmp/palette.png"

filters="fps=4,scale=flags=lanczos"

ffmpeg -v warning -i $1 -vf "$filters,palettegen" -y $palette
ffmpeg -v warning -i $1 -i $palette -filter_complex "$filters [x]; [x][1:v] paletteuse" -y $2

gifsicle可以用来继续优化gif文件,然后 gifsicle-lossy 还可以继续压缩gif文件 `gifsicle-lossy -O3 –lossy=80 input.gif -o output.gif`

comments powered by Disqus