Youtube 直播字幕

Youtube Live streaming captions

我目前正在开发一个 rtsp 流语音转录器,作为一项测试任务,我正在考虑尝试为 youtube 流发送字幕。 根据 this link 我在 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 直播发送字幕?

你可以参考这个thread. Make sure that you put a new line character \n at the end of each message where each message consists of a time and a text according to the example

另外,注意这个Live caption requirements。要为直播活动添加字幕,您需要将字幕嵌入视频或通过可通过 HTTP POST 发送字幕的受支持软件向 YouTube 发送字幕。

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

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

post_fields = datetime.utcnow().strftime('%Y-%m-%dT%H:%M:%S.%f')[:-3] + ' region:reg1#cue1\n' + "<br>" + word + '<br>\n'