HomebrewでM1 MacにFFmpegを入れる


概要

FFmpeg(エフエフエムペグ)は動画と音声を記録・変換・再生するためのフリーソフトウェアである。

(引用:Wikipedia)

このソフトは、動画扱う際にめちゃくちゃ便利なのですが、ハードウェアのチップに依存する場面もあります。
M1 Macに入れる際に若干苦労したので、自分はこうしたら入ったよ。というのを記録に残しておきます。

環境

$ sw_vers
ProductName:    macOS
ProductVersion: 11.2.3
BuildVersion:   20D91

コマンド

brew postinstall libtasn1
brew install ffmpeg

FFmpegを動かすためのパッケージとして、インストールのタイミングで依存関係にある「libtasn1」がインストールされておらず、
$ brew install ffmpegのみでは、インストール時にコケました。
※エラー文にbrew postinstall libtasn1しろと言われました。
※コケた時のエラーログ残しておけばよかった。。。。

なので、事前に「libtasn1」をポストインストールしておいてあげてください。
※既にインストールされている場合は不要です

念のため、brewでインストール有無を確認する方法も載せておきます。

brew list

「libtasn1」とは

「GnuTLS」や「p11-kit」などで使われるASN.1構文ライブラリだそうです(原文はこちら)。

「ASN.1」とは

Abstract Syntax Notation One(ASN.1)とは、電気通信やコンピュータネットワークでのデータ構造の表現・エンコード・転送・デコードを記述する標準的かつ柔軟な記法である。マシン固有の技法などに依存せず、曖昧さのない記述を可能とする形式規則を提供する。

(引用元: Wikipedia)

「GnuTLS」とは

GnuTLS(GNU Transport Layer Security; グヌーティーエルエス)はSSL/TLSとDTLSプロトコルのフリーなライブラリー実装のひとつである。アプリケーションがネットワーク通信層を越えて安全な通信プロトコルを利用できるようAPIを提供することを目的とする。

(引用元: Wikipedia)

「p11-kit」とは

p11-kit ライブラリは、公開鍵暗号標準 (Public-Key Cryptography Standard, PKCS) #11 モジュールのロードと列挙の方法を提供するほか、PKCS#11 モジュールを 発見できるようにインストールするための標準的な設定を提供します。 同じプロセス内の別々のコンポーネントもしくはライブラリが PKCS#11 を使用する際の問題を調停し、解決することもできます。

(引用元: debian)

libtasn1のまとめ

難しいこと色々書いてあって正直よくわかってませんが、libtasn1は、FFmpegが使う暗号系のライブラリ群がさらに使っているライブラリという感じでしょうか。

所感

別に暗号通信するつもりもない人も入れないといけないのは正直腑に落ちませんが、
インストールでコケる以上どうしようもないって感じなんでしょうね。

とはいえ、ありがたく使わせていただきます!!製作者には頭が上がりません...!!!