PS3 Media Server經無線網路Repeater連線,影片品質測試
本篇主要是測試PS3播放由UPnP Media Server接收FullHD串流時的效能。
「在開始之前,無意間發現Tomato對無線網路有作節能動作,在沒無線連結時,頻寬變為72MHz:
使用Notebook連上AP後,Notebook顯示無線速度為300M:
回到Tomoto看無線狀態,亦變成300M:
在更改架構之前,受限於PS3 Wireless為802.11g的限制,在傳送FullHD的畫質上,有發現以下幾個問題:
FullHD畫質不能設太好。
MP4遠端案,1080i以(含)上,即使透過Media Server直接丟給PS3,還是會lag;但是如經Media Server轉為MPEG2,卻可以播放,故預測是802.11g無線頻寬不足,或是PS3 CPU要花時間處理網路的I/O
首先,不使用PMS中的.exe來啟動,而是使用其PMS.BAT啟動PMS,修改PMS.BAT中的start javaw...該行,加入-Xmx1536M,使其JVM可吃到1.5G的記憶體:
調整成1536M的理由是,雖然可以在PMS中設Buffer為600M,但是常常出現JVM無法取得600M Buffer的訊息,會自動變成300M,加上如果檔案數量多的話,也會用到更多的JVM Memory,乾脆一次給它多一點記憶體。
再來,準備二個FullHD畫質的影片,皆使用MKV格式,其中一個無外掛字幕,另一個有外掛字幕,二者影片皆為AVC編碼,PMS在遇到H.264影片格式時,如果沒有外掛字幕,則會直接把H.264的串流直接丟給PS3,如果有外掛字幕,則會轉為MPEG2再送出。
測試影片一:H.264無字幕(1920x1080, FullHD):
測試影片二:H.264有外掛字幕(1920x1080, FullHD)
由於修改後的架構是使用ASUS RT-N10當Repeater,再經其LAN Port接到PS3,故PS3並沒有耗時間處理WiFi訊號。而RT-N10的802.11n最快為150M,再經其LAN Port出去後,又變成100M,故PS3LAN收到的速度為100M
先測第一個影片檔:H.264直接傳給PS3解碼,其結果是非常順暢,中間並沒有任何的lag, 表示FullHD的影片可以直接經無線送給PS3解碼。
再來測有字幕的影片,一開始先使用PMS中,其中一個Mpeg2視訊品質設定:
這設定約在3~4分時出現lag,查一下PC的CPU使用量,約在70%左右,並沒有完全吃掉,故推測是頻寬的問題。再往向一級是:
這一級在以前的狀態下,是可以順利播放FullHD的,,故使用這個設定,對新架構而言,根本是浪費。於是再來只好測試手動調整參數。
拿keyint=3:vqscale=2:vqmin=3 /* Good quality */這個設定來說,我直覺上覺得要調整的是keyint,這個用來表示Key Frame的送出間隔,由於key Frame的特性,這一種Frame應該很吃頻寬,故我把它調為6。vqscale應該是影像品質在quantization時的振幅,在這我調高成3,整個參數變成:
其實這樣設,已經比很多編碼器預設的MPEG4 Key Frame間隔還小了。
最後,再手動試放一次影片,發現影片和配音不同步,於是我試著把MEncoder的「聲話同步另類方法打開」後,這一次試看了10分鐘後,還是很順,目前就先用這個設定。
「聲話同步另類方法打開」這個設定,以前查PMS相關設定方式時,別人是建議不要使用這選項較好,之前都沒問題,不過這次在測試時,不打開它就無法解決不同步的問題。
故最後設定的品質為:
使用到的頻寬設定限制約為81~85 MBps
上述設定可應該大部份的狀況,但是在某些快速變動的畫面下,還是會lag,我認為是PC端的問題,CPU看來吃到80%上下,加上PMS要作I/O,可能是被CPU限制住了,最後我改為:
1080P轉720P網路如下:100M的資料爆衝也OK
「在開始之前,無意間發現Tomato對無線網路有作節能動作,在沒無線連結時,頻寬變為72MHz:
使用Notebook連上AP後,Notebook顯示無線速度為300M:
回到Tomoto看無線狀態,亦變成300M:
在更改架構之前,受限於PS3 Wireless為802.11g的限制,在傳送FullHD的畫質上,有發現以下幾個問題:
FullHD畫質不能設太好。
MP4遠端案,1080i以(含)上,即使透過Media Server直接丟給PS3,還是會lag;但是如經Media Server轉為MPEG2,卻可以播放,故預測是802.11g無線頻寬不足,或是PS3 CPU要花時間處理網路的I/O
設定PS3 Media Server (PMS)
首先,不使用PMS中的.exe來啟動,而是使用其PMS.BAT啟動PMS,修改PMS.BAT中的start javaw...該行,加入-Xmx1536M,使其JVM可吃到1.5G的記憶體:
start javaw.exe -Xmx1536M -Djava.net.preferIPv4Stack=true -Dfile.encoding=UTF-8 -classpath update.jar;pms.jar;plugins/*;plugins net.pms.PMS
調整成1536M的理由是,雖然可以在PMS中設Buffer為600M,但是常常出現JVM無法取得600M Buffer的訊息,會自動變成300M,加上如果檔案數量多的話,也會用到更多的JVM Memory,乾脆一次給它多一點記憶體。
再來,準備二個FullHD畫質的影片,皆使用MKV格式,其中一個無外掛字幕,另一個有外掛字幕,二者影片皆為AVC編碼,PMS在遇到H.264影片格式時,如果沒有外掛字幕,則會直接把H.264的串流直接丟給PS3,如果有外掛字幕,則會轉為MPEG2再送出。
測試影片一:H.264無字幕(1920x1080, FullHD):
測試影片二:H.264有外掛字幕(1920x1080, FullHD)
由於修改後的架構是使用ASUS RT-N10當Repeater,再經其LAN Port接到PS3,故PS3並沒有耗時間處理WiFi訊號。而RT-N10的802.11n最快為150M,再經其LAN Port出去後,又變成100M,故PS3LAN收到的速度為100M
先測第一個影片檔:H.264直接傳給PS3解碼,其結果是非常順暢,中間並沒有任何的lag, 表示FullHD的影片可以直接經無線送給PS3解碼。
再來測有字幕的影片,一開始先使用PMS中,其中一個Mpeg2視訊品質設定:
keyint=3:vqscale=2:vqmin=3 /* Good quality */
這設定約在3~4分時出現lag,查一下PC的CPU使用量,約在70%左右,並沒有完全吃掉,故推測是頻寬的問題。再往向一級是:
keyint=25:vqmax=5:vqmin=2 /* Good quality for HD Wifi Transcoding */
這一級在以前的狀態下,是可以順利播放FullHD的,,故使用這個設定,對新架構而言,根本是浪費。於是再來只好測試手動調整參數。
拿keyint=3:vqscale=2:vqmin=3 /* Good quality */這個設定來說,我直覺上覺得要調整的是keyint,這個用來表示Key Frame的送出間隔,由於key Frame的特性,這一種Frame應該很吃頻寬,故我把它調為6。vqscale應該是影像品質在quantization時的振幅,在這我調高成3,整個參數變成:
keyint=6:vqscale=3:vqmin=3
其實這樣設,已經比很多編碼器預設的MPEG4 Key Frame間隔還小了。
最後,再手動試放一次影片,發現影片和配音不同步,於是我試著把MEncoder的「聲話同步另類方法打開」後,這一次試看了10分鐘後,還是很順,目前就先用這個設定。
「聲話同步另類方法打開」這個設定,以前查PMS相關設定方式時,別人是建議不要使用這選項較好,之前都沒問題,不過這次在測試時,不打開它就無法解決不同步的問題。
故最後設定的品質為:
keyint=6:vqscale=3:vqmin=3
使用到的頻寬設定限制約為81~85 MBps
上述設定可應該大部份的狀況,但是在某些快速變動的畫面下,還是會lag,我認為是PC端的問題,CPU看來吃到80%上下,加上PMS要作I/O,可能是被CPU限制住了,最後我改為:
keyint=12:vqscale=3:vqmin=32011/05/19新增:
RT-N10使用DD-WRT的Client Bridge後,網路效能大增,已經可以使用下列設定:
keyint=5:vqscale=1:vqmin=1
1080P轉720P網路如下:100M的資料爆衝也OK
720P影片網路使用如下:
近50M的頻寬使用也沒問題,影片也不會lag
留言