百问网全志D1h开发板投屏功能实现

news2024/11/25 16:39:28

投屏功能实现

D1系列号称点屏神器,不仅能点屏,还能用于投屏。

源码准备

百问网为 【百问网D1h开发板】提供了投屏功能需要使用的源码,直接git下载即可:

git clone https://github.com/DongshanPI/DongshannezhaSTU_DLNA_ScreenProjection.git

下载后的源码目录如下:
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

其中:

  • libupnp是UPNP协议的一个轻量实现库。它最早由英特尔开发并开源,是目前Linux平台最流行的UPNP实现库,其集成了HTTP处理、XML处理、HTTP服务器、线程池等功能。
  • tprender是用于实际投屏处理的应用

源码编译

源码分为两部分进行编译,先编译libupnp得到动态调用库,再编译tprender。

  1. libupnp编译
export TOOLCHAIN_ROOT=~/tina-d1-h/prebuilt/gcc/linux-x86/riscv/toolchain-thead-glibc/riscv64-glibc-gcc-thead_20200702
export PATH=$TOOLCHAIN_ROOT/bin:$PATH

cd DongshannezhaSTU_DLNA_ScreenProjection/libupnp-1.14.12
./configure --host=riscv64-unknown-linux-gnu

make 
mkdir tmp
make install DESTDIR=$(pwd)/tmp/

ls -lh tmp/usr/local/lib

编译安装后的结果如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. tprender编译
cd DongshannezhaSTU_DLNA_ScreenProjection/tprender

# 设置正确的目录
perl -pi -e 's#/home/book/tina-d1-h#/root/tina-d1-h#g' $(grep -rn /home/book/tina-d1-h * | cut -d ':' -f 1 | uniq)
perl -pi -e 's#/home/book/Allwinner/tprender#'$(pwd)'#g' $(grep -rn /home/book/Allwinner/tprender * | cut -d ':' -f 1 | uniq)
perl -pi -e 's#\\/home\\/book\\/Allwinner\\/tprender#'$(pwd | sed -e 's#/#\\\\/#g')'#g' tags
rm -rf CMakeFiles cmake_install.cmake  CMakeCache.txt tags

# 拷贝动态调用库
cp ../libupnp-1.14.12/tmp/usr/local/lib/libixml.so.11.1.2 libs/libixml.so
cp ../libupnp-1.14.12/tmp/usr/local/lib/libixml.so.11.1.2 libs/libixml.so.11
cp ../libupnp-1.14.12/tmp/usr/local/lib/libupnp.so.17.1.3 libs/libupnp.so
cp ../libupnp-1.14.12/tmp/usr/local/lib/libupnp.so.17.1.3 libs/libupnp.so.17

cmake .
make

需要注意,上面使用perl进行文件内路径替换的操作,需要根据你的实际的文件路径进行处理。

编译结果如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

现在tprender已经准备好了,下面就进行开发板上的操作了。

投屏测试

首先,使用adb或者网络,将tprender上传到开发板:

adb push tprender /root/
adb push libs /root/

然后,到开发板上进行操作,先进行联网:

wifi_connect_ap_test WiFi名称 WiFi密码
udhcpc -i wlan0
ip addr show wlan0

结果要正确显示获取到了IP:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

此时,应在其他电脑上,ping上面的IP,确保可以联通。

再开启tprender提供投屏功能:

cd /root
chmod u+x tprender
./tprender

执行后,输出如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

从上面的输出可以看到,成功启动,等待投屏。

此时,打开手机或者支持投屏播放的电脑,播放一个视频,然后投屏小图标,就能找到 D1-H 投屏设备了:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

点击D1-H,就能在 【百问网D1h开发板】 的屏幕上播放了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1872234.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MoneyPrinterPlus:AI自动短视频生成工具-微软云配置详解

MoneyPrinterPlus可以使用大模型自动生成短视频,我们可以借助Azure提供的语音服务来实现语音合成和语音识别的功能。 Azure的语音服务应该是我用过的效果最好的服务了,微软还得是微软。 很多小伙伴可能不知道应该如何配置,这里给大家提供一…

沉淀强化镍基合金660大螺丝的物理性能

沉淀强化镍基合金660大螺丝,是一种高性能的工程材料,其在极端环境中展现了优异的稳定性和耐用性。以下,我们将深入解析其主要的物理性能。 首先,该合金螺丝的密度为7.99g/cm,这意味着它具有较高的质量密度,…

力扣随机一题 6/28 数组/矩阵

📝个人主页🌹:誓则盟约⏩收录专栏⏪:IT 竞赛🤡往期回顾🤡:6/27 每日一题关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞&#x1f44d…

GEOS学习笔记(一)

下载编译GEOS 从Download and Build | GEOS (libgeos.org)下载geos-3.10.6.tar.bz2 使用cmake-3.14.0版本配置VS2015编译 按默认配置生成VS工程文件 编译后生成geos.dll,geos_c.dll 后面学习使用C接口进行编程

MySQL中的常用逻辑操作符

逻辑运算符在MySQL查询中扮演着重要角色,通过AND、OR、NOT等运算符的组合使用,可以提高查询的准确性和灵活性,确保查询结果满足业务需求。合理使用这些运算符还能优化查询性能,减少不必要的数据检索,并提高SQL语句的可…

