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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

fireflyROC-RK3308主板DLNA互聯(lián)功能開(kāi)發(fā)簡(jiǎn)介

firefly ? 來(lái)源:firefly ? 作者:firefly ? 2019-12-21 11:29 ? 次閱讀

DLNA互聯(lián)功能開(kāi)發(fā)

前言

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

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

DLNA 重要概念

Home NetWork Device(HND)

這類(lèi)設(shè)備指家庭設(shè)備,具有比較大的尺寸及較全面的功能,主要與移動(dòng)設(shè)備區(qū)別開(kāi)來(lái),下屬 5 類(lèi)設(shè)備:

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

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

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

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

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

Mobile Handheld Devices(MHD)

手持設(shè)備,相比家庭設(shè)備,手持設(shè)備的功能相對(duì)簡(jiǎn)化一些,支持的媒體格式也會(huì)不同。

M-DMS。與 DMS 類(lèi)似,如移動(dòng)電話,隨身音樂(lè)播放器等。

M-DMP。與 DMP 類(lèi)似。比如智能移動(dòng)電視。

M-DMD。移動(dòng)多媒體下載設(shè)備。如隨身音樂(lè)播放器,車(chē)載音樂(lè)播放器和智能電子相框等

M-DMU。移動(dòng)多媒體下載設(shè)備。如攝像設(shè)備和手機(jī)等。

M-DMC。與 DMC 類(lèi)似。如 DA,智能遙控器。手持設(shè)備沒(méi)有定義 M-DMR,因?yàn)槭殖衷O(shè)備會(huì)講究便利性,會(huì)附加查找控制功能,要不然就只是普通的移動(dòng)電視或收音機(jī)了。

Networked Infrastructure Devices (NID)

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

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

Interoperability Unit (MIU)媒體交互設(shè)備。提供媒體格式的轉(zhuǎn)換以支持各種設(shè)備需要。

DLNA 框架

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

DLNA 架構(gòu)分為如下圖 7 個(gè)層次:

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

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

Device Discovery&Control 設(shè)備發(fā)現(xiàn)和控制。 這個(gè)層次是比較 essential 的,是 DLNA 的基礎(chǔ)協(xié)議框架。DLNA 用 UPnP 協(xié)議來(lái)實(shí)現(xiàn)設(shè)備的發(fā)現(xiàn)和控制。

Media Management 媒體管理。媒體管理包括媒體的識(shí)別、管理、分發(fā)和記錄(保存),UPnP AV Architecture:1 and UPnP Printer Architecture:1 這兩個(gè) UPnP 的文檔會(huì)說(shuō)明如何進(jìn)行媒體管理。

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

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

開(kāi)發(fā)指引

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

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

編譯

版本確認(rèn)

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

gmrender-resurrect 版本:33600ab663f181c4f4f5c48aba25bf961760a300

Libupnp 版本:1.6.21

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

*.in 文件記錄了 makeconfig 中的開(kāi)關(guān)宏

*.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))

可見(jiàn)版本信息為:33600ab663f181c4f4f5c48aba25bf961760a300。

配置

編譯之前按照以下步驟進(jìn)行配置:

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

make menuconfig,配置 BR2_PACKAGE_GMRENDER_RESURRECT [=y]

編譯 gmrender-resurrect

如果SDK沒(méi)有編譯過(guò),請(qǐng)使用 build.sh 進(jìn)行全編譯。

如果SDK已經(jīng)編譯過(guò),可以使用 make gmrender-resurrect-rebuild 只編譯 gmrender-resurrect 及其相關(guān)庫(kù)。

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

編譯完成之后,按照《升級(jí)固件》,燒寫(xiě)文件系統(tǒng)到板子,即可運(yùn)行。

運(yùn)行

DLNA啟動(dòng)前,板子需要已經(jīng)連接網(wǎng)絡(luò),否則 DLNA會(huì)啟動(dòng)失敗??赏ㄟ^(guò)《手機(jī)配網(wǎng)》,配置WiFi網(wǎng)絡(luò);或者使用以太網(wǎng)

啟動(dòng)DLNA:

gmediarender -f rk3308

看到 Ready for rendering 說(shuō)明啟動(dòng)成功等待手機(jī)連接( rk3308 將作為 DMR 的名稱(chēng)被手機(jī)看到)

測(cè)試

