DLNA是數位生活網路聯盟的縮寫,英文全名為Digital Living Network Alliance。
目前普遍應用在智慧型手機與智慧型電視上,可以透過網路傳輸照片,音樂,影片,是家庭網路中的要角,
可是在找尋軟體的過程中遇到不少問題,windows上很容易就能找到相關的伺服器軟體,這個網頁中就列了六種伺服器軟體:
http://www.makeuseof.com/tag/6-upnpdlna-servers-streaming-media-devices-crossplatform/
我自己在windows 8.1下試用了 Serviio 這一套軟體,相當方便簡潔,free版本即可提供相當不錯的使用。
雖然這個軟體也有支援linux,但是並不包含在各軟體源中,需要自己手動安裝,並裝上相關的java ffmpeg....等軟體,實在太麻煩。
上網搜尋很久,找到一些適合Centos上的軟體,例如ushare,可是這個軟體停留在2008之後就沒有再更新,
Centos只有 5.x版本的軟體源中有支援,到了Centos 6之後各軟體源即不再支援此軟體。
後來在這位老兄的blog找到他自己編譯的 minidlna 的rpm安裝檔,是適合Centos 6的x86_64架構。
blog網址:
先下載 minidlna-1.1.0-2.el6.x86_64.rpm
安裝:
rpm -ivh minidlna-1.1.0-2.el6.x86_64.rpm
Centos最小安裝時一些多媒體相關軟體並沒有裝上,請一起安裝:
yum install {flac,libogg,libid3tag,libexif,sqlite,ffmpeg,libvorbis,libjpeg} gcc
相關程式安裝好之後可以編輯mindlna的設定檔,編輯/etc/minidlna.conf
friendly_name=My DLNA Server
network_interface=eth0
#media_dir=/opt
media_dir=A,/d/music
media_dir=P,/d/photo
media_dir=V,/d/video
friendly_name是設定DLNA server的名稱,顯示在別的client上的主機名稱,可以改成你喜歡的名字,例如Home DLNA Server或其他。
network_interface是你的網路裝置,預設是eth0,如果是無線網路界面可以用wlan0。
media_dir是你要分享的媒體目錄:
A參數是audio,只分享audio,音樂,音頻的目錄。
P參數是photo,只分享相片與圖片的目錄。
V參數是video,只分享video與影片,視頻的目錄。
經過實驗之後,最簡單的分享方式是使用同一個目錄分享:
media_dir=/home/media
然後我將三種資料以檔案夾的方式放入,例如 /home/media/pictures 此目錄放照片,/home/media/music放歌曲,/home/media/MV 放影片, minidlna會自動分辨,
使用DLNA client讀取時會顯示相關的目錄,瀏覽music時瀏覽floders只會出現music目錄夾裡的檔案,可以一層一層讀取沒有問題。
所以最後我的minidlna.conf的內容如下:
friendly_name=Home DLNA Server
network_interface=eth0
media_dir=/home/media
其他設定保持預設內容即可。
設定完之後即可啟動minidlna服務,執行以下指令:
service minidlna start
可以使用具有DLNA功能的電視或是手機平板進行測試,開啟DLNA功能的手機,以我的LG手機為例:
Nexus 7 平板使用bubbleUPnP app看到的畫面:
點選Home DLNA Server之後能進入且開啟相關檔案的話,minDLNA的設定就大功告成了。
而Sony 的 smart TV也可以正確找到 Home DLNA Server,並能順利開啟與播放。
因 minidlna 不被setup工具認識,所以要設定開機時自動載入服務的話執行以下指令:
chkconfig --add minidlna
網路資料上有些舊的安裝說明文件會說新增多媒體檔案後要重新啟動minidlna,可是經過測試,現在的版本預設會自動更新多媒體檔案,新增檔案之後不必再重新啟動,minidlna會自動更新。
後記:
一開始在找DLNA sever時比較沒有概念,找了許多資料也還是很模糊,最後發現minidlna是比較多人推薦的,
優點是輕巧好安裝與好設定,簡單的文字界面即可,缺點是不如其他server有提供web管理畫面,不過優點與缺點總是同時存在的,
許多人測試比較過mediatomb等之後還是選擇了簡單好維護的minidlna,而一些原本被推薦的軟體如 ushare 則早在2008即停止維護了,
雖然minidlna已經出到1.1.3版(2014.06),但還沒找到有人包好for centos 6的rpm檔案,自行compile又出現一些問題,暫時先放棄,
目前使用的版本並未感覺在速度上或是軟體穩定度上有瑕疵,等以後有機會再來看看怎麼升級。
參考資料
Tim Jackson vlog
MiniDLNA官方網站
http://minidlna.sourceforge.net/
wiki上各種UPNP server的比較圖表:
http://en.wikipedia.org/wiki/Comparison_of_UPnP_AV_media_servers
2014.06.27 Update:
如果遇到資料庫內容毀損或錯誤,導致用戶端讀取的內容怪怪的,可以執行以下指令重新更新資料庫內容:
service minidlna force-reload