0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

fireflyROC-RK3308B主板CC-DLNA開發(fā)介紹

firefly ? 來源:firefly ? 作者:firefly ? 2019-12-20 08:54 ? 次閱讀
DLNA互聯(lián)功能開發(fā)
前言

DLNA 的全稱是 DIGITAL LIVING NETWORK ALLIANCE(數(shù)字生活網(wǎng)絡聯(lián)盟)。成立于 2003 年 6 月 24 日, 其前身是 DHWG (Digital Home Working Group 數(shù)字家庭工作組),由 Sony、Intel、Microsoft 等發(fā)起成立,旨在解決個人 PC ,消費電器,移動設備在內的無線網(wǎng)絡和有線網(wǎng)絡的互聯(lián)互通,使得數(shù)字媒體和內容服務的無限制的共享和增長成為可能。

DLNA 將其整個應用規(guī)定成 5 個功能組件。從下到上依次為:網(wǎng)絡互連,,網(wǎng)絡協(xié)議,媒體傳輸,設備的發(fā)現(xiàn)控制和管理,媒體格式。

DLNA 重要概念
Home NetWork Device(HND)

這類設備指家庭設備,具有比較大的尺寸及較全面的功能,主要與移動設備區(qū)別開來,下屬 5 類設備:

  1. Digital Media Server(DMS)。數(shù)字媒體服務器,提供媒體獲取、記錄、存儲和輸出功能。同時,內容保護功能是對 DMS 的強制要求。DMS 總是包含 DMP 的功能,并且肯能包含其他智能功能,包括設備/用戶服務的管理;豐富的用戶界面;媒體管理/收集和分發(fā)功能。DMS 的例子有 PC、數(shù)字機頂盒(附帶聯(lián)網(wǎng),存儲功能)和攝像機等等。

  2. DMP。數(shù)字媒體播放器。能從 DMS/M-DMS 上查找并獲取媒體內容并播放和渲染顯示。比如智能電視、家庭影院等。

  3. DMC。數(shù)字媒體控制器,查找 DMS 的內容并建立 DMS 與 DMR 之間的連接并控制媒體的播放。如遙控器。

  4. DMR。數(shù)字媒體渲染設備。通過其他設備配置后,可以播放從 DMS 上的內容。與 DMP 的區(qū)別在于DMR 只有接受媒體和播放功能,而沒查找有瀏覽媒體的功能。比如顯示器、音箱等。

  5. DMPr。數(shù)字媒體打印機,提供打印服務。網(wǎng)絡打印機,一體化打印機就屬于 DMPr。

Mobile Handheld Devices(MHD)

手持設備,相比家庭設備,手持設備的功能相對簡化一些,支持的媒體格式也會不同。

  1. M-DMS。與 DMS 類似,如移動電話,隨身音樂播放器等。

  2. M-DMP。與 DMP 類似。比如智能移動電視。

  3. M-DMD。移動多媒體下載設備。如隨身音樂播放器,車載音樂播放器和智能電子相框等

  4. M-DMU。移動多媒體下載設備。如攝像設備和手機等。

  5. M-DMC。與 DMC 類似。如 DA,智能遙控器。手持設備沒有定義 M-DMR,因為手持設備會講究便利性,會附加查找控制功能,要不然就只是普通的移動電視或收音機了。

Networked Infrastructure Devices (NID)

聯(lián)網(wǎng)支持設備。

  1. Mobile Network Connectivity Function (M-NCF)。移動網(wǎng)絡連接功能設備。提供各種設備接入移動網(wǎng)絡的物理介質。DLNA 的希望是全部實現(xiàn)無線化。

  2. Interoperability Unit (MIU)媒體交互設備。提供媒體格式的轉換以支持各種設備需要。

DLNA 框架

DLNA 架構是個互聯(lián)系統(tǒng),因此在邏輯上它也類似 OSI(Open System Interconnection,開放系統(tǒng)互連) 七層網(wǎng)絡模型。

