功能特色
1. 透過Apple TV來播放Mac中各種格式的影片。
2. 不用破解、修改Apple TV任何設定。
3. Mac在睡眠狀態時,可自動喚醒建立連線。
4. 徹底取代一般NAS。
雖然iTunes提供家庭共享的功能,
若不在同一台Router底下,
跨越多台HUB時,
家庭共享的速度會異常緩慢。
幾乎無法使用。
支援的影片格式,
也屈指可數。
目前網路上大部分的解決方案,
都只能達到第一項功能,
少部分能達到第二項功能。
關於第三項功能,
沒有看到完美的解決方案。
小弟花了一些時間,
終於找到方法,
分享給各位參考。
硬體需求
1. Mac mini Late 2012, OSX Yosemite 10.10.1
其餘機型搭配此版作業系統應可適用。
IP: 192.168.1.9
2. Apple TV 3rd Generation, iOS 7.0.2
舊款機型可適用。
IP: 192.168.1.35
3. Router: ASUS RT-N16, Tomato v1.28 by shibby
一般Router也可適用,
若搭配Tomato韌體,
可不用修改Apple TV任何設定。
IP: 192.168.1.1
軟體需求
1. Plex Media Server 0.9.11.4
提供即時轉碼的功能,
在iOS、Android手機平板,
或Samsung、LG等電視上直接播放,
儲存在Mac中各種格式的影片。
https://plex.tv/
2. PlexConnect 0.4
串連Plex Media Server與Apple TV,
在Apple TV上直接播放,
儲存在Mac中的影片。
https://github.com/iBaa/PlexConnect
3. SleepWatcher 2.2
可在Mac睡眠前,
或喚醒後執行指令。
http://www.bernhard-baehr.de/
影片需求
1. 高畫質電影 (1080P) 可使用XMedia Recode,
製作符合Apple TV格式的影片,
才能讓Plex直接播放 (Direct Play),
減少即時轉碼 (Direct Stream、Transcoding) 的需求。
http://apingxh.blogspot.tw/2013/09/how-to-convert-mkv-to-m4v-for-playing.html
https://support.plex.tv/hc/en-us/sections/200076783-Direct-Play-Direct-Stream-Transcoding
例如:
封裝格式: M4V
影像: H264
音軌1: AAC
音軌2: Dolby AC3 5.1
內嵌字幕1 (tx3g): 中文
內嵌字幕2 (tx3g): 英文
外掛字幕1 (srt): 中文
外掛字幕2 (srt): 英文
2. 可將M4V影片匯入iTunes,
來編輯封面、影片、分類等資訊,
或是在Plex中編輯。
3. 其餘一般影片可保持MP4、
WMV、MKV、AVI、RM等格式。
安裝步驟
1. 安裝Plex Media Server。
https://plex.tv/downloads
2. 連線至http://127.0.0.1:32400/web/
在Settings > Server > Transcoder (Show advanced) 修改:
Enable Dolby Digital on Apple TV
(解說: 若M4V中包含AC3音軌,不用重新轉碼)
Transcoder quality: Prefer higher speed
Transcoder default throttle buffer: 10
(解說: 減少轉碼等待時間)
3. 新增影片至Plex資料庫。
4. 安裝PlexConnect。
https://github.com/iBaa/PlexConnect/wiki/Install-Guide-Mac
5. 修改PlexConnect設定。
編輯~/Applications/PlexConnect-master/Settings.cfg,
enable_plexgdm = False
(解說: 關閉Plex GDM自動搜尋設備,減少網路封包)
ip_pms = 192.168.1.9
(解說: 執行Plex Media Server的IP位址)
6. 以Daemon方式執行PlexConnect,
確保Mac開機時會自動執行。
https://github.com/iBaa/PlexConnect/wiki/Install-Guide-Mac#optional-run-PlexConnect-as-launchctl-daemon
7. 下載plist。
https://github.com/wahlmanj/PlexConnect/blob/master/update/OSX/com.plexconnect.wake_dns.plist
https://github.com/wahlmanj/PlexConnect/blob/master/update/OSX/com.plexconnect.wake_web.plist
8. 將所有plist移到/Library/LaunchAgents,
確保Mac開機時會自動執行。
9. 安裝SleepWatcher。
參閱以下連結快速安裝,
可在終端機執行:
sh sleepwatcher.sh
http://tyhoffman.com/blog/2013/09/sleepwatcher-power-event-driven-automation/
10. 在/etc/rc.wakeup新增,
dns-sd -R "PlexConnect_DNS" _domain._udp. . 53 pdl=application/dnsserver
dns-sd -R "PlexConnect_Web" _http._tcp. . 80 pdl=application/webserver
解說:
Mac可在Bonjour服務列表中,
宣告 (Advertise) 可提供的網路服務。
當Mac在睡眠狀態時,
只要有符合宣告的服務要求時,
例如DNS (Port: 53),
Mac會被自動喚醒。
http://support.apple.com/zh-tw/ht3774
雖然可透過dns-sd來宣告可用的網路服務,
但僅限一次有效;
換句話說,
當Mac睡眠後再度喚醒時,
在Bonjour服務列表中,
已經沒有此項服務,
也就無法被喚醒。
可用Bonjour Browser來檢查。
http://www.tildesoft.com/
因此,可搭配SleepWatcher,
每次Mac被喚醒後,
重新宣告可用的網路服務。
執行syslog | grep "Wake reason"
來了解喚醒的事件為何。
11. 不用USB來安裝憑證至Apple TV。
https://miapple.me/PlexConnect-installling-certificates-on-apple-tv-without-usb/
12. 修改Apple TV的DNS為192.168.1.9,
攔截電影預告 (Trailers) 的IP位置,
直接連線至Mac。
13. 所有設備重新開機後,
選擇Apple TV中的電影預告,
即可觀看Mac中的影片。
縱使Mac在睡眠狀態,
也可以自動喚醒。
=============以下為進階用法=============
若不修改Apple TV任何設定,
並要任意指定PlexConnect預設Port,
可搭配Tomato韌體的Router,
進行以下步驟。
14. 編輯~/Applications/PlexConnect-master/Settings.cfg,
enable_dnsserver = False
(解說: 關閉PlexConnect的DNS服務)
port_webserver = 8080
port_ssl = 8081
(解說: 修改PlexConnect預設Port: 80 (http)、443 (http SSL))
15. 在Tomato router > Advanced >DHCP/DNS > Dnsmasq新增:
address=/trailers.apple.com/192.168.1.1
(解說: 攔截電影預告的IP位置,連線到Router)
16. 在Tomato router > Administration > Scripts > Firewall新增:
iptables -t nat -A PREROUTING -p tcp -s 192.168.1.35 -d 192.168.1.1 --dport 80 -j DNAT --to-destination 192.168.1.9:8080
iptables -t nat -A PREROUTING -p tcp -s 192.168.1.35 -d 192.168.1.1 --dport 443 -j DNAT --to-destination 192.168.1.9:8081
(解說: Apple TV向Router請求http與http SSL網路服務時,
透過iptables轉至Mac的任意Port)
17. 編輯/Library/LaunchAgents/com.plexconnect.wake_web.plist,
將80改為8080並存檔。
18. 編輯/Library/LaunchAgents/com.plexconnect.wake_web.plist,
將8080改為8081。
將_http._tcp.改為_https._tcp
將PlexConnect_Web改為PlexConnect_Web_Secured
另存com.plexconnect.wake_web_secured.plist
(解說: Apple TV的電影預告使用https建立連線)
19. 編輯/etc/rc.wakeup只保留,
dns-sd -R "PlexConnect_Web" _http._tcp. . 8080 pdl=application/webserver
dns-sd -R "PlexConnect_Web_secured" _https._tcp. . 8081 pdl=application/webserver
20. 修改Apple TV的DNS為自動。
21. 所有設備重新開機後,
選擇Apple TV中的電影預告,
即可觀看Mac中的影片。
縱使Mac在睡眠狀態,
也可以自動喚醒。
同步刊登在此:
http://apingxh.blogspot.tw/2014/12/apple-tv-mac.html
This entry passed through the Full-Text RSS service - if this is your content and you're reading it on someone else's site, please read the FAQ at fivefilters.org/content-only/faq.php#publishers.