広告 iPhone、PC 関連 トピック記事

動画と音声ファイルの両方に対応するビットレートビューワーの作成|plotbitrateとmacOS ショートカットの活用

Video sample BitRate Pattern

Audio sample BitRate Pattern

前回の記事で紹介したplotbitrate CLIを用いることで、オプション一つで動画や音声ファイルのフレーム毎のサイズデータをCSVファイルで保存出来ますし、動画ファイルにあっては、解析が容易になる様にフレームタイプ種類(I,P,B)がフレーム毎に分類されます。 このplotbitrate で生成されたCSVファイルを使って、ビットレートパターンの拡大・縮小可能なビットレートビューワーをmacOSショートカットで作成してみました。 さらに、ショートカットを Finderからファイル選択が可能な、クイックアクションとして動作するように設定することで 、複数のビットレートビューワー起動が可能となり、エンコーダの違いによるビットレートパターンの比較分析も容易です。

今回は、動画および音声ファイルの両方に対応するビットレートビューワーをmacOSショートカットで作成する手順を解説します。

使用PC環境:
M1 MacBook Air:Version (Tahoe 26.3.1 )
macOSショートカットアプリ::Version 7.0

 

作成する「ビットレートビューワー」の基本仕様

  1. plotbitrateで生成されたCSVデータの「size」はフレームごとの転送サイズ(Byte)であるため、ビットレート(kbps)に変換する。
  2. 動画ファイルは、分析しやすくするため、フレームタイプ(I・P・B)ごとのビットレートを色分け(I:brown,P:green,B:blue)した縦棒グラフで表示する。
  3. 音声ファイルは、フレームタイプの区別がないので になる。 縦棒表示では視認性が低くなるので、ビットレートを折れ線グラフで表示する。
  4. macOSショートカットを Finderからファイル選択が可能な、クイックアクションとして動作するように設定する(複数ファイルの同時表示に対応)。
  5. plotbitrateで生成されたCSVデータは、後からNumbers(Excel)で再利用できるよう、デスクトップ上の「PlotBitrate-CSV」フォルダに保存する。
  6. ビューワーによるパターン表示は、拡大・縮小・移動が可能となるよう、インターラクティブに操作できるPythonグラフを使用する。

以上の基本仕様は、次節で説明するmacOSショートカットに必要なアクションを配置してプログラムすることで簡単に達成出来ます。

 

ビットレートビューワー|macOSショートカットの作成手順

macOSショートカット・アプリを起動して「ファイル」>「新規ショートカット」をクリックすると、まっさらなショートカット編集画面が現れます。 ここに必要なアクションを配置して行きます。 今回のショートカット名は[ PlotBitrate Viewer ]にしました。

アクション配置図

 

アクションの説明

事前設定:クイックアクションの設定を行います。 配置図の先頭に示す様に『クイックアクションから「ファイル」を受け取る』にします。

①アクション:シェルスクリプトを実行

以下のscriptをにペーストします。

scriptの処理概要:
クイックアクション(ショートカットの入力)から受取ったファイルを拡張子で識別し、
動画または音声ファイルである場合:plotbitrateを用いてCSVファイルをデスクトップフォルダに保存します。 その後、pythonグラフへ引き渡すために、sizeをビットレート(kbps)に変換し、一時的なTMP.CSVファイルとして保存します。
動画または音声ファイル以外のファイルである場合は:「対象外のファイルです。」というテキストを出力します。

scriptポイント

5〜6行: ffprobe / plotbitrate の実行パスを設定設定しています。 予めFFmpegとplotbitrateがインストールしておく必要があります。 インストールの方法は、ここをクリックして参照してください。

11〜12行; マジック変数を指定しています。 マジック変数は、ここをクリックして参照してください。

20〜27行: case文で、動画・音声の拡張子から、videoかaudioかを判定し、plotbitrateの-s オプション に渡しています。 それ以外はOTHERになり、30行のif文で、「対象外のファイルです。」として処理終了します。

37〜47行: デスクトップのPlotBitrate-CSVフォルダにplotbitrateで生成されたCSVが保存されます。 CSVのファイル名は、動画又は音声ファイル名に”[拡張子]-PB”を付加しています。

 

②〜④アクション

の「シェルスクリプトを実行」の結果(出力)が、(if文)で、もし「対象外のファイルです。」と出力された場合は、(アラート)を表示し OK が押されたら、で、このショートカットを終了させます。 「対象外のファイルです。」で無かったら(つまり動画・音声ファイル)の場合は、継続して次のアクションを続行します。

(アラート)アクションの表示内容

 

⑤アクション:シェルスクリプトを実行

以下の Python3 scriptを⑤ にペーストします。 ビットレートに変換されたTMPファイル.CSVをPythonグラフで描画します。

scriptの処理概要:
ビットレートに変換された"/tmp/bitrate_temp.csv" を受取り、このCSVデータに基づいてグラフ化します。 
CSVデータのpict_typeが、I、P、Bの場合:色分けした縦棒グラフを表示します。
pict_typeが、? の場合:折れ線グラフを表示します。 
また、Pythonのmatplotlibライブラリで表示されるグラフウィンドウの左下のボタンを操作することで拡大・縮小・移動が可能です。

 

オペレータ
オペレータ
以上で、[ PlotBitrate Viewer ]の完成です。 
ファイルを選択して右クリックでクイックアクションからPlotBitrate Viewerを選択でビットレートグラフが表示できます❗️

 

完成したPlotBitrate Viewer の操作デモ(動画)をご覧ください。

 

以上、plotbitrateとmacOS ショートカットを活用した、動画と音声ファイルの両方に対応するビットレートビューワーの作成手順を紹介しました。 Videoファイルのコーディック解析などに、ご利用ください。

 

スポンサーリンク