在 Mac 上处理多媒体的一些准备

在设计工作中,我们经常要面对处理图片、音视频等工作,本文是介绍如何在 Mac 下做好一些基础软件的预装。

安装 homebrew 和 ffmpeg

Homebrew 是macOS 和Linux 上非常流行的开源包管理器,可以理解为一个命令行版本的应用商店。如果有用过 Linux 的朋友,就能深刻理解了。

而FFmpeg一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。但我们实际上将它安装在 Mac 上,是可以让 Mac 在命令行或自动化处理视频文件。

你可以通过 Homebrew 在 Mac 终端安装 FFmpeg。以下是安装步骤:

  • 打开终端应用程序。
  • 输入以下命令安装 Homebrew(如果尚未安装):
shell/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  • 安装 FFmpeg:
shellbrew install ffmpeg

这样就可以通过 Homebrew 在 Mac 上安装 FFmpeg 了。

添加自动操作服务,使用 ffmpeg 转换视频为 webp 格式

将这段代码添加到自动操作中:

for f in "$@";
do
    /opt/homebrew/bin/ffmpeg -i "$f"  -vcodec libwebp -vf scale=-1:720,fps=15 -loop 0 -q:v 50 "${f%.*}h720.webp";
afplay /System/Library/Sounds/Submarine.aiff
done

其中 scale 参数是长宽比,-1:720 意思是720 像素高,宽度等比缩放;

fps 参数是帧率,即一秒播放多少帧;

-q:v 是转换质量,最小为 0 ,最大为 100.

将序列帧转换为 webp 格式动态图

webp 格式是一个带 alpha 通道的网络图片格式,他可以像 jpg 一样做有损压缩,也可以想 png 一样带半透明的背景,甚至还可以像 gif 一样做动态图片。但主流的设计工具仍旧无法直接输出 webp 的动态格式,需要一个动态 webp 格式,就只能使用序列帧转换,而且目前仍旧没有十分好用的转换工具,那我们用 mac 就可以利用自动操作来完成这个操作。

直接安装网友 daxixi 做的 webp 格式转换工具

这是个帮助转换 png 序列帧为 webp 和 apng 格式动画的 Mac Automator 服务。

使用说明:

  1. 下载安装包,并正确安装本服务。
  2. 将 png 序列帧放在一个文件夹里,文件夹里不要有其他文件。
  3. 对着存放序列帧的文件夹 右键 –> 服务 –> 序列帧转 webp + apng ,根据提示操作即可。也可以单独导出 webp 或者 apng 格式。
  4. 可以选择多个序列帧文件夹进行操作,导出的 webp 或者 apng 动画存放在序列帧文件夹所在的目录。

序列帧的命名请注意补零,位数对齐最大那个数字,例如假设有200张图,需要在个位前补2个0,十位前补1个0,即命名为 000.png、001.png … 010.png、011.png … 199.png,不要命名为 0.png、1.png …


将动态图片一键转换为微信表情大小

此操作需要安装 imagemagick,可以在终端运行。

brew install imagemagick

微信的动态表情实际上只展示 300×300 像素的gif 图片,所以如果你有一张动态图片,你需要转换成 gif 才能在微信显示动画,如果你的图片过大,在微信也很难发送和加载。所以以下指令是利用 imagemagick 去对图片做更改。让图片转适配 300×300 的大小,其中“-resize 300×300\>”参数含义是将图片等比例缩放,最长边不大于 300px。

因为一些动态图片的压缩算法,他们每一帧只更新变化了的像素,所以在重设尺寸的过程中,会以每一帧的实际像素缩放,会导致每一帧都是不同大小的图片,最后导出来的就会抖动。

添加-coalesce 指令是逐帧读取全画幅去处理,所以只要添加这个指令就会让其正常了。

原动态图(webp)
没有应用 -coalesce 转换的 gif
应用 -coalesce 转换的 gif

还可以添加指-colors 来指定颜色数来缩减颜色,让 gif 图片的大小小一些。数值是从 1-256。

其中的-dither 是让图片通过抖动仿色让图片颜色过渡平滑。

根据需求组合以下指令。

创建 Automator 服务:打开 Automator 应用程序(位于 Applications 文件夹中),选择创建新的“服务”或在新版本的 macOS 中可能称为“快速操作”。

配置服务:在“服务接收选定的”下拉菜单中选择“文件或文件夹”,在“任何应用程序”中选择“Finder.app”。

添加运行 Shell 脚本操作:在左侧的操作库中找到“运行 Shell 脚本”并将其拖到工作流程区域。在出现的文本框中,输入以下命令:

for f in "$@";
do

    /opt/homebrew/bin/magick -dither /opt/homebrew/bin/convert "$@" -colors 128 -coalesce  -resize 300x300\> "${f%.*}表情.gif";
afplay /System/Library/Sounds/Submarine.aiff
done

保存并测试服务:保存您的服务,给它一个容易识别的名字,比如“转换为微信表情 GIF”。然后,您可以在 Finder 中选择一系列图片文件,右键点击,从“服务”菜单中选择您刚刚创建的服务来生成 GIF。