给出以下字符串:
00:00:03:13 9420 9454 5bcb 45d9 c24f c152 c449 cec7 94f2 c1ce c420 434f cdd0 d554 4552 20ce 4f49 d345 d35d
我如何将其转换为文字?
答案 0 :(得分:2)
pycaption是我找到的图书馆。 pip install pycaption
并尝试解析您的示例:
from pycaption import SCCReader
input = '00:00:03:13 9420 9454 5bcb 45d9 c24f c152 c449 cec7 94f2 c1ce c420 434f cdd0 d554 4552 20ce 4f49 d345 d35d'
contents = SCCReader().read(input.decode('utf-8'))
contents.get_captions('en-US')
您将收到错误:
pycaption.exceptions.CaptionReadNoCaptions: CaptionReadNoCaptions((u'empty caption file',))
那是因为SCC不仅包含编码文本,还包含命令。前2个字节9420
表示“启动弹出式标题”。拖尾942f
(标题结束)是为了正确显示文本。但是你的样本中缺少它。我认为这是你没有粘贴的以下部分。同时,SCC文件的第一行应该是版本格式。让我们在你的样本中添加2行:
input = '''Scenarist_SCC V1.0
00:00:03:13 9420 9454 5bcb 45d9 c24f c152 c449 cec7 94f2 c1ce c420 434f cdd0 d554 4552 20ce 4f49 d345 d35d
00:00:04:00 942f
'''
然后输出为:
[u'00:00:04.037 --> 00:00:00.000\n[KEYBOARDING\nAND COMPUTER NOISES]']