Youtube直播流媒体字幕

时间:2017-04-05 20:51:01

标签: python youtube youtube-api youtube-livestreaming-api captions

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

3 个答案:

答案 0 :(得分:0)

您可以参考此thread。确保在每封邮件的末尾添加一个换行符\n,其中每封邮件由时间和文本组成,符合example

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

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