Как выполнить Amazon Connect -> AWS Kinesis Video Stream -> Lambda -> сохранить звуковые файлы .wav в S3 (потоковое вещание) - PullRequest
0 голосов
/ 09 апреля 2019

Попытка настроить Amazon Connect для разговора в прямом эфире с AWS Kinesis Video Streams, а затем запустить функцию Lambda (Python), которая использует GetMedia API, для выборки этой записи и отправки ее в определенную корзину S3.

В значительной степени застрял в этом преобразовании необработанного потока в .wav -> это вообще возможно сделать с помощью python? Нашел похожую реализацию, но всегда натыкался на Java (https://github.com/aws-samples/amazon-connect-realtime-transcription).

Мне просто нужно преобразовать этот поток, например, в формат .wav, чтобы впоследствии он мог воспроизводиться обычными аудиоплеерами и использоваться в качестве голосовой почты, а также в аналогичных случаях использования.

import json
import boto3
import time

bucket='kinesis-video-streams-random'
key = 'streams/latest.raw'

def lambda_handler(event, context):
    try:
        s3_client = boto3.client('s3',region_name='us-east-1')
        kinesis_client = boto3.client('kinesisvideo',region_name='us-east-1')

        get_ep = kinesis_client.get_data_endpoint(StreamARN='arn:aws:kinesisvideo:us-east-1:xxxxxxxxx:stream/xxxxxxxx',APIName='GET_MEDIA')

        t = get_ep['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:xxxxxxxxx:stream/xxxxxxxx',StartSelector={'StartSelectorType': 'EARLIEST'})

        s3_client.put_object(Bucket=bucket, Key=key, Body=stream['Payload'].read())
        print("Specific Kinesis Stream stored in the S3 bucket " + bucket)
    except Exception as e:
        return e

1 Ответ

0 голосов
/ 28 апреля 2019

Есть модуль python, называемый wave , который может быть полезен.Вы можете просто открыть необработанный файл и записать его вместе с модулем в файл .wav.Это то же самое, что и в Java Lambda.

Существует также ответ от abernert с примером

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...