一个考虑到第一个机器人竞赛的youtube上传者

FRCUploader的Python项目详细描述


我从一开始就休息了很长时间,所以功能更新会暂停一段时间。我将继续修复漏洞,并与新游戏保持同步。如果有人对清理代码库和添加特性感兴趣,可以随意添加prs,这样我就可以批准它们。首先感谢所有帮助您使此上载程序尽可能好的人。

frc youtube上传程序

frc事件的youtube上传程序

贡献

prs是赞赏的,将迅速审查,唯一的代码质量标准,我必须遵循pep8标准,除了线的长度。如果您无法理解我的代码,请直接问我。

当前功能集:

  • 上传视频(可单次或批量上传)
  • 将要上载的视频排队和出列
  • 添加到YouTube播放列表
  • 在描述中包含来自tba的匹配结果
  • 向蓝色联盟添加视频链接
  • 主要是自动界面
  • 保存和加载表单值

如何设置

  1. 在添加了路径的操作系统上安装python 3.7.2并确保没有其他版本的python 3。
  2. 使用pip3 install-u frcuploader安装程序。如果您想要未经测试的功能,可以下载repo并使用pip3 install-u/path/to/repo安装
  3. 创建用于存储比赛视频的文件夹。
  4. 将缩略图作为thumbnail.png添加到match video文件夹(不需要,但建议使用)。
  5. 使您的录制程序遵循以下命名方案:[匹配类型](tiebraker)[匹配编号]。[扩展名]例如qualification match 1.mp4。
  6. 通过运行frcuploader启动程序
  7. 在"事件值"和"匹配值"选项卡中添加必要的信息
  8. 每次比赛结束时点击提交。不需要更新任何值,除非您正在输入清除或进行仪式。
  9. 享受不必与YouTube前端打交道的乐趣。

文件名示例

文件名是通过子字符串确定的,您至少需要匹配类型的基和匹配号。这是糟糕的代码设计吗?可能吧,但它有效,涵盖了所有已知的案例。此外,所有文件名都可以小写。 碱基:

Qualification -> qual

Quarter -> quarter + final

Semifinal -> semi + final

Final -> final

Tiebreaker -> tiebreak

qm15=资格匹配15.mp4资格15.mp4

sf2m3=半决赛2.mp4半决赛2.mp4

F1M3=final 3.mp4final tiebraker.mp4(FMS显示final 3,但我允许tiebraker或3用于命名)

开幕式=周五开幕式.mp4第一天开幕式.mp4

闭幕式=颁奖典礼.mp4闭幕式.mp4

联盟选择=联盟选择.mp4联盟选择.mp4

highlight reel=highlight reel.mp4wrapp video.mp4

用户界面分解

事件值

alt text

匹配文件位置

单击"打开",然后导航到要从中提取匹配视频的目录,选择文件的根目录。

获取最新文件

如果你的录制程序不支持每次都用必要的信息设置文件名,你只需在目录中获取最新的文件。这对于obs、xsplit和vmix等程序来说非常好。

制作团队/facebook名称/twitter句柄/网站链接

以前在脚本中存在的常量,现在可以根据需要进行编辑,而无需进入代码。

事件名称

你可以把它命名为希望如此,但要知道它会出现在视频的youtube标题的开头,如果你不喜欢,我可以做一个切换。一般包括[年份][活动名称]

事件代码

在活动页面的地址栏中的BlueAlliance找到这个。它通常遵循[年份][事件代码]格式,如2018arc或2016incmp。

播放列表ID

您可以在播放列表页的网址上找到播放列表ID。每个播放列表id都以pl开头,使它们易于识别。提交后,完整的链接将被缩短。

TBA事件ID/机密

www.thebluealliance.com/request/apiwrite

这两个都必须通过从上面的链接请求它们来获取事件的密钥。如果您的事件不在tba上,我建议您取消选中使用tba

视频隐私状态

选择要上载的隐私状态。如果您的频道允许盈利,并且您希望将视频盈利,则应将隐私状态设置为未列出,然后稍后更新盈利。

视频描述

程序中使用的描述相当长,但添加了很多信息,这可能是很好的。如果您想更改描述,您可以根据需要重新排列它,但您必须将任何内容放在大括号中,以防止在您单击"提交"时程序在您面前爆炸。

右键单击视频说明标题文本将在必要时显示重置按钮。

匹配值

alt text

匹配代码

这在默认情况下是隐藏的,可以通过在菜单栏中切换来访问。

这是一个覆盖函数,它将把您在这里设置的任何匹配项推送到正确的tba匹配项和正确的信息。这不会影响其他参数,您仍然需要设置它们,以便找到正确的匹配项。例如,2017年PCH Albany在半决赛2中有5场重赛,在TBA中计算的是4-6场,但FMS保留了1-3场的命名方案。要解决这个问题,您可以像输入sf2m1一样输入匹配信息,并将文件命名为半决赛match 2.mp4,然后将match code设置为sf2m4。这将得到正确的分数,然后更新正确的tba匹配。这几乎不应该在这种情况下使用。

匹配号码

相当不言而喻,只要记住在进入消除的每个阶段时重置值。每次按"提交"时,此值都会增加。在断接期间从FMS显示屏上获取值。

