TIPS – ページ 7 – XOR for Mac & Windows:リアルタイムPDF比較ビューワ

EyeTV HD & Buffalo NAS

私はApple TVとEyeTV HDを通じて目ぼしい各種動画コンテンツを録画し、コレクションしています。もちろんあくまでも個人用です。外部には一切公開しません。

EyeTV HD
Amazonでは品切れが続いてたけど中古品が出品されていますね。早い者勝ちです

今回新たに購入したNASを録画ファイルの保存先にできれば何かと都合が良かったのだけど、うまくいきません。保存はできるものの録画ファイルがファイナライズされなくて。

Geniatechには「XFSに対応してくれ」という要望のリポートを送ったけど、このメーカーのサポート体制やら開発力は心許ないので期待薄です。

ならばと思いついた手段はBuffaloのNASにさらに外部ストレージを繋ぐというもの。マニュアルを読む限りexFATにも対応しています。

そこで手持ちのSSDを繋いでみたものの選べるフォーマットはXFSとFAT32のみ。FAT32だと2GBを超えるファイルは書き込めないはずです。

Buffalo NASの設定画面
Buffalo NASの設定画面

マニュアルを読み返すと以下の文が書かれています。

• USB端子には、1端子にUSBドライブを1台接続できます。当社製以外のUSBドライブには対応していませ ん(当社製DIU/DUBシリーズは非対応)。

そういうことか。exFATを使うためにはDIU/DUBシリーズ以外のBuffalo製品を買う必要があるわけだ。

EyeTV環境の最適解を模索中

私はApple TVとEyeTV HDを通じて目ぼしい各種動画コンテンツを録画し、コレクションしています。もちろんあくまでも個人用です。外部には一切公開しません。

EyeTV HD
Amazonでは品切れが続いてたけど中古品が出品されていますね。早い者勝ちです

今回新たに購入したNASを録画ファイルの保存先にできれば何かと都合が良かったのだけど、保存はできても録画ファイルがファイナライズされません。EyeTV 4でさらにmp4に書き出せばエンコードできるようになるけど、この書き出しには結構な時間がかかります。

よって現状は録画機であるMacBook AirのSSDを書き出し先にし、録画が終わったらNASにコピーしてMac miniでエンコードするという流れになっています。

Mac mini側の空き容量が気にならない分だけAirDropで転送するよりは楽になったけど、あまり進歩はしていないような。

EyeTV 4の問題を解消

私はApple TVとEyeTV HDを通じて目ぼしい各種動画コンテンツを録画し、コレクションしています。もちろんあくまでも個人用です。外部には一切公開しません。

EyeTV HD
Amazonでは品切れが続いてたけど中古品が出品されていますね。早い者勝ちです

EyeTV HDはハードウェアの名称で、録画にはEye TV4というアプリを使います。

EyeTV 4アプリのアイコン
EyeTV 4アプリのアイコン

このEyeTV 4、今回録画先をNASに変更しようとしたら、何度試してもアプリが落ちます。以前はそんなことなかったのに。

EyeTV 4の設定画面
EyeTV 4の設定画面。「録画」ボタンをクリックすると毎回アプリが落ちます

EyeTVのサポート体制はとてもお粗末で、どうしたものかと思っていたのだけど、公式Webサイトに解決策が書かれていました。EyeTV Reporterなる補助アプリを使うとすべての設定をリセットできるとのこと。

早速ダウンロードして実行すると、アプリが落ちることもなく保存先を変更できるようになりました。ということはEyeTV 4のバグを取りきれていないのでしょうね。そしてバグ取りしてアプリをアップーデートするのではなく、設定をリセットする手段を用意したと。

NASって快適…とはいかず

NASを導入しました。主な用途は動画ストリーミングサービスのコレクションです。

BUFFALO NAS スマホ/タブレット/PC対応 ネットワークHDD 2TB LS210D0201G 【エントリーモデル】
BUFFALO NAS スマホ/タブレット/PC対応 ネットワークHDD 2TB LS210D0201G 【エントリーモデル】

私はApple TVとEyeTV HDを通じて目ぼしい各種動画コンテンツを録画し、コレクションしています。もちろんあくまでも個人用です。外部には一切公開しません。

