本來以為要裝 Yellow Dog 這類 linux distribution,才能用 PS3 接電視看影片檔,結果在 2007-06-05 時,發現了 PS3 新的 1.80 版系統軟體,可以透過網路播放影音檔案,關鍵在於 DLNA[1]這個 protocol。初步研究後發現,Windows Media Player 11 (WMP11)Nero 7 的 Nero MediaHome 都具備有 DLNA 的功能。

這兩種軟體的本質,其實我都不太喜歡,但在只能擇其一的情況之下,只好選擇 WMP11,至少是免費的。使用 Windows Update 裝上之後,依據這篇《媒體伺服器連線》的官方說明,按照以下步驟,

  1. 先讓 PS3 連上網路。使用有線或無線的方式即可,一般能夠讓 PS3 升級到 1.80 版系統軟體,這步驟應該不會有問題。
  2. 啟動 WMP11,點選「媒體櫃」選單中的「媒體共用」,打開「共用我的媒體」。
    • 此時,原來的對話視窗,會變成「共用我的媒體至(S):」,這個意思是說,要讓哪一台機器,享用 WMP11 分享出去的媒體資源。
    • 選擇 PS3 那台,將之「允許」,然後按「確定」即可。
  3. 點選「媒體櫃」選單中的「其他選項」,點選「監控資料夾」按鈕。
    • 所謂監控資料夾的意思,就是說,列在裡面的這些資料夾,裡面的所有媒體檔案,會自動納入「媒體櫃」裡,可以在 WMP11 裡直接點選播放,或是透過 DLNA,由 PS3 播放。
    • 列表的來源有兩種:「我的個人資料夾」與「我的個人資料夾和我可以存取的其他資料夾」。所謂「我的個人資料夾」,就是指放在「我的文件」裡的「我的音樂」、「我的照片」和「我的影片」等資料夾;而所謂「其他資料夾」,就是在「進接選項」處,可以自由「新增」的資料夾。
    • 把平常用來放照片、影片與音樂的資料夾,列在「監控資料夾」裡即可。
  4. 打開 PS3,從「相片」、「音樂」、「影像」圖示裡,可以看到可以被點選播放的所有資料夾與媒體檔案,選擇後即可播放。

WMP11 大概是最方便簡單的 DLNA media server 了。只不過,一般我的照片、影像檔,都是放在 FreeBSD server 裡,只有 notebook 才有裝 Windows。因此,若要透過 WMP11,再透過網路芳鄰(samba)存取這些檔案,實在是不太理想。最好還是找個 open source,可以運行在 FreeBSD/Linux 上的 DLNA media server 軟體比較好。

終於在三個月後,我看到了《How-to: Stream media to a PS3 from a Mac》這篇文章,知道了 MediaTomb 這個軟體:

MediaTomb is an open source (GPL) UPnP MediaServer with a nice web user interface, it allows you to stream your digital media through your home network and listen to/watch it on a variety of UPnP compatible devices.

MediaTomb 在 FreeBSD 的 ports 裡有,按照以下指令即可安裝完畢:

SHELL> cd /usr/ports/net/mediatomb;
SHELL> make WITHOUT_MYSQL=yes WITH_LIBEXTRACTOR=yes install clean

預設 ports 裡的 MediaTomb 會支援 mysqlsqlite3 後端,但是我覺得 sqlite3 足以,所以就把 mysql 後端關掉了。啟用 libextractor (理論上[2])可以讓 MediaTomb 自動擷取一些媒體檔案的 meta data。

裝好後,可以在 /usr/local/etc/mediatomb/config.xml 找到設定檔,在 <server> 裡加上 <protocolInfo extend="yes"/>,在 <extension-mimetype> 裡加上:

<map from="mpg" to="video/mpeg" />
<map from="m2v" to="video/mpeg" />
<map from="gif" to="image/gif"  />
<map from="jpg" to="image/jpeg" />
<map from="png" to="image/png"  />

然後在 /etc/rc.conf 裡加上:

mediatomb_enable="YES"
mediatomb_interface="em0"

目前 MediaTomb 只能同時支援一個網路介面(卡),幸好一般都是在家庭區域網路裡使用,所以使用 mediatomb_interface 指定之。最後,打 /usr/local/etc/rc.d/mediatomb start 啟動,看一下 /var/mediatomb/mediatomb.log,最後面會顯示 MediaTomb 的 web interface 的網址,開啟瀏覽器,切到 Filesystem 區,把檔案所在的目錄,加進 Database,就可以在 PS3 裡看到 MediaTomb 與其所分享出來的媒體檔案了。

不過,由於目前 PS3 支援的 video codec 很少,所以許多影片都還不能看,實是一大敗筆,希望未來的 PS3 系統軟體,能夠予以改進。現階段,只能夠先行轉檔。另外,使用 PS3 瀏覽照片時,幻燈片模式非常的酷喔,大家可以試試看。

2007-12-19 更新:現在 ports 裡最新的 mediatomb-0.10.0,裝好後跑到讀完 config 檔,就 hang 住佔滿 cpu,log 檔會跑不出最後的 web interface 網址,所以沒辦法用。

2008-03-10 更新:解決了,sqlite3 不要打開 FTS2 就可以了。


  1. DLNA 為 Digital Living Network Alliance 的縮寫。官方網站在 http://www.dlna.org/
  2. 我還看不出差異之所在。