视频是我们平时在网络上接触最多的内容了。本期猫咪教程将会讲述各种视频格式以及如何用ffmpeg软件进行编码和转码,并且修改编码的参数来控制编码结果。
看完了这期猫咪教程,你将会学到:
- 什么是视频编码,数字视频有哪些格式,分别有哪些特点
- 下载安装FFMpeg
- 使用ffmpeg进行视频格式转换
- 使用Aegisub制作外挂字幕,和配合ffmpeg制作硬字幕
教程系列第一课将会讲述如何安装ffmpeg软件。这是我们之后要学习,并且一直要用到的软件,它是一个强大的视频/音频转码编码工具,可能你有听说过格式工厂,它比格式工厂小,并且比格式工厂更强大。ffmpeg是一个命令行工具,但是千万不要被命令行吓到了,其实转换视频只要一行命令:
1 | ffmpeg -i input.avi output.mp4 |
我相信每个人都能学会这样的命令吧。然而通过修改各种参数,你又可以非常精确地控制视频的输出,包括图像质量,分辨率,甚至还可以把外挂字幕嵌入视频变成硬字幕。那么,最简单的一步,我们来下载安装ffmpeg软件。
命令行工具ffmpeg又一个替代品,叫做HandBrake。这里并不推荐使用Handbrake是因为使用图形化的工具你会失去很多控制,但是作为日常压缩、转码视频,如果你不愿意使用命令行工具,Handbrake是一个不错的选择。本教程不会介绍Handbrake的使用,请自行查阅相关文档。但是Handbrake可以做的事情,ffmpeg都可以做,而且ffmpeg程序比较小。
本教程也不会涉及到自己编译ffmpeg源码,如果需要自己编译,请自行查阅官方文档。
1.1 Windows
在Microsoft Windows下安装ffmpeg最好的办法就是下载静态编译好的ffmpeg.exe可执行文件(就像你下载其他所有程序一样,下载来以后就可以打开使用了)。
打开链接,根据Windows版本选择32位或者64位(见下图,目前的最新版本是2016-09-24)。我们要下载的版本是Static版,下载其他版本可能会出现无法运行的问题。整个程序大约是30M左右。
下载完成后是一个zip压缩文件,可以解压到任何位置。
打开ffmpeg-20160924-267da70-win64-static(文件名可能因时间原因会有所不同),可以看到有一些文件。
双击打开ff-prompt.bat
,假如黑底白字的命令行窗口打开了,就说明程序可以运行了。以后我们都会在这个窗口上进行操作,输入命令。可以先尝试执行ffmpeg主程序,在命令行窗口上输入ffmpeg
然后按回车。回车代表输入完毕,执行该命令。
如果屏幕上有响应,ffmpeg会输出一些版本信息,说明运行成功了。
安装好了ffmpeg之后(请至少成功运行一次,并且记住如何才能运行ffmpeg程序),我们就可以进入下一个教程了,视频编码、命令行和ffmpeg基础。
1.2 Macintosh
Mac下安装ffmpeg主要有两种方法,一种是使用Homebrew包管理器(推荐),另一种是下载静态编译的可执行文件。如果平时不需要使用命令行,可以选择第二种方式安装。
打开Mac命令行模式的方法:在Launchpad里搜索“终端”,单击打开。
1.2.1 使用Homebrew包管理器安装
Homebrew是Mac下出色的软件包管理器,可以用brew
命令来安装大部分Linux下开源的命令行工具,当然也能安装ffmpeg。
如果你没有安装过Homebrew,则先要从App Store里下载Xcode。Xcode非常大(大约4.43GB),建议在网络较好的环境下载。
安装完Xcode只有需要打开运行,它会提示是否安装命令行工具。点击确定并等待工具安装完成。
打开Homebrew官网,复制这一条命令到命令行窗口,按回车,根据其提示进行安装,并等待安装完成。
安装完成以后,在命令行窗口输入以下命令并按回车:
1 | brew install ffmpeg --with-fdk-aac --with-libass |
等待其下载安装(可能下载速度会有些慢,不用在意我这里图中的输出,你这里的可能会有很大区别)
安装完成后在命令行窗口输入ffmpeg
并且按回车,如果看到ffmpeg输出的一些版本信息,就说明安装成功了。以后所有的命令都会通过命令行窗口输入。
1.2.2 下载静态可执行文件
下载静态编译好的可执行文件,就像下载其他程序一样,下载完就可以用了。
打开网站,左边是最新的开发版本,右边是最新的稳定版本。这里建议下载稳定版本。程序大约9.1M,非常小,但是可能下载速度会很慢。
下载的是一个7z压缩文件,打开解压。如果你不能打开压缩文件,推荐安装免费的 The Unarchiver。
解压后得到的是单个文件ffmpeg,如图。请不要双击打开这个文件,我们需要从命令行窗口来打开它。
在命令行窗口中输入以下命令:
1 | cd [ffmpeg文件所在的目录] |
其中[ffmpeg文件所在的目录]应替换成实际的路径(关于文件路径具体请看第2课)
新手最容易犯的错误就是把命令复制粘贴,发现不能用。因为每个人的电脑都有些不同,不是所有的命令都可以复制粘贴的。[]括号包裹的地方都需要自己思考并且替换成正确的内容,命令才可以执行。我把ffmpeg文件放在“下载”目录,对应的路径就是~/Downloads
,如图
如果看到ffmpeg输出的一些版本信息,就说明安装成功了。以后所有的命令都会通过命令行窗口输入,并且记得工作目录(见第二课)必需切到可执行文件所在的目录下,且必须输入./ffmpeg
(注意开头的./
)
安装好了ffmpeg之后(请至少成功运行一次,并且记住如何才能运行ffmpeg程序),我们就可以进入下一个教程了,视频编码、命令行和ffmpeg基础。