EyeTV HD
Amazonでは品切れが続いてたけど中古品が出品されていますね。早い者勝ちです

ただし、課題だったのが動画ファイルの受け渡し。マシンの性能的な理由でサブ機のMacBook Air(2018)で録画したファイルをメイン機のMac mini(M1)にAirDropで転送してからHandbreakでエンコードするのだけど、転送の工程をNASが肩代わりしてくれるようになりました。

ちなみにEyeTVの生データは2時間の動画が約15GB。Mac miniはSSDの空きが100GBぐらいしかないので、こまめに消さないとすぐにいっぱいになってAirDropの転送が自動キャンセルされるし、ゴミ箱を空にしてもしばらくは容量が回復したとOSが認識しません。

というわけで、2TBのNASをEyeTV HDの書き出し先にしてMacBook Airで録画したそばからMac miniでアクセスできないかと期待したものの、うまくいきません。録画が終了しても録画ファイルがファイナライズされず(拡張子が.eyetvschedのまま)、Handbreakでエンコードされないようです。

原因はわからないけどNASのフォーマット(ファイルシステム)がXFSだからかな。EyeTVのアプリにはMac版とWindows版しかないから、主にUNIXで使われるXFSには対応しきれていないのかも。

だったらMacBook Airに共有フォルダを作って、そこを書き出し先にする方が楽だったかな。

Wi-Fiルータを買い替えてもよかったけど

NASの機種選定で迷っているとき、「Wi-Fiルータに外部ストレージを繋げばNASとして使える」という話を聞きました。考えてみれば確かにそうですよね。

そこで自宅のWi-Fiルータの背面を確認したところUSBポートがありません。昨秋買い替えたばかりのその機種はNAS化できないようです。

ならばNASではなくWi-Fiルータの方を買い換える手もあります。手持ちのWi-Fiルータはヤフオクで売ればいいし。

NAS化対応のルータは例えばこの機種。

ASUS WiFi 無線 ルーター WiFi6 2402+574Mbps v6プラス対応デュアルバンド RT-AX3000 V2 Broadcom クワッドコア CPU 1.7GHzメッシュ機能付 3階建/4LDK
ASUS WiFi 無線 ルーター WiFi6 2402+574Mbps v6プラス対応デュアルバンド RT-AX3000 V2 Broadcom クワッドコア CPU 1.7GHzメッシュ機能付 3階建/4LDK

Amazonのページには何も書いていないけどマニュアルを読むと確かにNAS化できると書いてあります。

ただし、念のためサポートHDDのリストを見てみたら気になる点が。

ASUSルータのサポートHDDリスト
ASUSルータのサポートHDDリスト(抜粋)

RT-AX3000、というか全機種がexFATフォーマットをサポートしていません。MacだけならHFS+でいいけど、Winでも使うならexFATじゃないと。

というかNASは基本的にディスクフォーマットを意識しないと思うので、この場合は簡易NASなのかな。

詳しいことはよくわからないので今回はパスしました。

NASを購入

NASを購入しました。目的はMac mini、MacBook Air、Windows PC間のファイル共有です。

機種選定ではあれこれ迷ったけど、最終的に選んだのはこちら。

BUFFALO NAS スマホ/タブレット/PC対応 ネットワークHDD 2TB LS210D0201G 【エントリーモデル】
BUFFALO NAS スマホ/タブレット/PC対応 ネットワークHDD 2TB LS210D0201G 【エントリーモデル】

売れ筋一位の廉価なエントリーモデル、容量は2TBです。

欲を言えばHDDを2台搭載してRAIDが組める機種が理想だけど、個人でNASを使うのは初めてなので、まあ当面はこれで良かろうと。

使っていて限界が見えてきたらより良い製品に買い換えます。

不変ページの自動検出を過信するなかれ

XOR for Mac Version 2.1では新機能として「不変ページの自動検出」を搭載しました。比較する二つのPDF間で変更がなかったページに「Unchanged」ラベルを付けて知らせてくれる便利機能です。

XOR for Mac Version 2.1の不変ページの自動検出

ただし、「Unchanged =確認不要」ではありません。DTP原稿で当該ページに修正指示が入っていれば、「Unchanged」は修正漏れに他ならないからです。

