我在 aws transcribe 中有几百个转录结果,我想获取所有转录文本并将其存储在一个文件中。有没有办法做到这一点,而无需单击每个转录结果并复制和粘贴文本?
问问题
1022 次
2 回答
2
您可以通过 AWS API 执行此操作。
例如,如果您使用的是 Python,则可以使用Python boto3 SDK:
list_transcription_jobs()
将返回转录作业名称列表- 对于每个作业,您可以调用
get_transcription_job()
,这将提供TranscriptFileUri
存储转录的位置。 - 然后,您可以使用
get_object()
从 Amazon S3 下载文件 - 然后,您的程序需要将每个文件的内容合并到一个文件中。
看看你是怎么做的。如果您遇到任何特定困难,请发布一个新问题,其中包含代码和问题解释。
于 2019-03-05T22:21:57.053 回答
1
我在 GitHub 上放了一个示例,展示了如何:
- 运行 AWS Transcribe 作业,
- 使用 Requests 包获取输出,
- 将输出写入控制台。
你应该能够很容易地为你的目的进行改装。这是一些代码,但如果您查看完整的示例,它会更有意义:
job_name_simple = f'Jabber-{time.time_ns()}'
print(f"Starting transcription job {job_name_simple}.")
start_job(
job_name_simple, f's3://{bucket_name}/{media_object_key}', 'mp3', 'en-US',
transcribe_client)
transcribe_waiter = TranscribeCompleteWaiter(transcribe_client)
transcribe_waiter.wait(job_name_simple)
job_simple = get_job(job_name_simple, transcribe_client)
transcript_simple = requests.get(
job_simple['Transcript']['TranscriptFileUri']).json()
print(f"Transcript for job {transcript_simple['jobName']}:")
print(transcript_simple['results']['transcripts'][0]['transcript'])
于 2020-09-14T18:36:45.670 回答