« November 2011 | Main | May 2012 »

January 2012

2012.01.09

FLVファイルをPS3で変換無しに再生する

PS3上でFLVを再生するにはPS3 Media Serverを使うのが一般的ですが、ごくまれに再生できないFLVファイルがあります。
PS3 Media Serverでサイズ指定してトランスコードすることで再生できるようになりますが、CPU性能が足りなくて再生が途切れる、画質に不満がある場合はPS3のインターネットブラウザー経由で再生する方法があります。

PS3のインターネットブラウザーはFlash Playerを内蔵していて、FLVファイルを再生する事ができます。
ただ、FLVファイルをWebサーバに置いただけでは再生しないため、何らかの形で再生用のHTMLファイルを用意する必要があります。

ファイルが増えるたびにHTMLファイルを書くのも面倒だし、何かいい方法はないか、と考えたのですが、Mac OS XのWeb共有でファイル一覧を表示し、FLVファイルをリクエストしたらCGIを起動してHTMLを生成するようにすればイケる、と思いつき、少し試行してみたらできました。
コードのチェックは十分ではないので、ファイル名に使用可能な文字に抜けがあるかもしれませんが、参考用として公開します。
動作確認はMac OS X 10.7.2(64bitカーネル)で行っています。

必要なファイルは以下の3ファイルです。

  • HTMLを生成するshellベースのCGI
  • Web共有にMacintosh HD の /Users/Shared/flv フォルダを/flv と/flvcontents の2カ所で公開するための追加設定ファイル
  • FLVを再生するFlashファイル JW Player

上記3ファイル/フォルダを下記の手順に従い所定の場所に設置します。

JW Playerのインストール

  1. http://www.longtailvideo.com/players/jw-flv-player/からJW Playerをダウンロードする
  2. JW Playerのzipファイルを解凍する
  3. Finderから 移動 → フォルダへ移動 を選択し、「/Library/WebServer/Documents/」へ移動する
  4. フォルダ「jwplayer」を「/Library/WebServer/Documents/」フォルダに作成する
  5. JW Playerのzipファイル内のファイルを前項で作成した「jwplayer」フォルダにコピーする

CGIと設定ファイルの配置

  1. CGIとWeb共有追加設定ファイル flv-player.tar.gzをダウンロードする。
  2. flv-player.tar.gz をダブルクリックし解凍する → フォルダ「flv-player」が生成される
  3. Finderから 移動 → フォルダへ移動 を選択し、「/Library/WebServer/CGI-Executables/」へ移動する
  4. フォルダ「flv-player」内のファイル「flv-player.cgi」を移動先のフォルダ「CGI-Executables」にコピーする
  5. Finderから 移動 → フォルダへ移動 を選択し、「/etc/apache2/other」へ移動する
  6. フォルダ「flv-player」内のファイル「flv-player.conf」を移動先のフォルダ「CGI-other」「/etc/apache2/other」フォルダの直下にコピーする
  7. アプリケーション → システム環境設定 → 共有 → Web 共有をチェックしWeb共有を起動する

flvフォルダの作成

  1. Macintosh HD → ユーザ → 共有 フォルダに「flv」フォルダを作成する
  2. 作成したflvフォルダにFLVファイルを移動/コピーする

上記の作業中にいくつかの箇所で管理者認証が必要になりますので、必要に応じて管理者認証を行ってください。
設定完了後、PS3のインターネットブラウザ、PCやMacのWebブラウザ「http://[MacのIPアドレス/ホスト名]/flv/」を開いてflvファイルを選択すればFLVファイルを再生します。

これでPS3でFLVファイルをネイティブ再生できるようになりますが、操作がWebブラウザベースなのと、コンピュータ名で名前解決できない環境ではアクセスが面倒かもしれません。
PS3 Media Serverのリアルタイム変換で問題ない場合は、そちらを使った方が良いでしょう。

ちなみに、CGIはBourne ShellベースでURLエンコードにPerlを使ってるだけなので、Linux+ApacheベースのNASでも動きそうなのですが、無改修でイケるかどうかは不明です。

2012/07/24訂正:
flv-player.conf の移動先が誤っていた点を修正しました。

| | Comments (4) | TrackBack (0)

« November 2011 | Main | May 2012 »