如何将AWS Kinesis Video Stream GetMedia API输出解码为mp3 / wav?

问题描述 投票:0回答:1

我现在使用GetMedia API通过AWS Connect服务将数据提取到(Kinesis视频流)KVS我能够提取有效负载但是如何将此输出转换为mp3 / wav?我想将此输出摄取到AWS Transcribe服务,以获取AWS Connect服务提供给KVS的音频呼叫的文本格式。

以下代码的Payload输出如下:

00#AWS_KINESISVIDEO_CONTINUATION_TOKEND \的x87 .... \ x1faudio / L16;速率= 8000;通道= 1; \ x12T \ XC ...... 00" AWS_KINESISVIDEO_MILLIS_BEHIND_NOWD \的x87 \ X10 \ X00 \ X00 \ x074564302g \ xc8 \ X10 \ X00 \ X00 ^ E \ XA3 \ X10 \ X00 \ X00#AWS_KINESISVIDEO_CONTINUATION_TOKEND \的x87 \ X10 \ X00 \ X00 / 91343852333181432506572546233025969374566791063'

注意:上面的反应太长了,粘贴了一些。

import json
import boto3

kinesis_client = boto3.client('kinesisvideo', region_name='us-east-1')

response = kinesis_client.get_data_endpoint(
    StreamARN='arn:aws:kinesisvideo:us-east-1:47...,
    APIName='GET_MEDIA')

t = response['DataEndpoint']
video_client = boto3.client('kinesis-video-media', endpoint_url=t, region_name='us-east-1')
stream = video_client.get_media(
    StreamARN='arn:aws:kinesisvideo:us-east-1:47...',
    StartSelector={'StartSelectorType': 'EARLIEST'})

streamingBody = stream['Payload']
print(streamingBody.read())

请建议如何将有效负载输出转换为mp3 / wav等。

python-3.x amazon-web-services amazon-kinesis amazon-kinesis-agent apache-camel-aws-kinesis
1个回答
1
投票

我面临同样的问题,我可以将有效负载导出为S3作为原始文件但是当我听它时,它听起来不像是一个加密的会话。

我只是将有效负载保存到文件中。

f = open("myAudio.wav", 'w+b')
f.write(stream['Payload'].read())
f.close() 
© www.soinside.com 2019 - 2024. All rights reserved.