稳健地确定 YouTube 视频中使用的语言

问题描述 投票:0回答:1

根据 YouTube API 文档,人们应该能够使用

list
端点确定 YouTube 视频中所说的语言。特别是,语言代码位于响应中:
response['items'][0]['snippet']['defaultAudioLanguage']

这在大多数情况下都有效。但是,某些视频,例如这个,在

defaultAudioLanguage
中没有
snippet
。为什么会发生这种情况?在这种情况下如何确定视频中所说的语言?

youtube-api google-api-python-client
1个回答
0
投票

defaultAudioLanguage
大概 指的是视频作者在 Youtube 视频详细信息部分中设置的任何内容:

所有这些字段都是可选的。

我可能会使用 whisper.cpp 来检测给定音频中的口语(下载 YouTube 视频的音频作为练习,但有一些工具可以实现这一点);一旦您手头有视频,您可以将其转换为 16khz WAV(这是 tweet.cpp

main
工具支持的唯一格式),并将
-dl
(检测到语言后退出)传递给该工具:

~/b/whisper.cpp $ ffmpeg -i myvideo.mp4 -an -ac 1 -ar 16000 myaudio.wav
~/b/whisper.cpp $ ./main -dl -m models/ggml-medium-q5_0.bin myaudio.wav
[...]
whisper_full_with_state: auto-detected language: fi (p = 0.997451)
[...]
~/b/whisper.cpp $

在我的机器上,对于一个长达一小时的视频,这需要大约 2 秒的时间。

© www.soinside.com 2019 - 2024. All rights reserved.