[英]Convert SCC (two-byte hexadecimal words) to string
给定以下字符串:
00:00:03:13 9420 9454 5bcb 45d9 c24f c152 c449 cec7 94f2 c1ce c420 434f cdd0 d554 4552 20ce 4f49 d345 d35d
我如何将其转换为文本?
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不仅包含编码的文本,而且内部还包含命令。 前两个字节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]']
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.