Asustor NASでVNCサーバーを走らせる

手軽に使えるHDMIディスプレーの手持ちがないので古いVGA CRTディスプレーを変換アダプタを介して使用

手軽に使えるHDMIディスプレーの手持ちがないので古いVGA CRTディスプレーを変換アダプタを介して使用

このほど購入したAsustor社製NAS AS3102TでVNCサーバーを走らせた。理由は階が違うなど離れた部屋からもどういう画面表示がされているのか見られると便利だから。特にKodiは設定はNASに直結されたディスプレーが見えてないとできないので、VNCサーバーを利用するなどしない限り、ディスプレーの前にいないと設定ができない。

x11vnc: a VNC server for real X displaysが利用できそうだと気がついた。参考:

X11vnc – Portal to control ASUSTOR distance- (thanks to Father-Mande) – NAS Forum“に既にインストール済みのEntware-ngの作者によるアプリがあるが、すぐあとで見るようにVNCサーバーを走らせるものに必要なものは最初からADMに含まれている。なので自力で走らせようとしたのだが、結果論としては使えるようにするまでが手間で、もしそれをやってくれるのならこちらの方が楽だったかも。

まず探してみる:

root@AS3102T-693D:/ # find . -name "*vnc*"                                               
./volume1/.@plugins/AppCentral/xorg/usr/bin/x11vnc                                       
./volume1/.@plugins/AppCentral/xorg/usr/share/applications/x11vnc.desktop                
./volume1/.@plugins/AppCentral/xorg/usr/share/x11vnc                                     
./volume1/.@plugins/AppCentral/xorg/usr/share/x11vnc/classes/index.vnc                   
./volume1/.@plugins/AppCentral/xorg/usr/share/x11vnc/classes/ssl/proxy.vnc               
./volume1/.@plugins/AppCentral/xorg/usr/share/x11vnc/classes/ssl/ultra.vnc               
./volume1/.@plugins/AppCentral/xorg/usr/share/x11vnc/classes/ssl/index.vnc               
./volume1/.@plugins/AppCentral/xorg/usr/share/x11vnc/classes/ssl/ss_vncviewer            
./volume1/.@plugins/AppCentral/xorg/usr/share/x11vnc/classes/ssl/ultrasigned.vnc

あれ、どうやらXサーバーアプリの一部としてインストールされているようだ。走るかな?

root@AS3102T-693D:/ # ./volume1/.@plugins/AppCentral/xorg/usr/bin/x11vnc                 
./volume1/.@plugins/AppCentral/xorg/usr/bin/x11vnc: error while loading shared libraries:
 libXtst.so.6: cannot open shared object file: No such file or directory                 
root@AS3102T-693D:/ # find . -name "*libXtst*"                                           
./volume1/.@plugins/AppCentral/xorg/usr/lib/libXtst.so.6.1.0                             
./volume1/.@plugins/AppCentral/xorg/usr/lib/libXtst.so                                   
./volume1/.@plugins/AppCentral/xorg/usr/lib/libXtst.so.6

必要なライブラリは用意されてるのだがパスが通ってないため起動しない模様。なら通してやれば起動するかも、と思いながら試してみるとできた。

というわけで最低限以下で起動できることを確認。

LD_LIBRARY_PATH=/volume1/.@plugins/AppCentral/xorg/usr/lib/:$LD_LIBRARY_PATH /volume1/.@plugins/AppCentral/xorg/usr/bin/x11vnc -display :0 -usepw -forever -ncache 10
Windows PC上で走らせたTightVNC Viewerからアクセスした、Kodiを実行中のAS3102Tの画面

Windows PC上で走らせたTightVNC Viewerからアクセスした、Kodiを実行中のAS3102Tの画面

オプションはもっといろいろつけないといけないのだが、とりあえず以下だけ。

  • -usepwオプションをつけると初回にパスワードを設定することを求めてくる。これはUnixパスワードとは別物であることに注意。それ以降は起動するごとにこの作成されたパスワードによる認証が行われる。
  • -foreverオプションをつけないと、一回クライアントが接続した後終了すると、VNCサーバーも終了してしまう。