maven 根据不同环境,走不同的实现(多种环境组合)

​ 原因: 线上程序同时支持人大金仓和mysql,且支持根据环境动态选择 java JCE 的实现方式前期已完成 springboot 从mysql 迁移人大金仓 -kingbase :https://blog.csdn.net/qq_26408545/article/details/137777602?spm1001.2014.3001.5502 …

检测SD NAND文件系统异常和修复的方法

目录 1、打开命令提示符: 2、运行chkdsk命令: 3、命令参数说明: chkdsk是Windows中的一个命令行工具,用于检查磁盘上的文件系统错误和修复坏块。MK米客方德为您提供指导,以下是使用chkdsk的步骤: 1、打开…

CAN收发器

1、收发器的主要功能 (1)CAN通讯(即报文收发) MCU要CAN通讯:收发器模式切换至正常通讯模式(Normal),正常通讯模式收发器能收能发。 MCU不要CAN通讯:把收发器切换至其它…

EHS环境健康安全管理:制造业ESG尖子生的“绿色通行证”

嘿,亲爱的制造业老铁们!你们是不是经常听到“EHS环安卫管理”这个词,但又觉得它有些神秘和高大上呢?别担心,今天我就带你们轻松愉快地了解这个让制造业更加绿色、健康、安全的“神器”! 一、EHS环安卫管理&…

大模型学习笔记-汇总篇

本文记录一下最近一个月学习的大模型相关的技术知识点,为拥抱AI浪潮做些技术储备。 大模型术语相关 参数规模 GPT 3.5 千亿级别 GPT4 1.8W亿级别 国内一般都是十亿或百亿级别 ChatGLM2_2K_6B BAICHUAN_4K_13B 淘宝星辰_4K_13B 【一一AGI大模型学习 所有资源获…

点云可视化 .ply文件 | 方案汇总

前言 本文分析可视化点云.ply文件的几种方法,包括MeshLab软件、在线可视化点云.ply文件、通过PyntCloud库编程实现。 PLY是一种用于存储三维数据的文件格式,常用于点云数据和多边形网格。 被广泛应用于计算机图形学、3D扫描和3D打印等领域。PLY文件可…

【AI落地应用实战】如何让扫描工具更会思考——智能高清滤镜2.0实战测评

一、引言 在这个信息爆炸的数字化时代,扫描工具已经成为我们日常工作和学习中不可或缺的助手。最近,扫描全能王推出了革命性的“智能高清滤镜2.0”,本次更新后,智能高清滤镜能够智能识别并优化扫描过程中的各种问题。无论是光线不…

好书安利 | LangChain入门指南:构建高可复用、可扩展的LLM应用程序(送PDF)轻松入门LangChain

《LangChain入门指南》 LangChain作为大模型集成框架鼎鼎大名,这本《LangChain入门指南》是一本很及时的书,值得推荐~ 01 为什么需要LangChain 首先想象一个开发者在构建一个LLM应用时的常见场景。 当你开始构建一个新项目时,…

云仓是如何发展起来的?

1、电子商务的繁荣: 随着电商的兴起,对高效仓储和物流的需求越来越大。传统的仓储方式难以满足海量订单处理和快速配送的要求,因此需要一种更加灵活和高效的仓储解决方案。 ------------------------------------------------- 2、科技进步…

Mac中的xshell、xftp

ROYAL TSX 插件式支持远程连接linux、支持命令行、支持ftp、支持远程windows桌面。 免费版就足够使用了。(支持维护一个Connections文件夹) 需要在本地创建一个文件夹,用以保存链接信息 使用方法

注意!!2024下《网络规划设计师》易混淆知识点来了,赶紧码住

宝子们,在复习软考网络规划设计师中,是不是觉得有很多知识点含义比较相近,很多友友刚看的时候,估计会像我一样把它们弄混,作为一个软考老鸟,在这里给大家整理了网规学习过程中易混淆的知识点,大…

【GreenHills】GHS中Build的高级选项设置

【更多软件使用问题请点击亿道电子官方网站】 1、 文档目标 了解GHS中高级构建选项的使用 2、 问题场景 1)、想要清除工程的所有输出文件 2)、想要对于工程进行重新构建的时候,希望删掉之前的输出文件,保证工程中所有输出文件…

C语言力扣刷题1——最长回文字串[双指针]

力扣算题1——最长回文字串[双指针] 一、博客声明二、题目描述三、解题思路1、思路说明2、知识补充a、malloc动态内存分配b、free释放内存c、strlen求字符数组长度d、strncpy函数 四、解题代码(附注释) 一、博客声明 找工作逃不过刷题,为了更…

中小企业进行数字化转型会面临哪些挑战?

在当今这个信息化、数字化的时代,中小企业进行数字化转型已不再是选择,而是必然。然而,这条转型之路并非坦途,它充满了未知与挑战。今天,我们就来探讨一下中小企业为社么要进行数字化转型以及在数字化转型过程中可能遇…

solidworks钣金工厂共享云桌面方案

随着信息技术的飞速发展和企业数字化转型的深入,传统的钣金工厂面临着诸多挑战,其中之一就是如何在保证数据安全的前提下,提高设计、生产和管理的效率。 SolidWorks是一款专业的三维3D设计软件,功能强悍,支持分布式数…