如何检查视频中任何 YouTube 视频上未发布的字幕

2024-04-29

我正在尝试构建一个自动化程序,如果视频上有草稿字幕,它会提醒我。最近有一些粗俗的字幕被添加到我的视频中,但被抓为草稿。

我使用此示例作为基础,但当我尝试检查视频时,它仅提供已发布的视频字幕信息。我查看了 api 文档,看来我也应该看到处于草稿状态的字幕。

https://github.com/youtube/api-samples/blob/master/python/captions.py https://github.com/youtube/api-samples/blob/master/python/captions.py

def get_authenticated_service(args):
  flow = flow_from_clientsecrets(CLIENT_SECRETS_FILE, scope=YOUTUBE_READ_WRITE_SSL_SCOPE,
    message=MISSING_CLIENT_SECRETS_MESSAGE)

  storage = Storage("%s-oauth2.json" % sys.argv[0])
  credentials = storage.get()

  if credentials is None or credentials.invalid:
    credentials = run_flow(flow, storage, args)

  # Trusted testers can download this discovery document from the developers page
  # and it should be in the same directory with the code.
  with open("youtube-v3-api-captions.json", "r") as f:
    doc = f.read()
    return build_from_document(doc, http=credentials.authorize(httplib2.Http()))


# Call the API's captions.list method to list the existing caption tracks.
def list_captions(youtube, video_id):
  results = youtube.captions().list(
    part="snippet",
    videoId=video_id

  ).execute()

  for item in results["items"]:
    id = item["id"]
    name = item["snippet"]["name"]
    language = item["snippet"]["language"]
    print("Caption track '%s(%s)' in '%s' language." % (name, id, language))

  return results["items"]

args = argparser.parse_args()
youtube = get_authenticated_service(args)

print(list_captions(youtube,"my-video"))

我希望 print(list_captions(youtube,"my-video")) 将有关视频可用的所有字幕的信息打印到我的控制台,包括处于草稿模式的不同语言的字幕。我对我的一个视频进行了测试,我希望出现波兰语的草稿字幕轨道,但只有英语和自动字幕出现:

Caption track '(XP6L39GAE3cGDethMwzyWkLZChESxt5MnCNokggzJnY=)' in 'ja' language.
Caption track '(zKBRyKIAn6BOtdpekvePw4qtM-_w7Jcv)' in 'en' language.
[{'kind': 'youtube#caption', 'etag': '"Bdx4f4ps3xCOOo1WZ91nTLkRZ_c/9AEECTD98uML9khnVlJ9I3nZyBk"', 'id': 'XP6L39GAE3cGDethMwzyWkLZChESxt5MnCNokggzJnY=', 'snippet': {'videoId': 'RYx1P_z9tNk', 'lastUpdated': '2019-02-20T09:07:56.247Z', 'trackKind': 'ASR', 'language': 'ja', 'name': '', 'audioTrackType': 'unknown', 'isCC': False, 'isLarge': False, 'isEasyReader': False, 'isDraft': False, 'isAutoSynced': False, 'status': 'serving'}}, {'kind': 'youtube#caption', 'etag': '"Bdx4f4ps3xCOOo1WZ91nTLkRZ_c/kxbjbXbUxo9fiHaH8bj_pUuttwg"', 'id': 'zKBRyKIAn6BOtdpekvePw4qtM-_w7Jcv', 'snippet': {'videoId': 'RYx1P_z9tNk', 'lastUpdated': '2019-02-20T16:43:48.873Z', 'trackKind': 'standard', 'language': 'en', 'name': '', 'audioTrackType': 'unknown', 'isCC': False, 'isLarge': False, 'isEasyReader': False, 'isDraft': False, 'isAutoSynced': False, 'status': 'serving'}}]
Caption track '(XP6L39GAE3cGDethMwzyWkLZChESxt5MnCNokggzJnY=)' in 'ja' language.
Caption track '(zKBRyKIAn6BOtdpekvePw4qtM-_w7Jcv)' in 'en' language.

视频中存在有关字幕的屏幕截图:


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何检查视频中任何 YouTube 视频上未发布的字幕 的相关文章