Lubuntu上でRemmia Remote Desktop Clientを使って接続してみたときの出力が以下。ポートはデフォルトでは5900。

クライアントとしてWebアプリのnoVNC: VNC client using HTML5 (Web Sockets, Canvas) with encryption (wss://) support.も試してみたが、サーバー側がWebSocketsに対応していないようでうまくいかなかった。サーバー側で、noVNCのディストリビューションの一部として提供されているPythonによるプロクシを使えばこの問題は解消するようだが、面倒なのでやってない。

ここで止めればよかったのだが、NAS本体起動時にVNCサーバーが自動起動するようにしようとして手間がかかった。それについては後日

root@AS3102T-693D:/ # LD_LIBRARY_PATH=/volume1/.@plugins/AppCentral/xorg/
usr/lib/:$LD_LIBRARY_PATH /volume1/.@plugins/AppCentral/xorg/usr/bin/x11vnc -display :0 -
usepw -forever -ncache 10                                                                
28/10/2016 20:50:13 -usepw: found /root/.vnc/passwd                                      
28/10/2016 20:50:13 x11vnc version: 0.9.13 lastmod: 2011-08-10  pid: 21908               
28/10/2016 20:50:13 Using X display :0                                                   
28/10/2016 20:50:13 rootwin: 0xf2 reswin: 0x1200001 dpy: 0x1ac5270                       
28/10/2016 20:50:13                                                                      
28/10/2016 20:50:13 ------------------ USEFUL INFORMATION ------------------             
28/10/2016 20:50:13 X DAMAGE available on display, using it for polling hints.           
28/10/2016 20:50:13   To disable this behavior use: '-noxdamage'                         
28/10/2016 20:50:13                                                                      
28/10/2016 20:50:13   Most compositing window managers like 'compiz' or 'beryl'          
28/10/2016 20:50:13   cause X DAMAGE to fail, and so you may not see any screen          
28/10/2016 20:50:13   updates via VNC.  Either disable 'compiz' (recommended) or         
28/10/2016 20:50:13   supply the x11vnc '-noxdamage' command line option.                
28/10/2016 20:50:13                                                                      
28/10/2016 20:50:13 Wireframing: -wireframe mode is in effect for window moves.          
28/10/2016 20:50:13   If this yields undesired behavior (poor response, painting         
28/10/2016 20:50:13   errors, etc) it may be disabled:                                   
28/10/2016 20:50:13    - use '-nowf' to disable wireframing completely.                  
28/10/2016 20:50:13    - use '-nowcr' to disable the Copy Rectangle after the            
28/10/2016 20:50:13      moved window is released in the new position.                   
28/10/2016 20:50:13   Also see the -help entry for tuning parameters.                    
28/10/2016 20:50:13   You can press 3 Alt_L's (Left "Alt" key) in a row to               
28/10/2016 20:50:13   repaint the screen, also see the -fixscreen option for             
28/10/2016 20:50:13   periodic repaints.                                                 
28/10/2016 20:50:13                                                                      
28/10/2016 20:50:13 XFIXES available on display, resetting cursor mode                   
28/10/2016 20:50:13   to: '-cursor most'.                                                
28/10/2016 20:50:13   to disable this behavior use: '-cursor arrow'                      
28/10/2016 20:50:13   or '-noxfixes'.                                                    
28/10/2016 20:50:13 using XFIXES for cursor drawing.                                     
28/10/2016 20:50:13 GrabServer control via XTEST.                                        
28/10/2016 20:50:13                                                                      
28/10/2016 20:50:13 Scroll Detection: -scrollcopyrect mode is in effect to               
28/10/2016 20:50:13   use RECORD extension to try to detect scrolling windows            
28/10/2016 20:50:13   (induced by either user keystroke or mouse input).                 
28/10/2016 20:50:13   If this yields undesired behavior (poor response, painting         
28/10/2016 20:50:13   errors, etc) it may be disabled via: '-noscr'                      
28/10/2016 20:50:13   Also see the -help entry for tuning parameters.                    
28/10/2016 20:50:13   You can press 3 Alt_L's (Left "Alt" key) in a row to               
28/10/2016 20:50:13   repaint the screen, also see the -fixscreen option for             
28/10/2016 20:50:13   periodic repaints.                                                 
28/10/2016 20:50:13                                                                      
28/10/2016 20:50:13 Client Side Caching: -ncache mode is in effect to provide            
28/10/2016 20:50:13   client-side pixel data caching.  This speeds up                    
28/10/2016 20:50:13   iconifying/deiconifying windows, moving and raising                
28/10/2016 20:50:13   windows, and reposting menus.  In the simple CopyRect              
28/10/2016 20:50:13   encoding scheme used (no compression) a huge amount                
28/10/2016 20:50:13   of extra memory (20-100MB) is used on both the server and          
28/10/2016 20:50:13   client sides.  This mode works with any VNC viewer.                
28/10/2016 20:50:13   However, in most you can actually see the cached pixel             
28/10/2016 20:50:13   data by scrolling down, so you need to re-adjust its size.         
28/10/2016 20:50:13   See http://www.karlrunge.com/x11vnc/faq.html#faq-client-caching.   
28/10/2016 20:50:13   If this mode yields undesired behavior (poor response,             
28/10/2016 20:50:13   painting errors, etc) it may be disabled via: '-ncache 0'          
28/10/2016 20:50:13   You can press 3 Alt_L's (Left "Alt" key) in a row to               
28/10/2016 20:50:13   repaint the screen, also see the -fixscreen option for             
28/10/2016 20:50:13   periodic repaints.                                                 
28/10/2016 20:50:13                                                                      
28/10/2016 20:50:13 XKEYBOARD: number of keysyms per keycode 7 is greater                
28/10/2016 20:50:13   than 4 and 51 keysyms are mapped above 4.                          
28/10/2016 20:50:13   Automatically switching to -xkb mode.                              
28/10/2016 20:50:13   If this makes the key mapping worse you can                        
28/10/2016 20:50:13   disable it with the "-noxkb" option.                               
28/10/2016 20:50:13   Also, remember "-remap DEAD" for accenting characters.             
28/10/2016 20:50:13                                                                      
28/10/2016 20:50:13 X FBPM extension not supported.                                      
28/10/2016 20:50:13 X display is capable of DPMS.                                        
28/10/2016 20:50:13 --------------------------------------------------------             
28/10/2016 20:50:13                                                                      
28/10/2016 20:50:13 Default visual ID: 0x21                                              
28/10/2016 20:50:13 Read initial data from X display into framebuffer.                   
28/10/2016 20:50:13 initialize_screen: fb_depth/fb_bpp/fb_Bpl 24/32/7680                 
28/10/2016 20:50:13                                                                      
28/10/2016 20:50:13 X display :0 is 32bpp depth=24 true color                            
28/10/2016 20:50:13                                                                      
28/10/2016 20:50:13 Autoprobing TCP port                                                 
28/10/2016 20:50:13 Autoprobing selected port 5900                                       
28/10/2016 20:50:13 Listening also on IPv6 port 5900 (socket 10)                         
28/10/2016 20:50:13                                                                      
28/10/2016 20:50:13 Xinerama is present and active (e.g. multi-head).                    
28/10/2016 20:50:13 Xinerama: number of sub-screens: 1                                   
28/10/2016 20:50:13 Xinerama: no blackouts needed (only one sub-screen)                  
28/10/2016 20:50:13                                                                      
28/10/2016 20:50:13 fb read rate: 358 MB/sec                                             
28/10/2016 20:50:13 fast read: reset -wait  ms to: 10                                    
28/10/2016 20:50:13 fast read: reset -defer ms to: 10                                    
28/10/2016 20:50:13 The X server says there are 11 mouse buttons.                        
28/10/2016 20:50:13 screen setup finished.                                               
28/10/2016 20:50:13                                                                      
                                                                                         
The VNC desktop is:      AS3102T-693D:0                                                  
PORT=5900                                                                                
28/10/2016 20:50:17 Got connection from client 192.168.11.61                             
28/10/2016 20:50:17   other clients:                                                     
28/10/2016 20:50:17 Disabled X server key autorepeat.                                    
28/10/2016 20:50:17   to force back on run: 'xset r on' (3 times)                        
28/10/2016 20:50:17 incr accepted_client=1 for 192.168.11.61:51515  sock=11              
28/10/2016 20:50:17 Client Protocol Version 3.8                                          
28/10/2016 20:50:17 Protocol version sent 3.8, using 3.8                                 
28/10/2016 20:50:17 rfbProcessClientSecurityType: executing handler for type 2           
28/10/2016 20:50:17 Pixel format for client 192.168.11.61:                               
28/10/2016 20:50:17   8 bpp, depth 8                                                     
28/10/2016 20:50:17   true colour: max r 7 g 7 b 3, shift r 0 g 3 b 6                    
28/10/2016 20:50:17 Enabling X-style cursor updates for client 192.168.11.61             
28/10/2016 20:50:17 Enabling full-color cursor updates for client 192.168.11.61          
28/10/2016 20:50:17 Enabling cursor position updates for client 192.168.11.61            
28/10/2016 20:50:17 Enabling KeyboardLedState protocol extension for client 192.168.11.61
28/10/2016 20:50:17 Enabling NewFBSize protocol extension for client 192.168.11.61       
28/10/2016 20:50:17 Enabling SupportedMessages protocol extension for client 192.168.11.6
1                                                                                        
28/10/2016 20:50:17 Enabling SupportedEncodings protocol extension for client 192.168.11.
61                                                                                       
28/10/2016 20:50:17 Enabling ServerIdentity protocol extension for client 192.168.11.61  
28/10/2016 20:50:17 Enabling Xvp protocol extension for client 192.168.11.61             
28/10/2016 20:50:17 Using hextile encoding for client 192.168.11.61                      
28/10/2016 20:50:18 client 1 network rate 210.3 KB/sec (35706.4 eff KB/sec)              
28/10/2016 20:50:18 client 1 latency:  33.1 ms                                           
28/10/2016 20:50:18 dt1: 0.4561, dt2: 0.2574 dt3: 0.0331 bytes: 146565                   
28/10/2016 20:50:18 link_rate: LR_UNKNOWN - 33 ms, 210 KB/s                              
28/10/2016 20:50:18 client useCopyRect: 192.168.11.61 -1                                 
28/10/2016 20:50:18 client_set_net: 192.168.11.61  0.0530                                
28/10/2016 20:50:18 created   xdamage object: 0x1200040                                  
28/10/2016 20:50:18 copy_tiles: allocating first_line at size 61                         
28/10/2016 20:50:21 set_ncache_xrootpmap: trying root background                         
28/10/2016 20:50:21 snapshotting background...                                           
28/10/2016 20:50:21 done.                                                                
28/10/2016 20:50:21 cursor_noshape_updates_clients: 0                                    
28/10/2016 20:50:27 created selwin: 0x1200043                                            
28/10/2016 20:50:27 called initialize_xfixes()                                           
28/10/2016 20:50:27 cursor_noshape_updates_clients: 0                                    
28/10/2016 20:50:28 client_count: 0                                                      
28/10/2016 20:50:28 Restored X server key autorepeat to: 1                               
28/10/2016 20:50:28 Client 192.168.11.61 gone                                            
28/10/2016 20:50:28 Statistics             events    Transmit/ RawEquiv ( saved)         
28/10/2016 20:50:28  XvpServerMessage    :      1 |         4/        4 (  0.0%)         
28/10/2016 20:50:28  FramebufferUpdate   :     31 |         0/        0 (  0.0%)         
28/10/2016 20:50:28  hextile             :     86 |    294604/ 28368425 ( 99.0%)         
28/10/2016 20:50:28  ServerIdentify      :      1 |        36/       36 (  0.0%)         
28/10/2016 20:50:28  SupportedEncoding   :      1 |        92/       92 (  0.0%)         
28/10/2016 20:50:28  SupportedMessage    :      1 |        76/       76 (  0.0%)         
28/10/2016 20:50:28  PointerPos          :      1 |        12/       12 (  0.0%)         
28/10/2016 20:50:28  RichCursor          :      2 |       498/      498 (  0.0%)         
28/10/2016 20:50:28  TOTALS              :    124 |    295322/ 28369143 ( 99.0%)         
28/10/2016 20:50:28 Statistics             events    Received/ RawEquiv ( saved)         
28/10/2016 20:50:28  PointerEvent        :    104 |       624/      624 (  0.0%)         
28/10/2016 20:50:28  FramebufferUpdate   :     32 |       320/      320 (  0.0%)         
28/10/2016 20:50:28  SetEncodings        :      1 |        52/       52 (  0.0%)         
28/10/2016 20:50:28  SetPixelFormat      :      1 |        20/       20 (  0.0%)         
28/10/2016 20:50:28  TOTALS              :    138 |      1016/     1016 (  0.0%)         
28/10/2016 20:50:28 deleted 60 tile_row polling images.                                  
28/10/2016 20:50:28 Default visual ID: 0x21                                              
28/10/2016 20:50:29 Read initial data from X display into framebuffer.                   
28/10/2016 20:50:29 initialize_screen: fb_depth/fb_bpp/fb_Bpl 24/32/7680                 
28/10/2016 20:50:29 rfbNewFramebuffer(0x1b0eeb0, 0x0, 1920, 12960, 8, 1, 4)              
28/10/2016 20:50:29                                                                      
28/10/2016 20:50:29 X display :0 is 32bpp depth=24 true color                            
28/10/2016 20:50:29                                                                      
28/10/2016 20:50:29 calling setTranslateFunction()...                                    
28/10/2016 20:50:29   done.                                                              
28/10/2016 20:50:29                                                                      
28/10/2016 20:50:29 Xinerama is present and active (e.g. multi-head).                    
28/10/2016 20:50:29 Xinerama: number of sub-screens: 1                                   
28/10/2016 20:50:29 Xinerama: no blackouts needed (only one sub-screen)                  
28/10/2016 20:50:29                                                                      
28/10/2016 20:50:29 check_ncache: resetting cache: 11/512 10 0                           
28/10/2016 20:50:29 set_ncache_xrootpmap: trying root background                         
28/10/2016 20:50:29 snapshotting background...                                           
28/10/2016 20:50:29 done.                                                                
28/10/2016 20:50:29 destroyed xdamage object: 0x1200040                                  

NASで使うHDDの選定

Asustor NAS AS3102Tとそれに内蔵するHDD HGST Deskstar NAS  0S03667それぞれのパッケージ

Asustor NAS AS3102Tとそれに内蔵するHDD HGST Deskstar NAS 0S03667それぞれのパッケージ

Asustor社製NAS AS3102Tを購入した。が、その内蔵するHDDは別途用意しなくてはならない。最近使ってきたHDDの低い信頼性がそもそもNAS入手を決意した根本理由であり、そのNASでは冗長性のあるRAID 1を構築するつもりとはいえ、金銭的に無理のない範囲で極力信頼性の高いものを選びたい。

で、以下を見た。

最初のは所詮個人的感想の域を出ないと思うが、後の2つはBackBlazeというオンラインストレージサービスが業務で使用した万台単位のHDDの故障発生についてのデータなので、これは客観的資料として大いに価値がある。

最近Western DigitalのRedシリーズがNAS用であることを盛んに謳っており、この資料を見なければ自分もそれを盲目的に選んだと思うが、上のデータを見るとHGSTのものがよいような感じ。

ASUSTOR Inc. – Network Attached Storage (NAS)“を見てAsustorご推奨であることを確認した上でHGST 0S03667 [4TB SATA600 7200rpm]を2台注文。

ただし、”RAIDを同一ロットのHDDで組むのは禁じ手 | #interest_ae“を参考にして、わざわざ1台ずつ別の業者から購入。具体的にはイートレンドとTsukumo。届いたのを見ると製造年月日が一月ずれていた。

ふ~。

NASの選定

NASを入手することにした。以下のような不安定な事態はもう金輪際おさらばしたい。

バッファローのルーターWZR-HP-AG300Hに接続し、「簡易NAS」として利用しているUSB HDD(2010年に米国を去る前に購入したWestern Digitalのもの)から「カコーン、カコーン」という実にイヤ~な異音がしている。また、うちにはデスクトップPCが2台あり、1台はマウス製の自分用で、もう1台はLenovo製でもともと父用に用意したもの。どちらも、既に一度内蔵HDDが吹っ飛んでる。保証期間中だったので無償で交換してもらったが、再度使いやすい環境にするのに手間も時間かかった。しかも、最近特に自分用PCから、HDDの異音とおぼわしき音がしている。さらに1年ほど前に外付けUSB HDDがあったが、これも飛んでしまって、いまだにちゃんと復旧作業をしていない。

アメリカにいるときにはこのようなことはなかった。Dell製のPCを2台使ったが、それらで使ったHDDは異音を出すことはあっても結局最後まで完全に潰れることはなかった。どうも日本で購入したPCは信頼性の低いいHDDを使っているような気がしてならない。安いことを優先して選択した自分が悪いっちゃぁ悪いんだが…。

さて、NASにはストレージ機能について不足ないことは当然としてその他の要件は以下がある:

  • Dockerに代表されるコンテナ機能がサポートされていること。仮想化機能もサポートされていて、例えばそれでWindowsも仮想的に起動できればそれに越したことはないが、必須要件ではない。コンテナが普通に使えるにはやはりメモリは最低1GBは必要だろう。2GB以上が激しく理想的だが。仮想化機能も機能させるのなら4GBは必要だろう。
  • DockerコンテナイメージはIntel系CPUを前提にしているものが多いようなので、極力手間を避けるというぐうたらな観点からは、可能ならARM系CPUのものは避け、Intel系CPUを採用しているものがよい。

NASには全く疎いので以下で概況を知る。

人気・売上げランキングを見ると、DTCP-IPに対応したものが上位に入るのが日本の特殊事情。少し意外に思ったのがセキュリティービデオ監視機能をプッシュしている製品が多いこと。

QNAP TS-231+

QNAP TS-231+

低価格帯だと2万円強のQNAP TS-231+価格.comで最低価格¥23,490)か。ARMデュアルコアCPUでメモリ1GB。Dockerサポート。この価格帯でメモリ1GBのは他に見当たらない。DTCP-IPは全くサポートしない。使用できるアプリAmazon.co.jpでQNAP(キューナップ) TurboNAS デュアルコア1.4GHzCPU 1GBメモリ 2ベイ 2年保証 DTCP-IP対応NAS TS-231+は24,645円。こちらはDTCP-IP対応であると謳っているが本当だろうか。BubbleUPnP Serverをインストールする方法テクニカルサポート

