0

我目前正在开发一个 rtsp 流语音转录器,作为一项测试任务,我正在考虑尝试为 youtube 流发送字幕。根据此链接,我在 Python 中的代码是:

post_fields = datetime.utcnow().strftime('%Y-%m-%dT%H:%M:%S.%f')[:-3] + ' region:reg1#cue1' + "<br>" + word + '<br>'
headers = {'content-type': 'text/plain'}
url = self.youtube_link + '&seq=' + str(self.youtube_seq)
r = requests.post(url=url, data=post_fields.encode('utf-8'), headers=headers)
self.youtube_seq += 1

可悲的是,我可以从 youtube 收到的所有信息是:

400
2017-04-05T20:19:58.135
Can't parse HTTP POST body.

有没有人通过 POST 请求成功地为 youtube 直播发送字幕?

4

3 回答 3

1

你可以参考这个线程根据示例\n,确保在每条消息的末尾放置一个换行符,其中每条消息由时间和文本组成。

此外,请注意此实时字幕要求。为了向您的直播活动添加字幕,您需要将字幕发送到 YouTube,或者嵌入在视频中,或者通过支持的软件发送字幕,这些软件可以通过 HTTP POST 发送字幕。

于 2017-04-09T11:44:10.507 回答
1

这更像是一个评论而不是一个答案,但我还不能发表评论;除了 cc 文本之后的 \n 之外,我还必须在时间戳之后添加 \n 。没有它,它就行不通。试图卷曲,但我未能使其工作,而你的 python 脚本立即工作,提供一个插入 \n 。

于 2017-05-19T15:08:05.587 回答
0

@pkv 谢谢我只是想将您建议的代码更改添加到您的答案中,但我也没有足够的声誉来发表评论。这就是这项工作所需要的一切。

post_fields = datetime.utcnow().strftime('%Y-%m-%dT%H:%M:%S.%f')[:-3] + ' region:reg1#cue1\n' + "<br>" + word + '<br>\n'
于 2020-12-14T19:46:54.330 回答