原文链接: http://www.codedata.cn/hackne...
如今较为常见的视频封装格式有 mp4 和 mkv 等, 内部的视频编码格式从前几年盛行的 H.264/x264
逐渐开始向新一代的 HEVC/x265
(High Efficiency Video Coding 高效视频编码)过渡,而常见的音频编码格式无非 AC3、DTS 或者 AAC 等。无论是借助带有 GUI 的编码软件,还是使用命令行,FFmpeg 是最为广泛使用的工具,理论上 FFmpeg 支持各个平台,包括 Windows、macOS、iOS 以及 Android 等,这里只介绍在 macOS 下的使用。通过简单的命令,你可以大致了解 FFmpeg 在视频转换上的强大之处,视频编码部分也集中在 x264、x265,以及如何压制 macOS High Sierra 和 iOS 11 可以正确识别并生成缩略图的 HEVC 10bit 视频。文章最后,也会用一个较为复杂的例子,应用 -filter_complex
进行视频帧率的插值运算、嵌入 pgs 图形字幕,以及最后输出 HEVC 编码进行说明。
-
- *
安装
如果有看过我以前文章的朋友,可能会注意到使用 Homebrew 编译 mpv 的一个重要依赖就是 FFmpeg。不过,如果将其用作视频转码,默认编译的 FFmpeg 会缺少一部分组件,因此这里可能需要重新安装 FFmpeg。以我个人编译版本为例,使用 --HEAD
来配合最新的 mpv,在 Terminal 中输入如下命令:
brew install ffmpeg --HEAD --with-fdk-aac --with-sdl2 --with-freetype --with-libass --with-libbluray --with-libvorbis --with-libvpx --with-opus --with-webp --with-x265
等待安装结束即可。
基础篇
压制 x264 编码视频文件
ffmpeg -i input.mp4 -c:a libfdk_aac -c:v libx264 -crf 20 -preset slow output.mp4
使用 FFmpeg 编码的基本规则, -i
之后的文件为输入的视频文