2013年2月27日 星期三

Raspberry Pi 應用之DLNA影音伺服器

上一篇我們既然已經完成了Windows檔案伺服器,接著下來當然要在Raspberry Pi上做個影音伺服器來應用一下。

一般而言,市面上的家庭多媒體網路儲存伺服器在影音分享部分絕大多採用DLNA的規範, 維基百科上這麼寫著:數位生活網路聯盟 (Digital Living Network Alliance ,DLNA) 是一個由消費性電子、行動電話,以及電腦廠商組成的聯盟組織。該組織的目標在於建立一套可以使得各廠商的產品互相連接,互相適應的工業標準,從而為消費者實現數位化生活。

DLNA技術是利用網路用UPnP機制進行影音的傳輸,規範中有幾個角色在家用網路設備中包括數位媒體伺服器(DMS)、數位媒體播放器(DMP)、數位媒體控制器(DMC)、數位媒體撥放器(DMR)及數位媒體印表機(DMPr)等。
而在行動手持裝置上同樣也有規範包括移動式數位媒體伺服器(M-DMS)、移動式數位媒體播放器(M-DMP)、移動式數位媒體上傳器(M-DMU)、移動式數位媒體下載器(M-DMD)及移動式數位媒體控制器(M-DMC)等詳見維基百科。

所以,本篇就來實作一下如何在 Raspberry Pi 上建置DLNA影音伺服器,另外在實作Android手機如何使用所做出來的DLNA影音伺服器。


實作環境:
Windows 8
Raspberry Pi rev 2 Model B 512MB
EDIMAX EW-7811Un無線網卡
SanDisk Ultra 16GB Class10 SD card (作業系統)
SanDisk Cruzer Fit USB 32GB隨身牒 (檔案分享)
Android平板或手機 (M-DMP)

同樣,本篇還是以實作為主基本功力要求是需要Linux (Ubuntu)入門實力;例如指令操作及文字編輯,礙於篇幅就不詳述基本功的部分了。

實作步驟:

安裝部分:
如果你是一開始要做的話,開始實作的步驟跟Raspberry Pi 應用之Windows檔案伺服器前面幾個步驟相同,請確認做到上一篇的步驟6掛載USB隨身碟。
確認掛載USB隨身碟以及網路有通無誤後,接下來我們就開始安裝軟體。

1. 執行下列指令在USB隨身碟上建立 Music、Pictures及Videos三個目錄。
mkdir /media/share/Music
mkdir /media/share/Pictures
mkdir /media/share/Videos

2. 透過網路芳鄰放一些音樂、圖片及影片到相關目錄中 (假設你已經完成上一篇的檔案伺服器功能)。

3. 接著安裝 MiniDLNA套件。
MiniDLNA是用來讓Raspberry Pi內的影音檔案可以支援DLNA / UPnP協定。
更新最新的套件資訊與套件軟體:
sudo apt-get update && sudo apt-get -y upgrade
執行:
sudo apt-get install minidlna

4. 安裝完成後,接著下來修改MiniDLNA設定:
sudo vi /etc/minidlna.conf
找到
media_dir=/var/lib/minidlna
將其更改成
media_dir=A,/media/share/Music
media_dir=P,/media/share/Pictures
media_dir=V,/media/share/Videos
這是設定音樂、照片及影片的目錄。

接著將
#db_dir=/var/lib/minidlna
前面的#符號取消掉,這是資料庫路徑;MiniDLNA使用sqllite資料庫來索相關檔案。

找到:
#listening_ip=
將其改成
listening_ip= [Raspberry Pi 的IP位址]

找到:
port=8200
確認為8200埠(預設值)

找到:
#friendly_name=
改成:
friendly_name= [在UPnP網路上的名稱]

其他部分保留預設不變,然後存檔離開編輯器。

5.執行下列指令設定MiniDLNA服務一開機時就自動啟動:
sudo update-rc.d minidlna defaults

6. 啟動MiniDLNA服務
sudo service minidlna restart

這裡在後面的restart參數部分可以使用start (啟動)、stop(停止)及restart(重新啟動)

7. 執行下列指令來更新MiniDLNA資料庫內容以符合目錄內檔案。
sudo service minidlna force-reload 