將手機(jī)接入局域網(wǎng)(需要和 RK3308 同一個(gè)網(wǎng)段),打開(kāi)網(wǎng)易云播放器,選擇一首歌曲。

看到上圖紅色箭頭指定的圖標(biāo),點(diǎn)擊打開(kāi)如下圖:

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

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

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

    關(guān)注

    7

    文章

    6084

    瀏覽量

    35154
  • Firefly
    +關(guān)注

    關(guān)注

    2

    文章

    538

    瀏覽量

    6963
  • RK3308
    +關(guān)注

    關(guān)注

    1

    文章

    39

    瀏覽量

    1094
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    ROC-RK3308-CC 四核64位AIOT主板

    `主板微型小巧,采用了高性?xún)r(jià)比RK3308核心處理器,整合高性能CODEC音頻編解碼器,支持國(guó)內(nèi)外多種人工智能及物聯(lián)網(wǎng)操作系統(tǒng),可配置六個(gè)麥克風(fēng)陣列以及POE擴(kuò)展板。ROC-RK3308-CC是一款
    發(fā)表于 10-12 11:06

    RK3308如何開(kāi)啟UAC功能?

    RK3308如何開(kāi)啟UAC功能?
    發(fā)表于 03-09 07:58

    RK3308 DLNA互聯(lián)功能開(kāi)發(fā)相關(guān)資料推薦

    1、RK3308 DLNA互聯(lián)功能開(kāi)發(fā)DLNA 的全稱(chēng)是 DIGITAL LIVING NETWORK ALLIANCE(數(shù)字生活網(wǎng)絡(luò)聯(lián)盟)
    發(fā)表于 07-15 17:01

    firefly RK3308開(kāi)發(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'>開(kāi)發(fā)</b>板ROC-<b class='flag-5'>RK3308</b>-CC四核64位AIOT<b class='flag-5'>主板</b>規(guī)格

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

    DLNA 的全稱(chēng)是 DIGITAL LIVING NETWORK ALLIANCE(數(shù)字生活網(wǎng)絡(luò)聯(lián)盟)。
    的頭像 發(fā)表于 12-20 08:54 ?1572次閱讀
    <b class='flag-5'>fireflyROC-RK3308</b>B<b class='flag-5'>主板</b>CC-<b class='flag-5'>DLNA</b><b class='flag-5'>開(kāi)發(fā)</b>介紹

    fireflyROC-RK3308B-CC固件編譯工具簡(jiǎn)介

    Docker鏡像內(nèi)配置好了編譯SDK所需的依賴(lài)環(huán)境,無(wú)需在本地配置編譯環(huán)境,進(jìn)入對(duì)應(yīng)的docker容器內(nèi)進(jìn)行SDK編譯即可。 目前暫時(shí)只支持ROC-RK3308B-CC Buildroot SDK
    的頭像 發(fā)表于 12-20 09:30 ?1949次閱讀

    fireflyROC-RK3308B-CC--啟動(dòng)模式說(shuō)明

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

    fireflyROC-RK3308B主板CC教程簡(jiǎn)介

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

    fireflyROC-RK3308主板CC源碼簡(jiǎn)介

    firefly
    的頭像 發(fā)表于 12-20 10:12 ?7468次閱讀

    fireflyROC-RK3308U-Boot簡(jiǎn)介

    RK U-Boot 基于開(kāi)源的 U-Boot 進(jìn)行開(kāi)發(fā),工作模式有啟動(dòng)加載模式和下載模式。
    的頭像 發(fā)表于 12-21 11:10 ?2142次閱讀
    <b class='flag-5'>fireflyROC-RK3308</b>U-Boot<b class='flag-5'>簡(jiǎn)介</b>

    fireflyROC-RK3308主板ROS簡(jiǎn)介

    ROS ( Robot Operating System, 機(jī)器人操作系統(tǒng)) ,提供一系列程序庫(kù)和工具以幫助軟件開(kāi)發(fā)者創(chuàng)建機(jī)器人應(yīng)用軟件。
    的頭像 發(fā)表于 12-21 11:20 ?3790次閱讀

    微雪電子RK3308主板CC啟動(dòng)模式介紹

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

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

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

    IoT四核64位開(kāi)源主板ROC RK3308B CC規(guī)格書(shū)

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

    四核64位開(kāi)源主板ROC RK3308B CC Plus規(guī)格書(shū)

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