サーモ表示

XOR for Mac Version 2.1では新機能として「不変ページの自動検出」と「サーモ表示」を搭載したものの、当初の予定では自動検出のみを盛り込む方向で進めていました。それだけで大きな進歩になるはずだと。

XOR for Mac Version 2.1のサーモ表示
サーモ表示。このバージョンに追加する予定ではなかったのですが…

ただし、いざ不変ページの自動検出を作り込み、さまざまなテストデータを試したところ、同じページなのに「Unchanged」になったりならなかったりという事象が見られました。もちろんアルゴリズムは同じなので不可解な話です。

具体的には、テスト用にとあるPDFのペアから最後のページだけを削除したバージョンを作って試したところ、全ページが揃ったPDFとでは「Unchanged」になるページの組み合わせが食い違う点に気づきました。

調べてみたところ、原因はページを削除して保存した際にPDFのデータ構造が微妙に変わることでした。そう、PDFは見た目が同じでもデータ構造が違っているケースがよくあります。それがXORでレンダリングする際に数ドット程度の微妙な差異を生み出していたわけです。不変ページの自動検出機能は当然ながら1ドットでも違いが見つかれば差異があると見なします。

ちなみにPDFのデータ構造を解析して比較するタイプのPDF比較アプリが差異の後検出や検出漏れを起こすのも、PDFの保存状態との相性が理由だったりします。そのせいでアルゴリズムに要素のペアリングを誤認識させたり、チェックをすり抜けてしまうという。

で、数ドットの微妙な差異をXORで吸収できればよかったのだけど、あらゆるケースを想定するのは不可能なので諦めて、代わりにユーザが微妙な差異を見つけやすくするべく急遽サーモ表示を追加しました。

不変ページの自動検出

DTPでは無用な変更はしないのが鉄則。とはいえ人間がやることなので意図しない変更は紛れ込むものです。例えばInDesign利用時、無意識に⌘V(WindowsならCtrl+V)を押そうものなら、無用なテキストボックスが貼られたりします。そこでXORのようなPDF比較アプリが必要とされるわけです。

ただし、これまでのXORはユーザが差分箇所を見つける手助けをするだけだったため、一見差異がなさそうに見える場合でも本当にそうなのかユーザ自身で確認が必要でした。

でも、本当に差異がないかをXOR上で確かめる作業には意外と時間がかかるものです。そこで差異がないページの自動検出機能を搭載しました。

XOR for Mac Version 2.1の不変ページの自動検出

これにより差異の有無が一瞬で把握できるようになりました。つまり時短によるコスト削減効果が見込めます。

なお、一見差異がなさそうに見えても「Unchanged」が付いていない場合はどこかに差異が発生しています。

XOR for Mac Version 2.1をリリースしました

XOR for Mac Version 2.1をリリースしました。既存ユーザは無料でアップグレードでき、新規ユーザは1ヶ月間無料でお使いいただけます。

今回追加された新機能は「不変ページの自動検出」と「サーモ表示」です。

不変ページの自動検出

まず、修正前と後のPDFで変更がなかったページはこのように表示されます。

XOR for Mac Version 2.1の不変ページの自動検出
差異がない場合、ページ全体が暗くなり、中央に白字で「Unchanged」のラベルが表示されます。サムネイルにも「Unchange」が付いています

ちなみに差異がある場合はこのとおり。

XOR for Mac Version 2.1のふたご表示(差異がある場合)
差異がある場合の「ふたご表示」

これにより制作者は差異の有無を一瞬で把握でき、「DTPの過程で不要な変更が紛れ込んでいないか?」の確認作業が要らなくなります。

サーモ表示

もう一つの新機能は「サーモ表示」です。差分箇所だけを赤で表示します。「透かし表示」の状態でスペースキーを押すとサーモ表示に切り替わります。

XOR for Mac Version 2.1のサーモ表示
透かし表示よりも差分を把握しやすくなりました

なお、これらの機能は有意義なのでWindows版にも追って搭載する予定です。

ちなみにこの二つの追加機能はユーザ様からのリクエストがきっかけで搭載しました。搭載して欲しい機能案があればリクエストをお寄せください。感想も大歓迎です。