[ PC系セットアップ覚書 Top]

PC系セットアップ覚書

2011年まで「俺的な非 UN*X 環境をめざして」という題でしたが、 「UNIX系」と「非UNIX系」の区別がだんだん難しくなってきましたので、 あれこれ区別しないことにしました(^_^;


[前] Libre Officeと文書編集とUSBメモリ (雑談) 2011/08a

iPod touch で動画 2011/04a

いちいち iTunes から動画を転送するのはタルいじゃないですか。しかも 保存できるデータ容量が豊富じゃないiPod touch/iPad等を買ってしまったら、 それに動画突っ込んだらすぐ一杯になっちゃうし。‥ということで いろいろ調べてみると、 動画を転送しなくても、PCとかNASをファイルサーバにして、そこからデータを 参照できるソフトがいくつかあることがわかります。私もNasViPというソフト[URL]を 購入して使ってますが、かなり便利ですね。いいです(^_^)

‥ただ私個人の事情としましては、動画ファイルのコレクションそのものは USB外付けディスク上にあり、NasViPで見たい動画があるときは、それを 個別にNasViPが対応しているNASにコピーする、という手順が必要となっており (NAS上にそんなにデータを置いておけない‥)、 そこがちょっとタルいなー、というのはあります。そこで、 私が普段から持ち運んで使い慣れているApache[URL]を USB外付けディスクに突っ込んで、それとWindows PCを使って何とかできないかと考えるように なりました。

あれこれ試してみた結果、 動画ファイルを「携帯動画変換君」などで(iPhone 等が対応している) M4V 形式に変換してやりさえすれば、なにか特別な細工をしなくても、 PC上の動画ファイルをWWW (http)経由で、 普通に iPod touch で動画を見ることができるじゃん! ということを確認しました。 (私は動画の画質にはそんなにこだわらないので、そのへんで幸いしてるかも。) (なおサーバ側の mime.types ファイルに m4v のエントリがない場合は、 m4v を video/x-m4v に関連づける必要があります。) やった! 個人的にはこれで動画ファイルをいちいち NAS にコピーしなくていいので楽! ‥と思いましたが、ちょっとした問題があることにも気付きました。 私の手持ちの動画ファイルの過半数を占めるのは 国産の素材なんですけど。それらは すべてファイル名を日本語でつけていたのです。そして http は、というか Windows 用の Apache は日本語のファイル名とはイマイチ相性が悪く、 ファイル名に日本語(Shift_JIS)の たとえば「ウ」とか「脱」とかいう特定の文字が入っていると、どうやっても 「ファイルがない」とか「パーミッションがない」とか言われて そのファイルにアクセスできないのです。がーん‥ (このへんの話は、すでに 2005年から問題に感じてはいたのですが、放置してました。) かといって、日本語のタイトルが付いてる映画などを わざわざローマ字表記とか 英語タイトルに変えてしまうと、ファイル名の視認性というか識別性が下がるので、 それはどうしても避けたいのです。んー。 (なお、日本語のファイル名との相性が悪いのはApacheのWindows版特有の 問題のような気がしています。MacOS Xに標準装備されてるApacheの場合、 日本語のファイル名でも問題ナシです。なのでこの用途ではWindowsよりもMacOSXのほうが チョー楽です。)

ということで、WindowsでWWWサーバを起動させてアクセスというのは無理なのか ‥と思っていたのですが。何とかごまかす方法があることに気付きました。 NTFSはハードリンク使えるんですから、それ使えばいいのか! ‥たとえば「脱水機.m4v」というファイルにApache経由でアクセスしようとしても、 ダメです。「そんな名前のファイルはない」と言われて しまいます(実際にはファイルはあるのに!)。 でもハードリンクを使って、脱水機.m4v で参照される中身に、 別のファイル名、たとえば aaaa.m4v という名前もつけてやれば、そっちの aaaa.m4v という名前で 脱水機.m4v の中身が参照できるじゃないですか。 ただ aaaa.m4v の中身が 脱水機.m4v と同じであることをどうやって 提示すればいいのか? ‥‥ええと、脱水機.m4v というファイルに対する aaa.m4v という名前のハードリンクを張るとき、ついでに index.html ファイルも作るようにして、そこに以下:

<A HREF="./aaaa.m4v">脱水機.m4v</A>
こんな記述を入れておけば、Webブラウザから「脱水機.m4v」をクリックすれば aaa.m4v という名前のファイルを参照できるじゃん、と。 (「え? "COPY 脱水機.m4v aaa.m4v" のように、 ファイルをコピーすれば十分じゃね?」‥‥ ファイルのコピーをしてしまうと 同じ内容のものを二つ、同じディスクに転がしておく ことになってしまいますので、ファイルのサイズが大きな動画でそれをやってしまうと かなりのディスク容量とコピー時間のムダ遣いになります。ハードリンクを使うと、 一つのデータに新たな別の本名を付けてやる(つまり、一つのファイル実体に対して 2つ(以上)の名前がつく)だけなのでPC環境にやさしいです)

無論、手持ちの動画ファイルの一つ一つに aaaa.m4v のような別の名前を割り振って、 さらにその情報を反映させる index.html を作成するなんて作業、 手作業なんかでは やってられません。このへんは perl とバッチファイルを 作って自動化しました。ハードリンクについては 「バッチファイルをハックせよ」の ときに使った(今も使ってますが‥) UnxUtilsという パッケージに ln.exe というコマンドがあって、これを使うと UN*X 系システムと 同じようにハードリンクが張れるじゃん、これで行こうぜ! ということで、それを使っています。(本当はシンボリックリンクのほうが好み なんですが、XPからは無理っぽい気がしたので現状ハードリンクで我慢してます。)

NTFSはWindows以外から使うときちょっと難があるような印象がありましたので、 できれば使いたくはなかったのですが‥。でもやっぱリンクが使えるのは便利ですね。



[次] XPの「終了オプション」的な何か 2011/02b