仪式

此下拉列表中的所有非默认选项将告诉程序忽略各种参数,如匹配号。上传联盟选择将更新所有必要的表单字段,以输入淘汰赛。 对于开幕式,您需要在文件名中输入x日或一周中的当前日期(如星期五)。 对于闭幕式,您只需在文件名中输入闭幕奖励。 对于联盟选择,您需要在文件名中包含联盟选择。 对于Highlight Reels,您需要在文件名中包含highlightwrapp。 所有条款都在一个子串中匹配,因此奖励将与奖励匹配,其他条款也一样。

活动日

这与上述选项相结合。如果你不上传直播这是非常重要的,你需要命名仪式文件的第一天,第二天,或第三天的基础上,他们在你的活动。然后选择相同的值,程序将找到正确的值。只有开幕式和闭幕式受到影响,只有一个联盟的选择,所以不会因此改变任何事情。如果您是实时上传,我建议您将此项保留在忽略并将文件名设置为包含当前日期名。

最后一个匹配号码

如果你想批量上传一些文件,你可以这样做。匹配编号与此编号(包括此编号)之间的每个匹配都将上载并添加到TBA。然后它将用0替换此字段,并将匹配号更新到上载的最后一个匹配项+1。

状态输出

alt text

输出

这将显示您需要知道的有关正在进行的上载的任何信息,相同的信息将作为备份写入命令提示符,任何错误都将写入根用户目录中的文件。当前设置为自动滚动到底部,但如果您点击无限循环,则可以使用按钮切换自动滚动。

排队

队列显示即将上传的内容,其中最上面的项目是当前上传的匹配项。

双击队列中的行将其从队列中移除。请小心,因为除非重新提交新作业,否则无法撤消它。

菜单栏

如果你在macos和windows上,这就有点不同了。菜单栏是Windows主窗口的一部分,也是MacOS上本机菜单栏的一部分。

重置表单值

将表单值重置为所有默认值并重置表单值文件。

删除YouTube凭据

删除YouTube凭据并终止程序。终止程序是有意的,也是必要的。重新启动程序后,系统将提示您输入新凭据。

显示/隐藏匹配代码

将切换匹配代码的可见性。

切换上传/保存队列/加载队列

这三个选项旨在一起使用,以提供在事件后上载匹配项的简单方法,特别是如果您选择使用获取最新文件。在提交任何上传之前,您应该选择toggle uploads,然后根据需要提交。您可以选择在每次提交后保存队列,也可以选择在最后保存队列。当您决定最终上载时,只需打开程序,选择load queue,然后等待上载完成。注意必须维护用于上载的文件系统和计算机,以便上载工作。

如果您仍需要帮助,请随时与我联系。

统计信息

在上传的每一个匹配项上都会收集统计数据,可以在以下位置找到:https://docs.google.com/spreadsheets/d/18flsxvacyvqximmeyg0-9lhytb5jd_ortkzin7zqdqk/edit?USP=共享 所有收集的信息都非常简单,缺乏敏感的数据。如果您想退出,请通知我,我将最终在表单中生成该按钮。

学分

  • 谷歌-认证和视频上传
  • Phil Lopreiato-TBA可信API集成
  • wes jordan-python tba api层(https://github.com/thing342/pytba不再使用
  • tbapy-新的python tba api层
  • Josh Klar-2017年圣约瑟夫区的漏洞修复
  • Matthew Zacune-测试和功能理念
  • Internet-错误修复

附加脚本

所有脚本都是用python 3编写的,可以作为主脚本的参数调用,如下所示。

更新playlistthumbnails.py(frcuploader-t

此脚本将提示输入plAylist链接和缩略图的文件名。然后它会将播放列表中每个视频的每个缩略图更新为您提供的缩略图。这使得用新的缩略图更新旧的播放列表变得简单,这样您就可以保持外观一致。

updatetba.py(frcuploader-u

使用匹配视频强制更新bluealliance.com。提示将要求您提供必要的链接。如果您想发布赛事开幕式或其他非比赛视频,请链接到www.thebluealliance.com/event/[event_code]media

playlistotba.py(frcuploader-p

如果在使用此上载程序时由于任何原因未能发布到tba,则可以在之后使用此脚本自动将匹配视频链接到事件页面。程序会再次提示您输入链接,一旦您这样做,它将接管并更新TBA。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java中最小长度的字数计算   java事务处理JavaEE 6   java如何进行5分钟刷新并检查txt是否被修改?   java可以同时拖动多个对象   变量长、双精度、字节、字符在Java中的用途是什么?   spring将XMLBean配置转换为java配置   java检测不可靠网络上的TCP丢失   Java:TCP加密、SSL和Netty   在java中,如何使用isAssignableFrom的映射避免多个if-else   在J2EE动态Web项目中找不到java CSS文件   java遍历领域查询到RealmList   安卓阅读网站内容Java   java如何修改/自定义/反编译Opera mini jar文件?   java死锁播放框架如何使用控制器中的参数检查@RestrictedResource?   java在MS Excel中导入xml文件我们如何使用Python或任何其他编程语言自动化此流程?   java如何暂停正在运行的线程并在需要时重新启动同一线程?