ネットギア(Netgear)社ReadyNAS 212 2ベイ ユニファイド ネットワークストレージ(ベアボーンタイプ)RN21200 (定価100,000 円)実勢価格は34,000円程度。CPU: ARM Cortex A15 クアッドコア 1.4GHz プロセッサー、メモリ: 2GB。なんでこれを候補として検討したか忘れてしまった…。

NASの範疇を超えた機能を持つものも多く、HDMI出力機能を持つものもある。”【清水理史の「イニシャルB」】 NASでも追求された“ASUSらしさ” 2万円台で買えるHDMI付きAtom搭載NAS ASUSTOR「AS202TE」 – INTERNET Watch Watch“を読み、価格も3万円を切るというAS202TEに興味を持ったが、もう販売されてない。

 Asustor AS3102T

Asustor AS3102T

同じAsustor製品で同路線で後継機とみなせるのがAS3102T価格.comでの最安値は3万円弱Amazon | ASUSTOR NAS 2-Bay Intel Celeron Dual-Core 2GB DDR3L GbE x1 USB 3.0 x 3 3年保証 AS3102T 3万円強。CPU: Intel Celeron 1.6GHz Dual-Core (burst up to 2.08~2.48GHz) Processor, メモリ: 2GB DDR3L (拡張できません)が大きなポイント。「ハードウェアアクセラレーションエンジン対応フォーマット:H.264(AVC)、 H.265 (HEVC)、 MPEG-4 Part2、MPEG-2、VC-1」もいいっちゃぁいいが利用することがあるか。Remote Control $35Docker(ただしベータ版)Virtual Boxサポート DTCP+ムーブについてのライセンスは無料でバンドル。ただし、DTCP-IPで著作権保護されたコンテンツを自力で再生する機能はない。片手落ちに感じられる。クアッドコアCPUに増強したAS3202T – ASUSTOR NASもあるが価格.com 4万円近くに跳ね上がる。参照:”Asustor AS3102T 2-bay NAS Review | techPowerUp“。

