前兩天去客戶端安裝 Media Proxy cache 不管怎麼建都無法把兩邊的 Media 串起來,單獨測試又正常
本篇紀錄在 Media Proxy cache 的除錯過程
當下測試了以下事項
1. 各別擔任 Media Service 正常
2. DMZ Media 使用 mms / rtsp 讀取 LAN Media 正常,代表防火牆暢通
3. 開啟 Proxy 設定後,於 DMZ Media 無法取得 LAN Media 資料。
在 DMZ Media 那台的 Media 疑難排解紀錄找到了以下訊息
Error code: 0x80004002
Description:
The WMS Cache Proxy plug-in could not cache
rtsp://172.23.1.172/pinball.wmv to the cache directory. No such interface supported
到 DMZ Media 的 cache file 果真沒有將檔案抓過來 ( C:\WMSCache )
找了一台正常的 Media Proxy 來參考,發現在 DMZ Media 的 CacheIndex 紀錄找到以下資訊
ENTRY_BEGIN OriginStream=demosite/pinball3.wmv OriginalUrl=rtsp://192.168.1.1/pinball3.wmv FileName=C:\WMSCache\9e56d46a-7f6e-43ce-9cbf-1e1f4116afd3 LocalCopy=1 LastTouchTime=130600667449720000 EventSubscriptions=0 ContentType=0 VersionLMTime=4675746990226316936 VersionExTime=4675998952155500793 VersionCacheFlags=3 VersionContentSize=836560 CDLSize=564 CDL=OCxsYW5ndWFnZSwzMSwwLCw1LHRpdGxlLDMxLDE5LFBpbmJhbGwgV00gOSBTZXJpZXMsNixhdXRob3IsMzEsMjEsTWljcm9zb2Z0IENvcnBvcmF0aW9uLDksY29weXJpZ2h0LDMxLDU3LENvcHlyaWdodCAoQykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLiw1MSxXTVNfQ09OVEVOVF9ERVNDUklQVElPTl9QTEFZTElTVF9FTlRSWV9TVEFSVF9PRkZTRVQsMyw0LDMwMDAsNDcsV01TX0NPTlRFTlRfREVTQ1JJUFRJT05fUExBWUxJU1RfRU5UUllfRFVSQVRJT04sMyw1LDIxODMzLDU4LFdNU19DT05URU5UX0RFU0NSSVBUSU9OX0NPUElFRF9NRVRBREFUQV9GUk9NX1BMQVlMSVNUX0ZJTEUsMywxLDEsNDIsV01TX0NPTlRFTlRfREVTQ1JJUFRJT05fUExBWUxJU1RfRU5UUllfVVJMLDMxLDExLHN1bm5ldDMud212DQo= VersionETag=836560 ENTRY_END
關鍵點在於 OriginStream=demosite/pinball3.wmv 這一行
由於客戶端的 LAN 全都有 JoinDomain,但在 DMZ Media 這一台沒有 JoinDomain,所以「demosite」是無法解析的,也就無法抓到正確的 media 檔案
奇怪的是小弟在 快取區代理伺服器內設定「反向代理伺服器」中的內容伺服器設定都是帶 IP ,根本不會設定到 demosite 這個 ServerName
測試了幾台才知道 Media Proxy Cache 會自動將 ServerName 帶入作為路徑,這算是陷阱吧!! 我明明就是設定 IP
最後直接在 hosts 加入 demosite 解析就正常了
不過 Windows Media Service 於 2012 R2 就淘汰了,就當作經驗談囉!