DLNA 架構分為如下圖 7 個層次:

  1. NetWorking Connectivity 網(wǎng)絡互聯(lián)方式:包括物理連接的標準,有有線的,比如符合 IEEE802.3標準的 Ethernet;有無線的,比如符合 IEEE802.11a/g 標準的 WiFi,能做到 54Mbps,藍牙(802.15)等,技術都很成熟?,F(xiàn)在 OFDM 和 MIMO(802.11n)已經(jīng)能做到 300Mbps 了,早就超過比較普及的 100Mbps的 Ethernet 了,只不過產品還沒有普及,以后肯定會用到。

  2. NetWorking Stack 網(wǎng)絡協(xié)議棧:DLNA 的互聯(lián)傳輸基本上是在 IPV4 協(xié)議簇的基礎上的。用 TCP或者 UDP 來傳都可以。這一層相當于 OSI 網(wǎng)絡層。

  3. Device Discovery&Control 設備發(fā)現(xiàn)和控制。 這個層次是比較 essential 的,是 DLNA 的基礎協(xié)議框架。DLNA 用 UPnP 協(xié)議來實現(xiàn)設備的發(fā)現(xiàn)和控制。

  4. Media Management 媒體管理。媒體管理包括媒體的識別、管理、分發(fā)和記錄(保存),UPnP AV Architecture:1 and UPnP Printer Architecture:1 這兩個 UPnP 的文檔會說明如何進行媒體管理。

  5. Media Transport 媒體傳輸:這一層用 HTTP(HyperText Transfer Protocol)超文本傳輸協(xié)議。就是平時我們上網(wǎng)用的媒體傳輸協(xié)議。HTTP 用 TCP 可靠傳輸,也有混合 UDP 方式的 HTTP?,F(xiàn)在 HTTP 的最新版本是 HTTP1.1。可選協(xié)議是 RTP。

  6. Media Formats 媒體格式。格式 Formats 在這里等同于編碼格式 Codec,平時我們說的編碼格式比如 Mpeg-2,AVC,x264 就是視頻編碼格式;PCM,mp3(MPEG-2 Layer 3),aac,flac 就是音頻編碼格式。而 avi,rmvb,mkv 這些是媒體封裝格式,包含視頻音頻可能還有字幕流。比如一個常見的后綴為mkv 的文件,它的視頻 Codec 是 x264,音頻是 aac,它的視音頻編碼屬于 Mpeg-4 Codec Family。

開發(fā)指引

前 3 節(jié)我們對 DLNA 有個初步的了解,接下來我們來搭建一個 DLNA 環(huán)境實現(xiàn) M-DMS (網(wǎng)易云音樂播放器)推送音樂到 DMR( ROC-RK3308B-CC )。

我們選擇 gmrender-resurrect 開源代碼來搭建 DMR 角色,找一個手機安裝網(wǎng)易云播放器充當 M-DMS角色。

編譯

版本確認

編譯之前我們先確認一下 gmrender-resurrect 和關聯(lián)庫 libupnp 的版本,確保版本符合以下要求:

  • gmrender-resurrect 版本:33600ab663f181c4f4f5c48aba25bf961760a300

  • Libupnp 版本:1.6.21

Buildroot 的 package 的配置信息在 Buildroot/package 文件下相應的文件夾里,每個文件夾包含 3個文件,分別是*.in,*.hash,*.mk,其中

  • *.in文件記錄了 makeconfig 中的開關宏

  • *.hash文件記錄了代碼壓縮包的 HASH 值和版本信息

  • *.mk文件記錄了代碼編譯信息和版本信息

例如查看gmrender-resurrect 版本信息:

cat buildroot/package/gmrender-resurrect/gmrender-resurrect.mk ################################################################################ # # gmrender-resurrect # ################################################################################ GMRENDER_RESURRECT_VERSION = 33600ab663f181c4f4f5c48aba25bf961760a300 GMRENDER_RESURRECT_SITE = $(call github,hzeller,gmrender-resurrect,$(GMRENDER_RESURRECT_VERSION)) # Original distribution does not have default configure, # so we need to autoreconf: GMRENDER_RESURRECT_AUTORECONF = YES GMRENDER_RESURRECT_LICENSE = GPL-2.0+ GMRENDER_RESURRECT_LICENSE_FILES = COPYING GMRENDER_RESURRECT_DEPENDENCIES = gstreamer1 libupnp define GMRENDER_RESURRECT_INSTALL_INIT_SYSV $(INSTALL) -D -m 0755 $(TOPDIR)/package/gmrender-resurrect/gmrender_service.sh $(TARGET_DIR)/sbin endef $(eval $(autotools-package))