用戶端部分:

Windows測試
實作環境使用的是Windows 8 專業版,打開檔案總管後用滑鼠點選網路可以看到媒體裝置中有我們所命名的Raspberry Pi :

接著按滑鼠右鍵點選媒體裝置Raspberry Pi ,選擇檢視裝置網頁就會開啟瀏覽器並連線到http://Raspberry Pi 的IP位址:8200/ ,其內容包括了Audio、Video及Image檔案數量。

如果是按下滑鼠右鍵點選開啟媒體播放機,則會出現Media Player 然後選擇 Raspberry Pi  在選擇音樂(影片或圖片),然後選擇播放檔案進行撥放。



Android測試
這個部分使用的 MediaHouse UPnP / DLNA Browser 這套APP來測試,所以首先打開Android裝置的WiFi無線網路連接到與Raspberry Pi的IP同網路的網段,接著安裝APP。

安裝完成後開啟程式:











後記:
1.在新增或刪除影音圖檔案內容一定要執行 sudo service minidlna force-reload 指令來更新MiniDLNA資料庫內容,不然要不看不到新增加的內容、要不就是看到內容找不到相關檔案。
2.找不到相關檔案時除了上述資料庫問題外就是檔案系統權限問題,最簡單的方式就是將所有MiniDLNA相關的影音圖檔等的權限用 chmod 777 指令來更改。
3.Android UPnP部分,如果有興趣要寫程式的話是功能情況可以參考:
1. Cling -- 入門比較簡單,適合初學在Android上應用UPnP。上述的 MediaHouse UPnP / DLNA Browser 這套APP就是採用Cling(見下圖)。
2. CyberLink -- 比較專業,函式庫比較完整。

參考:
1.數位生活網路聯盟 Digital Living Network Alliance (DLNA) -- 維基百科
http://goo.gl/DZ1dQ
http://en.wikipedia.org/wiki/DLNA

2.MiniDLNA
http://sourceforge.net/projects/minidlna/

3.MediaHouse UPnP / DLNA Browser
http://goo.gl/ahH2E

4.Cling
http://4thline.org/projects/cling/

5.CyberLink
http://goo.gl/DM42H


==============延伸閱讀=====================
1. Raspberry Pi 第一次接觸
http://cheng-min-i-taiwan.blogspot.tw/2013/02/raspberry-pi.html

2.Raspberry Pi 網路設定
http://cheng-min-i-taiwan.blogspot.tw/2013/02/raspberry-pi_23.html

3.Raspberry Pi 應用之Windows檔案伺服器
http://cheng-min-i-taiwan.blogspot.tw/2013/02/raspberry-pi-windows.html

4.Raspberry Pi 應用之DLNA影音伺服器
http://cheng-min-i-taiwan.blogspot.tw/2013/02/raspberry-pi-dlna.html

5.Raspberry Pi 硬體控制-- Python 語言篇
http://cheng-min-i-taiwan.blogspot.tw/2013/04/raspberry-pi-python.html

6.Raspberry Pi 硬體控制-- C 語言篇
http://cheng-min-i-taiwan.blogspot.tw/2013/04/raspberry-pi-c.html

7.Raspberry Pi 2 Model B 使用心得
http://www.cheng-min-i-taiwan.blogspot.tw/2015/02/raspberry-pi-2-model-b.html

8.Raspberry Pi 藍牙4.0應用之iBeacon 發射器
http://www.cheng-min-i-taiwan.blogspot.tw/2015/03/raspberry-pi-40ibeacon.html

9.Raspberry Pi安裝MQTT之應用 -- Android訊息推播
http://www.cheng-min-i-taiwan.blogspot.tw/2015/03/raspberry-pimqtt-android.html

10. Raspberry Pi安裝MQTT之IoT應用 -- Android示範
http://cheng-min-i-taiwan.blogspot.tw/2015/03/raspberry-pimqttiot-android.html#more

1 則留言:

  1. 您好 我照著您上面的步驟做~ 我的win8電腦是可以搜尋得到樹莓所架設的server 但手機卻一直無法搜尋到~想請您幫我解決>< 謝謝

    回覆刪除