Navigation

    全志在线开发者论坛

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • 在线文档
    • 社区主页

    哪吒D1编译配置DLNA客户端进行B站投屏 (转)

    MR Series
    1
    1
    1626
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • D
      dreamer LV 4 last edited by

      基本思路:
      DLNA客户端可以接收并播放以DLNA协议推送的流媒体
      而B站可以将视频通过DLNA协议推送
      所以我们给哪吒D1配置DLNA客户端 就可以实现在同一网络下B站投屏了
      gmrender-resurrect是一个接收DLNA内容并用gstreamer播放的组件
      我们用gmrender-resurrect就可以配置出一个DLNA客户端
      我们已经实现了使用gstreamer1.0调用openmax硬解H264
      B站通过DLNA投屏时会发送flv封装的H264流 类似于直播
      也就是说 我们可以用gstreamer硬解B站投屏视频
      但是在实践中发现gstreamer硬解B站投屏会出现闪屏现象 并且不能自动硬件缩放
      为了避免这些问题 我查找了gmrender-resurrect和tplayer相关资料 将gmrender-resurrect进行了魔改 将原来gstreamer播放视频改成了tina自带的王牌播放器tplayer来播放视频 于是gmrender-resurrect便成了tprender

      因为package里没有相关库 所以要手动交叉编译出tprender和DLNA的底层upnp库 附件里提供了编译完成的

      演示环境搭建
      用PhoenixSuit.exe烧录flash镜像
      附件提供了配置好的flash镜像

      进入d1系统 先配个wifi 我的是wifi是qwer 密码是1231232008 把wifi名和密码换成你的

      wifi_connect_ap_test qwer 1231232008
      

      注意要看一下ifconfig wlan0有没ip4地址 如果没有用下面命令获取一下

      udhcpc -i wlan0
      

      第一次运行wifi_connect_ap_test 会自动获取ip4地址 但是下次开机会自动连接wifi 但不会自动获取ip4地址 所以要检查一下

      附件中提供了tprender_app 里面是编译好的tprender和upnp库
      用adb把tprender_app发送到D1

      adb push d:tprender_app /root/
      

      进入目录

      cd /root/tprender_app
      

      把里面的库复制到系统路径

      cp libs/* /usr/lib/
      

      添加tprender执行权限

      chmod +x tprender
      

      开启DLNA客户端

      ./tprender -f "D1"
      

      接下来可以用B站投屏了
      操作提示
      B站放视频时右上角有个TV图标 点它 再点投屏设备 就行了
      B站更新到新版本才有投屏分辨率选择

      演示视频
      动画

      1080P:

      验证平台
      硬件 哪吒D1开发板
      系统 tina1.01 带0730补丁

      配置过程
      因为tplayer是tina自带的 而tprender 和upnp在package要交叉编译
      所以不需要配置sdk

      tprender编译
      附件中提供了魔改好的tprender源码 使用cmake构建工程 只需在源码目录的CMakeLists.txt里修改编译器、链接库、头文件的路径 然后再执行构建(注意 有个点)

      cmake .
      

      再执行编译

      make
      

      即可以编译出tprender

      upnp编译
      附件中提供了upnp源码 按照里面README.md编译出libupnp.so和libixml.so库即可

      附件下载: 哪吒D1编译配置DLNA客户端进行B站投屏附件.zip

      转载地址: https://whycan.com/t_7091.html
      原作者: @逸俊晨晖

      1 Reply Last reply Reply Quote Share 0
      • 1 / 1
      • First post
        Last post

      Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号

      行为准则 | 用户协议 | 隐私权政策