可見版本信息為:33600ab663f181c4f4f5c48aba25bf961760a300。

配置

編譯之前按照以下步驟進行配置:

  • 設置環(huán)境變量,使用sourcebuildroot/build/envsetup.sh,選擇配置[1]

  • makemenuconfig,配置BR2_PACKAGE_GMRENDER_RESURRECT[=y]

編譯 gmrender-resurrect

  • 如果SDK沒有編譯過,請使用 build.sh 進行全編譯。

  • 如果SDK已經(jīng)編譯過,可以使用makegmrender-resurrect-rebuild只編譯gmrender-resurrect及其相關庫。

gmrender-resurrect 單獨編譯完成之后, 需要使用 make 命令來生成 rootfs。隨后使用命令./mkfirmware.sh,生成rockdev/rootfs.img。

編譯完成之后,燒寫文件系統(tǒng)到板子,即可運行。

運行

DLNA啟動前,板子需要已經(jīng)連接網(wǎng)絡,否則 DLNA會啟動失敗。可通過《手機配網(wǎng)》,配置WiFi網(wǎng)絡;或者使用以太網(wǎng)。

啟動DLNA:

gmediarender -f rk3308b

看到Readyforrendering說明啟動成功等待手機連接( rk3308b 將作為 DMR 的名稱被手機看到)

測試

將手機接入局域網(wǎng)(需要和 RK3308B 同一個網(wǎng)段),打開網(wǎng)易云播放器,選擇一首歌曲。

看到上圖紅色箭頭指定的圖標,點擊打開如下圖:

將會出現(xiàn) rk3308b, 選擇后這首歌曲將被推送到 RK3308B 上,手機進入顯示播放的進度條。

播放的過程中,你可以調節(jié)音量,切換上下曲。


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 嵌入式主板
    +關注

    關注

    7

    文章

    6084

    瀏覽量

    35154
  • Firefly
    +關注

    關注

    2

    文章

    538

    瀏覽量

    6963
  • RK3308
    +關注

    關注

    1

    文章

    39

    瀏覽量

    1094
