最近在Mac os下处理视频,网上下载了一些mkv的视频,Final Cut Pro不能识别,无法处理,在网上找了一圈视频格式转换的软件,找了半天花费了许多精力,结果都不理想,要不是无法安装,要不就是软件不兼容,最后本着自力更生的思想,找到
FFmpeg
,于是本文简单介绍它在Mac os下安装、配置、使用,更深入的开发和其他的操作系统,详见FFmpeg
的官方文档。
FFmpeg介绍
FFmpeg
是最为广泛使用的工具,理论上FFmpeg
支持各个平台,包括 Windows、macOS、iOS 以及 Android 等,这里只介绍在 macOS 下的使用。而使用FFmpeg
作为内核视频播放器:Mplayer,ffplay,射手播放器,暴风影音,KMPlayer,QQ影音,使用FFmpeg
作为内核的Directshow Filter:ffdshow,lav filters...使用FFMPEG作为内核的转码工具:ffmpeg,格式工厂...可见FFmpeg
的影响力,基本上与视频打交道的处理都离不开FFmpeg
。
FFmpeg官网:https://ffmpeg.org
Github地址:https://github.com/FFmpeg/FFmpeg
FFmpeg安装
FFmpeg
在Mac下安装简单的方法是通过Homebrew
安装。
什么是Homebrew?用官方的说法是:macOS 缺失的软件包管理器,使用 Homebrew 安装 Apple 没有预装但 你需要的东西
- 安装
Homebrew
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
- 安装
FFmpeg
brew install ffmpeg
如果安装比较慢或安装失败,建议使用VPN速度比较快。
- 查看
FFmpeg
安装信息
brew info ffmpeg
上面有好多库,有红叉的代表没有这个库,有绿色的对勾表示此库已经安装上了。
接下来进行视频转换,在转换之前,先介绍一下常见的视频格式。
视频格式介绍
平时我们看到的一条视频里通常包含的内容有视频流、音频流和字幕等内容。
- 常见的视频流:H264(或称AVC1)、XVID、DIVX、RV40、RV50、RV60、RM8、RM9、RM10,现在视频流格式, H.264/x264 逐渐开始向新一代的 HEVC/x265(High Efficiency Video Coding 高效视频编码)过渡。
- 常见的音频流:mp3、aac、ogg、flac、AC3、DTS
生活中见到的流行的视频格式有rmvb、mp4(苹果称m4v)、mkv、avi、mov等等,这些都是一些视频等封装格式,纯粹的包装,简单理解就是将视频和音频打包放在一起,方便传播。在包装里有视频、音频和字幕轨道(有些封装格式不支持字幕轨道)。
做一个比喻,封装格式就如快餐盒,快餐盒里有饭(视频流),有菜(音频流),可能有汤(字幕)。
- 常见封装格式可行的组合:
mp4:H264+mp3/aac/ogg/alac;XVID+mp3/aac/ogg/alac
mov:H264+mp4;H264+aac
avi: H264+mp3; XVID+mp3; DIVX+mp3
rmvb:RV40RV60+aac/mp3;RM8RM10+aac/mp3
mkv: 万能封装,任意组合
苹果等QuickTime & Final Cut Pro X原生支持的常见组合:H264+mp3/aac/alac的mov或mp4封装。
视频格式转换
- 打开终端
- 进入到视频的文件夹
- 使用命令转换视频格式,本文例子将1.mkv转换成
ffmpeg -i 1.mkv 1.mp4
更多的使用方法,后续逐渐补充,也可以参见官网文档。