最近我发了很多关于如何使用 ffmpeg 的问题。我很清楚自己缺少一些视频编码方面的背景知识,想知道我的超级用户朋友是否有任何好的资源来学习视频编码。在有效使用 ffmpeg 之前,我需要了解什么?
答案1
视频格式和一般准则
首先,您需要了解存在哪些不同的编解码器和格式,以及它们通常用于什么:
什么是编解码器(例如 DivX?),它与文件格式(例如 MPG)有何不同?
您还应该更普遍地研究构成视频质量的因素,例如比特率、帧速率或图片大小如何影响质量?
下载视频时数字 240 和 360 代表什么?如何判断哪个视频压缩程度更高?
让我们使用 FFmpeg……
您应该知道如何安装最新版本的 FFmpeg。最新版本始终包含最新的错误修复和新功能。人们经常会犯这样的错误:使用发行版中捆绑的旧版本或某些服务器上的旧版本——这些版本通常不起作用。
- Linux:有静态构建来自 布雷克和从轻松。下载、解压、使用。您也可以从 Git 源安装 FFmpeg。有大量教程Ubuntu和CentOS可用的。
- 视窗有静态构建在线的。
- OS X 提供Homebrew 的配方
brew install ffmpeg
安装后安装自制本身。
阅读FFmpeg 文档,至少是常规选项,并学习基本的命令行开关。
另请查看我们的超级用户博客文章:FFmpeg:终极视频和音频处理工具了解有关使用 FFmpeg 进行转码的最新指南以及一些示例以及最后的大量链接集合。
使用 x264 编码
目前最好的免费视频编码器是x264,并使用libx264
,FFmpeg 也可以使用它。您应该安装 x264 并阅读 的帮助x264 --fullhelp
。x264 有很多选项,包括映射到 FFmpeg。
对于编码,您将能够使用 x264 提供的预设。它们也可以通过 FFmpeg 选项访问。有一些主要选项很有用。阅读x264 编码指南在 FFmpeg wiki 上。简而言之,您可以使用以下内容:
-profile:v
指定H.264 配置文件例如high
,可用于各种视频播放软件,或baseline
限制视频只能使用在手机或 iPod 上运行的功能。-preset
指定速度的编码预设。fast
例如,会提供更快的结果,但压缩效果较差。范围从veryslow
到ultrafast
。默认值为medium
。-tune
提供根据输入文件调整输出的选项,例如带有的动画电影animation
或带有的普通电影film
。-crf
设置恒定速率因子,这是尝试调整结果质量时使用的#1 方法。阅读它这里。使用 18 到 27 之间的值,值越低表示质量越好。默认值为 23。
您可以安装如下视频编码器手刹并查看它使用了哪些选项。边做边学,并尝试了解所有参数的作用。