Mac 上面录屏发现总是保存为 mov 或者 mp4。怎么办?脚本。
这里可以借助 ffmpeg
做好各式转换。(如果直接借助录屏工具产出的大概是我们自己指定的 gif 大小的 25 倍size)
安装ffmpeg
1 | brew install ffmpeg |
上面的命令会自动分析依赖包并安装,当然也可以完整的指定:
1 | brew install ffmpeg --with-fdk-aac --with-ffplay --with-freetype --with-libass --with-libquvi --with-libvorbis --with-libvpx --with-opus --with-x265 |
以后更新的话:
1 | brew update && brew upgrade ffmpeg |
主要使用方式:
usage: ffmpeg [options] [[infile options] -i infile]… {[outfile options] outfile}…
转换脚本
将 mp4 或者 mov 格式的视频转换为 gif
ffmpeg -i xxx.mp4 xxx.gif
上面设置的导出属性都是默认的(中等质量),一般也能自己指定:
1 | # 修改比特率转成高质量 |
如何查看帧率?
当然也可以直接设置一下别名 alias
1 | ## gif alias |
进阶技巧
下面属于有特殊需求的
缩放视频尺寸:
1 | ffmpeg -i big.mov -vf scale=宽度:-1 xxx.mov |
- 注意 sacle 值必须是偶数,这里的 -1 表示保持长宽比,根据宽度值自适应高度
- 如果要求压缩出来的视频尺寸长宽都保持为偶数,可以使用 -2
快速播放: (指定 PTS 即为速率,所以前面写小于1的数字)
1 | ffmpeg -i input.mov -filter:v "setpts=0.5*PTS" output.mov |
指定帧率 16fps:
1 | ffmpeg -i input.mov -r 16 -filter:v "setpts=0.125*PTS" -an output.mov |
慢速播放:
1 | ffmpeg -i input.mov -filter:v "setpts=2.0*PTS" output.mov |
移除音频:
1 | ffmpeg -i input.mov -an mute-output.mov |
_获取gif第一帧:
直接用”预览”打开图片, 然后保存第一幅图像即可。
Merlin
2018.2