Closed BingLingGroup closed 3 years ago
给个目标样品看看 就是 json 和 vtt 文件里头应该长啥样 另外就是理论上 vtt 和 srt 是很类似的(格式)现有的 srt 下载应该已经够用了 专门要 vtt 的意义是啥?
总之要的是一个个词的 json ?
给几个视频链接拿来测试用
我说的是原版的json,就是youtube原本的自动字幕json格式问就,应该就是你处理的原版json,就是在控制台里搜索timedtext得到的。
在浏览器控制台-network中搜索timedtext即能找到。
意义是这样的,一般制作双语字幕,英文字幕要考虑句子意思的完整性,以方便翻译后的中文字幕与之对应,同时还要考虑句子不能太长,不能折行影响画面。所以就需要一定的断句。
但是定长度字幕时间轴和文本都是混乱的,如果去调整就要花费很多时间。现在如果借助字词级时间戳,使用类似 https://github.com/Sofronio/YouTubeTimeLineGenerator 的工具(当然我自己也有写专门的工具,可以直接读 https://github.com/1c7/Youtube-Auto-Subtitle-Download/issues/12#issuecomment-782792621 所说的json格式来处理),只要花1.2-1.5倍视频时间就可以调整好分句,从而得到相对准确的时间轴和准确的文本分句。
我知道很多搬运工或者翻译对英文字幕的质量要求不高,但如果想做高质量的双语字幕,准确的时间轴和恰当的文本分句是必须要做的。
大致明白了。 现在有2个选择,
{
"data": [{
"startTime": 0,
"endTime": 1000,
"text": "how"
},
{
"startTime": 1000,
"endTime": 1400,
"text": "land"
},
{
"startTime": 1400,
"endTime": 1500,
"text": "on"
},
{
"startTime": 1500,
"endTime": 1700,
"text": "mars"
}
]
}
顺带一说"完整字幕" https://www.youtube.com/watch?v=OrhQmxK7s5A
只有一整句的,没有一个个词的。 所以"字词级"只适用于自动字幕。
在做了,等我大概20分钟-1个小时
原版就可以,不需要简化。json只要自动字幕的,本来也是要字词级时间戳的,整句的搞json没意义。
我试了,很好,非常感谢。
好奇问一下你是推荐给了其他人用吗? 今天看了下总安装量有148个。他们都是 https://github.com/Sofronio/YouTubeTimeLineGenerator 的用户?
工作流程是: 从这个油猴脚本得到 .json 之后交给 YouTubeTimeLineGenerator 做合并得到 .srt?
就是好奇问问而已,因为我以为安装量不会超过10个。
我是在 https://github.com/Sofronio/YouTubeTimeLineGenerator/issues/7#issuecomment-791903519 这里提了一下,其他地方我就不清楚了
我自己写的工具和这个流程是差不多的,做合并
的过程实际上是手动的,只是借助这样一个工具把文本抽出来,然后在我手动分割完了以后,再把文本读入,就得到了同时在时间戳和文本上都分割了的结果,并导出成srt或者ass
嗯,好的,明白了~
我有工具可以人工处理字词级时间戳,这样方便在分割文本的同时就把时间轴也分割了。如果按照程序自带的定长度分句相当于忽略了字词级时间戳,同时也给后续处理带来了困难,毕竟无论是中文字幕,还是双语字幕都希望时间轴和英文原文有一定的对应关系。
youtube-dl也可以下载vtt自动字幕,但不能下载json自动字幕。感觉vtt和json不完全一样,个别视频如果加了人工字幕,似乎会下不到带有字词级时间戳的vtt自动字幕,但在控制台里找到的json自动字幕仍然有字词级时间戳,所以还是希望能有一个一键的工具方便使用。
另外,理论上,如果有自然语言处理的程序,可以直接给文本分句的话,利用字词级时间戳,就可以直接自动分割时间轴了,更方便制作双语字幕。当然这与本issue涉及的主题不太相关,我只是略微提一下,因为youtube自动字幕最让人头疼的就在于只有字词级时间戳,没有句子级时间戳。