使用ffmpeg来将mp4视频转换成gif格式图片

Ubuntu 16.04下使用

$ sudo apt-get install ffmpeg

安装ffmpeg工具。

$ ffmpeg -i S70131-15433307.mp4 -s 272x480 -b:v 200k output1.mp4

-s用于设定分辨率,-b:v设定视频比特率来压缩大小

$ ffmpeg -ss 2 -t 5 -i output1.mp4 -s 272x480 -r 15 output1.gif

-ss 2 -t 5,从第2秒的地方开始,往后截取5秒钟, -r用于设定帧数. 通常Gif15帧左右就比较流畅了

$ convert output1.gif -fuzz 20% -layers Optimize output2.gif

设置fuzz因子可以将相近的颜色视为相同的颜色,这样就可以抵消抖动和色彩压缩的影响。
-fuzz选择多少能取得最大的压缩效果,同时对画质的影响可以接受,则需要耐心地尝试。

参考链接


使用ffmpeg来将mp4视频转换成gif格式图片

ubuntu 16.04 LTS编译最新的FFMPEG 3.3

ubuntu 16.04 LTS编译最新的FFMPEG 3.3的时候被Gitautocrlf折磨了好几天才搞定,在这里记录一下:

$ sudo apt-get install git
#关键操作,否在检出的代码无法正常编译
$ git config --global core.autocrlf false
$ git clone https://git.ffmpeg.org/ffmpeg.git
$ cd ffmpeg
#不要安装nasm否在编译不通过,应当使用yasm
$ sudo apt-get remove nasm
$ sudo apt-get install yasm
$ git fetch
$ git branch -a
$ git checkout -t remotes/origin/release/3.3
$ sudo apt-get update
$ sudo apt-get -y install autoconf automake build-essential libass-dev libfreetype6-dev \
  libsdl1.2-dev libtheora-dev libtool libva-dev libvdpau-dev libvorbis-dev libxcb1-dev libxcb-shm0-dev \
  libxcb-xfixes0-dev pkg-config texinfo zlib1g-dev
$ ./configure
$ make

注意,如果检出的代码在执行./configure的时候报告错误:

bash: ./configure: /bin/sh^M: 解释器错误: 没有那个文件或目录

则目前看到原因是Gitautocrlf导致的。

其余的参考 https://trac.ffmpeg.org/wiki/CompilationGuide即可。