随机推荐

  • Twitter Bootstrap 3 的 IE8 问题

    我正在使用新的 Twitter Bootstrap 创建一个网站 该网站看起来不错 并且可以在除 IE8 之外的所有必需浏览器中运行 在 IE8 中 它似乎显示移动版本的元素 但在我的桌面的整个屏幕上延伸 我相信我遇到的问题是 Twitte
  • 在 Google Dart 中使用游戏手柄

    我正在寻找代码示例Google Dart 的游戏手柄 API https api dartlang org apidocs channels be dart dom html Gamepad 我尝试直接依赖 API 文档并尝试为其编写一个实
  • dev_t 和 ino_t 是否必须是整数类型?

    glibc 的文档保留它们是整数类型 不比 unsigned int 窄 但我没有找到说明它们必须是整数类型的标准参考 另请参阅 time t 所以最后 问题就变成了 include
  • 如何从与桌面交互的应用程序与 Windows 服务进行通信?

    使用 Net 与服务交互的最佳方式是什么 即大多数托盘应用程序如何与其服务器通信 如果这个方法也是跨平台的 那就更好了 在 Mono 中工作 所以我猜远程处理已经过时了 Edit 忘了说了 我们仍然需要在现场支持 Windows 2000
  • 非数字输入导致死循环

    由于某种原因 如果用户输入了错误的数据类型 例如 j 或 循环将停止要求输入并继续显示 Enter an integer gt 一遍又一遍 如何让程序处理错误的输入 为什么输入非数字值会导致如此奇怪的行为 define SENTINEL 0
  • 如何从 .NET DataGridView 控件单元格值写入文本文件?

    我有以下代码应该循环遍历我的所有行DataGridView 并将其所有单元格值写入文本文件 但是 它输出所有行 但仅输出每行的第一个单元格 而不输出其他三个单元格 string file name C test1 txt var objWr
  • 如何将svn文件夹上一级

    我需要将 svn 文件夹移至上一级并保留所有历史记录 所有文件和目录来自https myserver com svn Project trunk into https myserver svn Project 我使用一个命令 svn mov
  • 如何使用 jsdom 从 Service Worker(后台脚本)操作 chrome 扩展 V3 中的 DOM?

    我正在尝试在后台脚本中操作 HTML 字符串 该字符串在 chrome 扩展 V3 中使用服务工作人员 在迁移文档中提到使用 jsdom 来访问 DOMParser https developer chrome com docs exten
  • 设置 eclipse 进行 Windows 驱动程序开发

    我正在尝试使用 WDK 7 1 0 编写用户模式 Windows XP Vista 和 7 虚拟打印机驱动程序 我打算使用 eclipse IDE 进行开发 所以想知道是否可以进行相同的设置 我希望做以下事情 1 Eclipse 能够识别
  • GitLab CI语法来编写FOR循环语句?

    以下是 gitlab ci yml 文件中提到的脚本 此 GitLab CI 配置有效 但是 当运行 CI CD 构建时 作业会失败 与 FOR 循环语法有关吗 deploy dv stage deploy dv variables GIT
  • 返回数据集的 kSoap 和 .Net Web 服务

    我知道使用数据集是一个很大的罪恶 但由于该服务不在我的控制之下 并且创建代理服务的前景是不可能的 我想看看是否有人创建了可以使用 kSoap 序列化器反序列化的类结构 或者我是否吸错了东西 同时要启动它 看看是否可行 以下是预期的结果数据
  • 为什么“模型尚未加载”?

    我正在尝试使用 customUser 安装 django registration redux 我已将其包含在我的 settings py 中 AUTH USER MODEL app customUser 注册表位于目录 registrat
  • 使用 api php 使用通配符从 S3 中删除

    我有这个工作代码可以从 s3 中删除文件和文件夹 如何使用通配符 进行删除 s3 new AmazonS3 bucket mybucket folder myDirectory this doesnt work response s3 gt
  • 如何以编程方式滚动 Horizo​​ntalScrollView

    我有一个HorizontalScrollView其中包含一个RelativeLayout 该布局在 XML 中为空 并由 onCreate 中的 java 填充 我希望这个滚动视图最初位于中间的某个位置RelativeLayout 它比屏幕
  • 缓冲区溢出(与)缓冲区溢出(与)堆栈溢出[重复]

    这个问题在这里已经有答案了 可能的重复 堆栈溢出和缓冲区溢出有什么区别 https stackoverflow com questions 1120575 what is the difference between a stack ove
  • PHP/regex:如何获取HTML标签的字符串值?

    我需要有关正则表达式的帮助或preg match http php net preg match因为我对这些还没有那么丰富的经验 所以这就是我的问题 我需要获取值 get me 但我认为我的函数有错误 html 标签的数量是动态的 它可以包
  • 将文件夹中结构化的预构建文件集添加到 android out 文件夹

    我为arm编译了glibc 这与Android glibc或bionic C不同 因为我编译的glibc环境将有助于提供更多api 现在我可以在 Android 运行时将 glibc 环境复制到 system 文件夹中 并且在执行 chro
  • git rebase 冲突是由哪个提交引起的

    当我执行 git rebase master 时 有时会发生冲突 有时 即使有错误消息 也很难追踪问题 如果我能找出 git 正在尝试重新申请并导致冲突的提交 这将是一个真正的帮助 如何找出哪个提交导致了冲突 查看冲突的文件 以开头的行 g
  • 如何在 C# 中获取包含表情符号的字符串的正确长度

    The 英语国旗表情符号 https emojipedia org flag for england 由 14 个字节的数据组成 组合后将呈现一个字符 如果我有如下所示的代码 var test ud83c udff4 udb40 udc67
  • 如何检查视频中任何 YouTube 视频上未发布的字幕

    我正在尝试构建一个自动化程序 如果视频上有草稿字幕 它会提醒我 最近有一些粗俗的字幕被添加到我的视频中 但被抓为草稿 我使用此示例作为基础 但当我尝试检查视频时 它仅提供已发布的视频字幕信息 我查看了 api 文档 看来我也应该看到处于草稿