设计一个不显示或播放任何声音的设备,可以无休止地播放视频

2025-04-22

算法决定了我们看到的新闻,助长了我们分裂的意识形态。我们能不能通过WiFi破坏过滤气泡来增加细微差别?

在这个项目中,我们设计了一个不显示或播放任何声音的设备,可以无休止地播放YouTube视频。目标是潜在地影响连接到相同Wi-Fi网络的用户的视频推荐算法。这个系统被巧妙地隐藏在一个瓶子里,在公共场所不被注意。

客观的

该项目的主要目标是:

流媒体YouTube视频在后台(没有显示或声音)。

循环播放一个或多个视频

自动化整个视频播放过程。

观察这些视图是否被YouTube识别和计数。

开发步骤

我们首先尝试使用ESP32来传输视频,但发现使用树莓派更好。我们同时开发了这个项目的三个不同部分:视频回放、用于分析的数据记录和房屋的3D建模。

Arduino (ESP32)

1. 数据记录-谷歌表API

为了跟踪播放的视频,并与同一Wi-Fi网络下不同账号的推荐视频进行对比,我们使用谷歌Sheets API建立了数据记录系统。

修改由K. Suwatchai (Mobizt)创建的代码,建立与谷歌Sheet的连接并开始记录数据。

设计一个不显示或播放任何声音的设备,可以无休止地播放视频 (https://ic.work/) 工控技术 第1张

这是一个学习如何隐藏API密钥和其他敏感信息的好机会,尽管转向Raspberry Pi发生在这方面取得很大进展之前。

2. 连接到ESP32 - YouTube API

在建立Wi-Fi连接后,努力将ESP32连接到视频播放。下面是HACK-WIFI-1中的代码。ino用于连接到YouTube API并访问搜索功能。

设计一个不显示或播放任何声音的设备,可以无休止地播放视频 (https://ic.work/) 工控技术 第2张

在初始设置结构并建立Wi-Fi连接之后,意图是连接到YouTube API以访问搜索功能,以便我们可以播放有关特定主题的视频,并以JSON格式返回结果链接和信息。虽然这是成功的,但我们很快意识到期望的播放在ESP32上不起作用,我们选择将注意力转移到使用树莓派5上。

树莓派5

1. 连接到树莓派5

第一个挑战是将树莓派连接到Wi-Fi。由于连接不稳定,这比预期要困难得多。在多次尝试重新连接和排除故障后,我们终于建立了稳定的连接。

2. 流媒体视频没有屏幕

连接上后,我们尝试在不使用屏幕的情况下播放YouTube视频。我们使用了两种工具:

yt-dlp:提取直接视频流URLffmpeg:播放视频流不显示视频或播放任何音频。

安装依赖关系:

设计一个不显示或播放任何声音的设备,可以无休止地播放视频 (https://ic.work/) 工控技术 第3张

单个视频流脚本(play_video.py):

设计一个不显示或播放任何声音的设备,可以无休止地播放视频 (https://ic.work/) 工控技术 第4张

运行脚本:

设计一个不显示或播放任何声音的设备,可以无休止地播放视频 (https://ic.work/) 工控技术 第5张

3. 用电池给树莓派供电

我们为树莓派5寻找了兼容的电池。经过一些试验和研究,我们找到了合适的产品,并按照产品数据表中的说明使其工作。

4. 连接屏幕

为了解决未计数视图的问题,我们在树莓派上连接了一个显示器。这使我们能够:

Flash一个具有GUI支持的新操作系统版本。

实时监控树莓派上发生的事情。

5. 流媒体YouTube视频显示

在连接屏幕后,我们使用mpv(视频播放器)全屏播放YouTube视频,模拟真实视图。

播放命令:

设计一个不显示或播放任何声音的设备,可以无休止地播放视频 (https://ic.work/) 工控技术 第6张

6. 自动循环播放

为了使整个过程自动化,我们创建了一个脚本来播放YouTube视频列表,每个视频之间有5秒的暂停。

播放脚本(auto_player.py):

设计一个不显示或播放任何声音的设备,可以无休止地播放视频 (https://ic.work/) 工控技术 第7张

7. 数据记录-谷歌表API

为了跟踪播放的视频,并与同一Wi-Fi网络下不同账号的推荐视频进行对比,我们使用谷歌Sheets API建立了数据记录系统。

随着使用树莓派的切换,ESP32在这方面所做的工作必须用python重新完成。使用Allan Schwartz创建的代码,经过修改,建立了一个谷歌Sheet的链接,用于数据记录。此外,在此步骤中,还使用了隐藏敏感信息(如API密钥)的方法。

设计一个不显示或播放任何声音的设备,可以无休止地播放视频 (https://ic.work/) 工控技术 第8张

8. 推荐- YouTube API

使用YouTube API中的示例,我们尝试访问推荐视频列表,这将允许我们监控我们的“感染”的影响。然而,由于API中实现的隐私保护,我们遇到了一些挑战。

设计一个不显示或播放任何声音的设备,可以无休止地播放视频 (https://ic.work/) 工控技术 第9张


本文编译自hackster.io

文章推荐

相关推荐