最近在MAC上使用QuickTime Player录了几个苹果手机应用的运行视频,苹果官方的解决方案算是最轻量级也最容易使用的了。到这里都还算靠谱,但接下来就有点麻烦了,录制下来的视频是MOV格式,这玩意儿实在是大的可怕,即便是自己存起来看也实在是太占空间了,更不用说上传视频网站了。于是就有了视频文件转码的需求,这里就想起了FFMPEG这个软件,众所周知的视频处理第一。撰此文仅用来记录一些经验。
这部分实在是有太多的经验文章,我这里主要参考了:
MAC下安装:
brew install ffmpeg —with-faac —with-fdk-aac —with-ffplay —with-fontconfig —with-freetype —with-libass —with-libbluray —with-libcaca —with-libsoxr —with-libquvi —with-frei0r —with-libvidstab —with-libvorbis —with-libvpx —with-opencore-amr —with-openjpeg —with-openssl —with-opus —with-rtmpdump —with-schroedinger —with-speex —with-theroa —with-tools —with-x265
只提几个最关键的,更详细的可以看上面的文章。
一个命令简单使用:
ffmpeg -i $1 -vcodec libx264 -b:v 5000k -minrate 5000k -maxrate 5000k -bufsize 4200k -preset fast -crf 20 -y -vf “scale=-1:720” -acodec libmp3lame -ab 128k ~/Downloads/a1.mp4
简单解释下:
质量/体积
的核心指标,一般质量不符合预期就调高,文件过大就调低。e.g 5000k-b:v
一致就好了-b:v
一致就好了scale=-1:720
,意思就是把原视频的纵向限死到720P,然后横向自适应基本上上面的命令就够用了,我自己选的码率是5000k,视频文件体积是有点大,但质量还是上乘的,自己收藏用算是可以了。
一些简单的历史数据:
6分钟左右的视频quicktime从ios录屏下来是1.3g
720p视频5000k码率压缩是240m
60fps和30fps体积没差别
2400k码率体积是90m,质量比较差
2900k码率基本能看
3300k码率可以蒙混一下了
视频的合并使用以下方法:
创建一个文本文件,内容如下:
# this is a comment
file ‘/path/to/file1’
file ‘/path/to/file2’
file ‘/path/to/file3’
然后使用命令进行合并:
ffmpeg -f concat -i ~/Downloads/mylist.txt -c copy ~/Downloads/noname.mov
或者更简单的一个命令搞定:
ffmpeg -i “concat:noname1.mov|noname2.mov” -c copy noname.mov
EOF