
MediaInfoのCLI(コマンドライン版)を使い、Finderで複数のメディアファイルを選択した際に、クイックアクションからMediaInfo情報を比較表示できるショートカットを作成しました。 ところが、いざFinderで右クリックしても、クイックアクションに「カスタマイズ…」しか表示されない というトラブルが発生していました。
本記事では、以下について解説します。
- Finderのクイックアクション項目が表示されない原因と対処方法
- MediaInfo CLIを活用したクイックアクション用ショートカットの作成手順
MediaInfoは、メディアファイルの情報を得る便利なアプリです。 一般的にはGUI版(Graphical User Interface)もありますが、コマンドラインで使用する CLIもあります。 今回作成するショートカットでは、このCLI版を使います。
使用PC環境:M1-MacBook air :Version Tahoe 26.3
MediaInfo CLI:v26.01 (公式DL先:ここをクリック)
クイックアクションとは?
クイックアクション(Quick Actions)は、macOSのFinderで、ファイルを選択して右クリックすることで表示される操作メニューです。 このメニューから、クイックアクションの処理項目を選択することで、指定された処理を実行することができる便利機能です。 この機能は、macOS Mojave(2018年)から導入されました。
このクイックアクションの機能は、「PDFファイルの作成」「動画ファイルのトリミング」「メディアファイルのマークアップ(注釈や署名の追加等)」「背景画像の削除」等の処理を実行できます。 また、Automatorで作成したワークフローやショートカットで作成した処理も登録することができます。
また、クイックアクションに処理する項目を表示・非表示にするには、Finderの適当なファイルを右クリックしてクイックアクションを選択した時に表示される カスタマイズ… をクリックすると、macOSシステムのFinder拡張機能が自動的に表示され、表示する項目のON-OFFで簡単に切り替えることが可能です。
クイックアクション項目が表示されない原因と対処方法
実は、今使っているM1-MacBook Airは、 MacBook から「移行アシスタント」で引越し今に至っています。 古いMacBookのmacOSはHigh Sierra(10.13.6)でクイックアクション機能はありませんでした。
Finderから「フォルダへ移動」を選択し ~/Library/Preferences/pbs.plist を実行して pbs.plistのTimeStampを見ると、2012年12月で既に10年以上も経過したままになっていることが分かりました。 これは、古いMacBookから引っ越したためpbs.plistが古いまま維持されていると考えられます。 pbs.plistは、pbs(Pasteboard Serverの略)のプロパティリストで、FinderのQuick Actions等に密接に連携しているので、これが今回のクイックアクションが表示されない原因と推察されました。 対処方法は下に示します。
対処方法:
念のため、pbs.plistをデスクトップにバックアップコピーした後、Preferencesにあるpbs.plist を削除(ゴミ箱に入れる)することが、クイックアクション項目が表示される対処方法になります。
Finderを再起動(アプリケーションの強制終了からFinderを選択して、再度開くボタンを押す)したところ、Finderのクイックアクション項目が表示される様になりました。
pbs.plistはFinderの再起動で新たに生成されTimeStampは現在時刻に更新されます。
MediaInfo CLIを使った「MediaInfo Quick Action」ショートカットの概要
概要:Finderにあるメディアファイルを選択(複数可)した後、右クリックしてクイックアクションから「MediaInfo Quick Action」を選択することで、選択したファイルのメディア情報をテキストエディットに表示させます。 例えばFlacファイルをAACファイルに変換したメディア情報を一覧表示して確認することができます。
詳しくは、下の動画を参照してください。
一覧表示されたMediaInfo情報
MediaInfo.txt (上下にスクロールします)
MediaInfo CLIについて
過去記事で、MediaInfo CLIを紹介しています。 今回は、クイックアクションを使うことで、より便利にMediaInfo情報を表示することが出来るようになります。
-
-
参照MediaInfo(メディアファイル情報取得アプリ)のコマンドライン版を使ってみました。
MediaInfoは、サウンドファイルの情報を得る便利なアプリです。 今までGUI版(Graphical User Interface)を使っていましたが、最近 CLI版(command line I ...
「MediaInfo Quick Action」クイックアクション・ショートカットの作成手順 :2つの方法
初めは、テンポラリ・テキストを利用した方法−1で実施していましたが、後からテンポラリ・テキストを作らない方法−2を考えました。 方法−2の方がスマートですので、こちらの方法をオススメします。
方法−1
macOSショートカット・アプリを起動して「ファイル」>「新規ショートカット」をクリックすると、まっさらなショートカット編集画面が現れます。 今回のアクションは一つで「シェルスクリプトを実行」を配置します。 下に、今回のショートカットの編集画面を示しますので、これに倣えばクイックアクション用のショートカット【MediaInfo Quick Action】が作成できます。

シェルスクリプトを実行のScript詳細
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
# ------ # MediaInfoで動画・音声ファイルの情報を取得し表示する。 # ------ export LANG=ja_JP.UTF-8 # 文字化け対策 OUT="/Users/***/Desktop/MediaInfo.txt" > "$OUT" #事前にファイルを空にしてから >>で追記 for file in "$@"; do echo "" >> "$OUT" #スペース改行 echo "━━━━━━━━━━━━━━━━━━" >> "$OUT" echo "FILE: $(basename "$file")" >> "$OUT" echo "━━━━━━━━━━━━━━━━━━" >> "$OUT" /usr/local/bin/mediainfo "$file" >> "$OUT" #mediainfo情報を追記 -fで詳細情報になる。 done open -a TextEdit "$OUT" # -aオプションで前面表示 |
Scriptの説明
- 4行目:mediainfo で出力されたデータの文字化けを防止する
- 5行目;デスクトップにテンポラリファイル(OUT)としてMediaInfo.txtを指定しています。
- 9行目:for文で回し、Finderで選択されたファイル(複数可)を処理します。 >>でOUT(MediaInfo.txt)に追記(append)します。
- 14行目:インストールされいるmediainfo CLIをフルパスで指定し、メディア情報をOUT(MediaInfo.txt)に追記します。
mediainfo CLIはここをクリックして、公式サイトからCLI(CLI v26.01 )をダウンロードでしておきます。 - 15行目:doneでfor文の終点
- 16行目:デスクトップに保存されているOUT(MediaInfo.txt)ファイルをTextEditで開きます。
使用上の注意ポイント
「MediaInfo Quick Action」クイックアクションを実行するために、以下のシステム設定が必要です。
システム>プライバシーとセキュリティ>フルデスクアクセス と進み、ショートカット.app を ON にします。
ーー 以上で方法−1の完成です。 ーー
方法−2:オススメ
テンポラリファイル(MediaInfo.txt)を止めて、変わりにクイックルックで簡単にMediaInfo情報を表示させます。 下に示すscriptに書き換えた[シェルスクリプトを実行]アクションの下に、[クイックルック]アクションを追加配置すれば、クイックルックでMediaInfo情報が表示されます。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# ------ # MediaInfoで動画・音声ファイルの情報を取得し表示する。 # ------ export LANG=ja_JP.UTF-8 # 文字化け対策 OUT="" for file in "$@"; do info=$(/usr/local/bin/mediainfo "$file") OUT+=" ━━━━━━━━━━━━━━━━━━ FILE: $(basename "$file") ━━━━━━━━━━━━━━━━━━ $info " done echo "$OUT" |
┃
追加配置した[クイックルック]アクションに、21行目でMediaInfo情報が格納されている $OUT オブジェクトを渡します。 クイックルックがMediaInfo情報を表示します。
ーー 以上で方法−2の完成です。 ーー