前提として、もしビデオ出力機能を使うとしたら今後購入予定のTVに接続して使う。この組み合わせでは主にDLNAのDMP、DMR機能を使うであろう(NASにはもともとDMS機能があるので)。具体的にはKodi(旧XMBC)、同じくXMBC派生のPlexなどが候補になるだろう。

さて、ここで今まで自分が認識してこなかったことだが、DLNAのDMP機能は最近のテレビにはもう組み込みになっているのが普通になっている(参考: “大型テレビ?” )。それの出来次第だが、KodiやPlexに及ばないとしても使える程度であるのなら、NASのビデオ出力機能は自分にはさほど重要ではなくなる。もちろん、DMSの機能としてメディアのトランスコーディングなどが高速にできるのならそれに越したことはないが、かといって必須かというとそうとはならないだろうと想像する。

自分はiOS派ではなくAndroid派なので、タブレットもスマホも皆Androidだ。AndroidアプリではGoogle Cast機能でGoogle Castレシーバにキャストできるアプリが増えた。問題はGoogle Castレシーバとしては、Chromecastと、Android TVを搭載したテレビしか現実にはない、ということだ。AirPlayレシーバーはアプリの形でも物理的機器としてもApple純正以外のものが多数存在するのとここは大きく違う。かつてはGoogle Castレシーバ・エミュレータが存在したようだが、その1つCast Receiver app for Androidの説明によると、Google Play Services 6.5でセキュリティーが厳しくなってそれらエミュレータは無用の長物とかしてしまったのだそうな。ただし、このアプリだけに限ればXposedモジュールでその制限を回避できる模様。