收藏 人收藏

    評論

    相關推薦

    firefly RK3308開發(fā)板ROC-RK3308-CC四核64位AIOT主板規(guī)格

    ROC-RK3308-CC 四核64位AIOT主板
    的頭像 發(fā)表于 11-03 11:08 ?4883次閱讀
    firefly <b class='flag-5'>RK3308</b><b class='flag-5'>開發(fā)</b>板ROC-<b class='flag-5'>RK3308-CC</b>四核64位AIOT<b class='flag-5'>主板</b>規(guī)格

    fireflyROC-RK3308B-CC--啟動模式說明

    ROC-RK3308B-CC 有著非常靈活的啟動方式。一般情況下,除非硬件損壞,ROC-RK3308B-CC 主板是不會變磚的。
    的頭像 發(fā)表于 12-20 09:20 ?2870次閱讀

    fireflyROC-RK3308B主板CC升級固件簡介

    本文介紹了如何將主機上的固件文件,通過 USB Type-C 線,燒寫到開發(fā)板的emmc閃存中。
    的頭像 發(fā)表于 12-20 09:29 ?1918次閱讀

    fireflyROC-RK3308B主板CC教程簡介

    確認主板配件連接無誤后,通過 USB Type-C 線給 ROC-RK3308B-CC 供電。
    的頭像 發(fā)表于 12-20 09:32 ?2303次閱讀

    微雪電子RK3308主板CC啟動模式介紹

    ROC-RK3308-CC 有著非常靈活的啟動方式。一般情況下,除非硬件損壞,ROC-RK3308-CC 主板是不會變磚的。
    的頭像 發(fā)表于 12-23 15:47 ?2460次閱讀

    微雪電子RK3308主板CC上手介紹

    確認主板配件連接無誤后,通過 USB Type-C 線給 ROC-RK3308-CC 供電。
    的頭像 發(fā)表于 12-23 15:50 ?2296次閱讀

    Core 3308Y固件ROC RK3308B CC PLUS Buildroot NoUI

    電子發(fā)燒友網(wǎng)站提供《Core 3308Y固件ROC RK3308B CC PLUS Buildroot NoUI.txt》資料免費下載
    發(fā)表于 09-13 10:01 ?1次下載
    Core <b class='flag-5'>3308</b>Y固件ROC <b class='flag-5'>RK3308B</b> <b class='flag-5'>CC</b> PLUS Buildroot NoUI

    Core 3308Y固件ROC RK3308B CC PLUS Buildroot MiniGUI

    電子發(fā)燒友網(wǎng)站提供《Core 3308Y固件ROC RK3308B CC PLUS Buildroot MiniGUI.txt》資料免費下載
    發(fā)表于 09-13 10:00 ?3次下載
    Core <b class='flag-5'>3308</b>Y固件ROC <b class='flag-5'>RK3308B</b> <b class='flag-5'>CC</b> PLUS Buildroot MiniGUI

    Core 3308Y ROC RK3308B CC PLUS Ubuntu Minimal固件

    電子發(fā)燒友網(wǎng)站提供《Core 3308Y ROC RK3308B CC PLUS Ubuntu Minimal固件.txt》資料免費下載
    發(fā)表于 09-13 09:55 ?0次下載
    Core <b class='flag-5'>3308</b>Y ROC <b class='flag-5'>RK3308B</b> <b class='flag-5'>CC</b> PLUS Ubuntu Minimal固件

    Core 3308Y固件ROC RK3308B CC PLUS Ubuntu Desktop固件

    電子發(fā)燒友網(wǎng)站提供《Core 3308Y固件ROC RK3308B CC PLUS Ubuntu Desktop固件.txt》資料免費下載
    發(fā)表于 09-13 09:53 ?0次下載
    Core <b class='flag-5'>3308</b>Y固件ROC <b class='flag-5'>RK3308B</b> <b class='flag-5'>CC</b> PLUS Ubuntu Desktop固件

    Core 3308Y固件ROC RK3308B CC PLUS支持Docker固件

    電子發(fā)燒友網(wǎng)站提供《Core 3308Y固件ROC RK3308B CC PLUS支持Docker固件.txt》資料免費下載
    發(fā)表于 09-13 09:52 ?10次下載
    Core <b class='flag-5'>3308</b>Y固件ROC <b class='flag-5'>RK3308B</b> <b class='flag-5'>CC</b> PLUS支持Docker固件

    Core 3308Y固件ROC RK3308B CC Buildroot NoUI固件

    電子發(fā)燒友網(wǎng)站提供《Core 3308Y固件ROC RK3308B CC Buildroot NoUI固件.txt》資料免費下載
    發(fā)表于 09-13 09:51 ?0次下載
    Core <b class='flag-5'>3308</b>Y固件ROC <b class='flag-5'>RK3308B</b> <b class='flag-5'>CC</b> Buildroot NoUI固件

    ROC RK3308B CC Buildroot Qt Desktop固件

    電子發(fā)燒友網(wǎng)站提供《ROC RK3308B CC Buildroot Qt Desktop固件.txt》資料免費下載
    發(fā)表于 09-13 09:49 ?0次下載
    ROC <b class='flag-5'>RK3308B</b> <b class='flag-5'>CC</b> Buildroot Qt Desktop固件

    IoT四核64位開源主板ROC RK3308B CC規(guī)格書

    電子發(fā)燒友網(wǎng)站提供《IoT四核64位開源主板ROC RK3308B CC規(guī)格書.pdf》資料免費下載
    發(fā)表于 09-13 09:35 ?1次下載
    IoT四核64位開源<b class='flag-5'>主板</b>ROC <b class='flag-5'>RK3308B</b> <b class='flag-5'>CC</b>規(guī)格書

    四核64位開源主板ROC RK3308B CC Plus規(guī)格書

    電子發(fā)燒友網(wǎng)站提供《四核64位開源主板ROC RK3308B CC Plus規(guī)格書.pdf》資料免費下載
    發(fā)表于 09-13 09:33 ?0次下載
    四核64位開源<b class='flag-5'>主板</b>ROC <b class='flag-5'>RK3308B</b> <b class='flag-5'>CC</b> Plus規(guī)格書