ビデオ出力の機能を持つNASが、今後Google Castレシーバとしての役目を果たせるようになる可能性は非常に薄い。Android TVを搭載したテレビを選択しなければ、Google Castを使用したければChromecastを購入するしかない。TVと別にChromecastを入手するのには余分費用が発生するが、Chromecastでれば、Android TVに比べて頻繁に、かつ長期に渡ってアップデートされるであろうと期待できる、という利点があるにはある。

…というふうに考えてきて、一旦は以下のように決めた。

  • TVにスマートTV機能(特にGoogle Castレシーバとして動作する)を与えるのは外付けChromecastで、
  • なのでTVにはスマートTV機能は一切求めない、
  • NASとしてはChromecastを通じてコンテンツを提供できるようになっていれればいいので、HDMI出力は不要。

QNAP TS-231+でこの条件は満たせるので、それを注文する寸前まで行っていながら、心変わりしてAsustor AS3102Tを代わりに注文してしまった…。デュアルコアCPUではなくクアッドコアCPUを搭載した上位機種AS3202Tは価格差が大きく諦めた。なぜ心変わりしたのかもうはっきり覚えていないが、Intel CPUと2GBメモリを取ったのだと思う。

時間が順序してしまったが、Asustor AS3102Tを入手してから以下の記事を既に書いている:

AST3102Tに内蔵するHDDの選択にも気を使った


以下雑多なメモ。

知られざるNASアプリの世界 2016年 記事一覧

「アニソンはハイレゾだとひと味違う?」 “ASUSのNAS”をオーディオプレイヤーにするイベント実施 – AKIBA PC Hotline!

【レビュー】Amazon「プライム・フォト」×Synology NASで最強の写真保存環境を構築する ~PC不要でNASとクラウドを自動同期。容量無制限、ランニングコスト不要 – PC Watch

仕事で使うNAS 第5回:NASで効率的なプロジェクト管理を実現する方法 (1/4) – ITmedia PC USER

“昔のPC”をNASに保存、さらにリモートでも使用可能に! – 窓の杜

7月29日を乗り越えろ:いつでもWindows 10に無償アップグレードできる環境を構築する――バックアップ編 (1/3) – ITmedia PC USER

特別企画:とある写真家の超本格派NAS「QNAP」実践編 – デジカメ Watch

Windows 10でNASの共有フォルダーにアクセスできない時の接続方法 | できるネット

BubbleUPnP Server

Universal Media Server